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_ENCODER 或 MFT_CATEGORY_VIDEO_ENCODER,則啟用物件會使用編碼設定檔來設定 MFT。 MFT 必須針對此目的公開 ICodecAPI 或 IPropertyStore 。 |
MFT_PREFERRED_OUTPUTTYPE_Attribute |
選擇性。 指定編碼器的慣用輸出格式。
如果此屬性設定且 MF_TRANSFORM_CATEGORY_Attribute 屬性值 是MFT_CATEGORY_AUDIO_ENCODER 或 MFT_CATEGORY_VIDEO_ENCODER,則啟用物件會在 MFT 上設定此媒體類型。 |
如需啟用物件的詳細資訊,請參閱 啟用物件。
需求
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | mftransform.h |
程式庫 | Mfplat.lib |
Dll | Mfplat.dll |