MFTRegister 函式 (mfapi.h)
將媒體基礎轉換的相關資訊 (MFT) 新增至登錄。
應用程式可以呼叫 MFTEnum 或 MFTEnumEx 函式來列舉 MFT。
語法
HRESULT MFTRegister(
[in] CLSID clsidMFT,
[in] GUID guidCategory,
[in] LPWSTR pszName,
[in] UINT32 Flags,
[in] UINT32 cInputTypes,
[in] MFT_REGISTER_TYPE_INFO *pInputTypes,
[in] UINT32 cOutputTypes,
[in] MFT_REGISTER_TYPE_INFO *pOutputTypes,
[in] IMFAttributes *pAttributes
);
參數
[in] clsidMFT
MFT 的 CLSID。 MFT 也必須使用相同的 CLSID 註冊為 COM 物件。
[in] guidCategory
指定 MFT 類別目錄的 GUID。 如需 MFT 類別清單,請參閱 MFT_CATEGORY。
[in] pszName
寬字元字串,其中包含 MFT 的易記名稱。
[in] Flags
從_MFT_ENUM_FLAG列舉中,位OR為零或多個下列旗標:
值 | 意義 |
---|---|
|
MFT 會在軟體中執行非同步處理。 請參閱 非同步 MFT。 此旗標不適用於硬體轉換。
需要 Windows 7。 |
|
應用程式必須解除鎖定 MFT 才能使用它。 請參閱 IMFFieldOfUseMFTUnlock。
需要 Windows 7。 |
|
MFT 會使用 AVStream 驅動程式或 GPU 型 Proxy MFT 來執行硬體型資料處理。 此類別中的 MFT 一律以非同步方式處理資料。 請參閱 硬體 MFT。
注意 此旗標適用于完全在硬體中執行其工作的視訊編解碼器和視訊處理器。 它不適用於使用 DirectX 影片加速來協助解碼的軟體解碼器。
|
|
MFT 會在軟體中執行同步處理。 此旗標不適用於硬體轉換。 |
|
MFT 已針對轉碼進行優化,不應用於播放。
需要 Windows 7。 |
將 旗標 設定為零相當於設定 MFT_ENUM_FLAG_SYNCMFT 旗標。 MFT 的預設處理模型是同步處理。
在 Windows 7 之前,已保留 Flags 參數。
[in] cInputTypes
pInputTypes陣列中的元素數目。
[in] pInputTypes
MFT_REGISTER_TYPE_INFO結構的陣列指標。 陣列的每個成員都會指定 MFT 支援的輸入格式。 此參數可以是 Null。
此參數可以是 Null。 不過,如果 參數為 Null,只有在應用程式指定所需輸入類型的 Null 時,才會列舉 MFT。
[in] cOutputTypes
pOutputTypes陣列中的元素數目。
[in] pOutputTypes
MFT_REGISTER_TYPE_INFO結構的陣列指標。 陣列的每個成員都會定義 MFT 支援的輸出格式。
此參數可以是 Null。 不過,如果 參數為 Null,只有在應用程式指定所需輸出類型的 Null 時,才會列舉 MFT。
[in] pAttributes
包含其他登錄資訊之屬性存放區之 IMFAttributes 介面的指標。 此參數可以是 Null。 如果參數為非Null,則屬性會以位元組陣列的形式寫入登錄。 您可以使用 MFTGetInfo 函式來擷取屬性。
此參數定義了下列屬性:
值 | 意義 |
---|---|
包含硬體編解碼器的優點值。 請參閱 編解碼器優點。 |
傳回值
如果此函式成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
此函式所建立的登錄專案是由下列函式讀取:
函式 | 描述 |
---|---|
MFTEnum | 依媒體類型和類別列舉 MFT。 |
MFTEnumEx | MFTEnum的擴充版本。 |
MFTGetInfo | 依 CLSID 查閱 MFT 並擷取登錄資訊。 |
此函式不會為 CoCreateInstance 或 CoGetClassObject 函式註冊 MFT 的 CLSID。
若要從登錄中移除專案,請呼叫 MFTUnregister。 如果您從系統移除 MFT,您應該一律呼叫 MFTUnregister。
pInputTypes和pOutputTypes參數中提供的格式旨在協助應用程式依格式搜尋 MFT。 應用程式可以使用MFTEnum 或 MFTEnumEx函式來列舉符合特定格式集的 MFT。
建議在 pInputTypes 中指定至少一個輸入類型,並在 pOutputTypes 參數中指定一個輸出類型。 否則,可能會在列舉中略過 MFT。
在 64 位 Windows 上,此函式的 32 位版本會在登錄的 32 位節點中註冊 MFT。 如需詳細資訊,請參閱登錄 中的 32 位和 64 位應用程式資料。
需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | mfapi.h |
程式庫 | Mfplat.lib |
Dll | Mfplat.dll |