MFCreateTransformActivate 函式 (mftransform.h)

建立媒體基礎轉換的泛型啟用物件, (MFT) 。

語法

HRESULT MFCreateTransformActivate(
  [out] IMFActivate **ppActivate
);

參數

[out] ppActivate

接收 IMFActivate 介面的指標。 呼叫端必須釋放 介面。

傳回值

如果此函式成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

大部分的應用程式都不會使用此函式; MFTEnumEx 函式會在內部使用。

啟用物件是協助程式物件,可建立另一個物件,與類別處理站稍有類似。 MFCreateTransformActivate函式會建立 MFT 的啟用物件。 在這個啟用物件可以建立 MFT 之前,呼叫端必須先在它上設定一或多個屬性來初始化啟用物件。

屬性 描述
MFT_TRANSFORM_CLSID_Attribute 必要。 包含 MFT 的 CLSID。 啟用物件會將此 CLSID 傳遞至 CoCreateInstance 函式,以建立 MFT。
MF_TRANSFORM_CATEGORY_Attribute 選擇性。 指定 MFT 的類別。
MF_TRANSFORM_FLAGS_Attribute 包含描述 MFT 的各種旗標。 針對硬體型 MFT,請設定 MFT_ENUM_FLAG_HARDWARE 旗標。 否則,這個屬性是選擇性的。
MFT_CODEC_MERIT_Attribute 選擇性。 包含硬體編解碼器的優點值。

如果設定此屬性且其值大於零,則啟用物件會呼叫 MFGetMFTMerit 以取得 MFT 的信任價值值。 如果受信任的優點小於此屬性的值,則啟用物件的 IMFActivate::ActivateObject 方法會失敗並傳回 MF_E_INVALID_CODEC_MERIT

MFT_ENUM_HARDWARE_URL_Attribute 硬體型 MFT 的必要專案。 指定硬體裝置的符號連結。 裝置 Proxy 會使用此值來設定 MFT。
MFT_FIELDOFUSE_UNLOCK_Attribute 選擇性。 包含 IMFFieldOfUseMFTUnlock 指標,可用來解除鎖定 MFT。 IMFFieldOfUseMFTUnlock介面會與具有使用限制的 MFT 搭配使用。

如果已設定此屬性,且 MF_TRANSFORM_FLAGS_Attribute 屬性包含 MFT_ENUM_FLAG_FIELDOFUSE 旗標,則啟用物件會在建立 MFT 時呼叫 IMFFieldOfUseMFTUnlock::Unlock 。 應用程式也可以設定 MFT_FIELDOFUSE_UNLOCK_Attribute 屬性,而不需設定 MFT_ENUM_FLAG_FIELDOFUSE 旗標。 在此情況下,應用程式必須呼叫 Unlock

MFT_PREFERRED_ENCODER_PROFILE 選擇性。 包含編碼器的編碼設定檔。 此屬性的值是 IMFAttributes 指標。

如果已設定這個屬性,而且 MF_TRANSFORM_CATEGORY_Attribute 屬性的值 是MFT_CATEGORY_AUDIO_ENCODERMFT_CATEGORY_VIDEO_ENCODER,則啟用物件會使用編碼設定檔來設定 MFT。 MFT 必須針對此目的公開 ICodecAPIIPropertyStore

MFT_PREFERRED_OUTPUTTYPE_Attribute 選擇性。 指定編碼器的慣用輸出格式。

如果此屬性設定且 MF_TRANSFORM_CATEGORY_Attribute 屬性值 是MFT_CATEGORY_AUDIO_ENCODERMFT_CATEGORY_VIDEO_ENCODER,則啟用物件會在 MFT 上設定此媒體類型。

 

如需啟用物件的詳細資訊,請參閱 啟用物件

需求

   
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限桌面應用程式]
目標平台 Windows
標頭 mftransform.h
程式庫 Mfplat.lib
Dll Mfplat.dll

另請參閱

啟用物件

媒體基礎函式

媒體基礎轉換