MFTRegisterLocalByCLSID 函数 (mfapi.h)

在调用方进程中 (MFT) 注册媒体基础转换。

语法

HRESULT MFTRegisterLocalByCLSID(
  [in] REFCLSID                     clisdMFT,
  [in] REFGUID                      guidCategory,
  [in] LPCWSTR                      pszName,
  [in] UINT32                       Flags,
  [in] UINT32                       cInputTypes,
  [in] const MFT_REGISTER_TYPE_INFO *pInputTypes,
  [in] UINT32                       cOutputTypes,
  [in] const MFT_REGISTER_TYPE_INFO *pOutputTypes
);

参数

[in] clisdMFT

类标识符 (MFT 的 CLSID) 。

[in] guidCategory

指定 MFT 类别的 GUID。 有关 MFT 类别的列表,请参阅 MFT_CATEGORY

[in] pszName

一个以 null 结尾的宽字符字符串,其中包含 MFT 的友好名称。

[in] Flags

_MFT_ENUM_FLAG枚举中零个或多个标志的按位 OR

[in] cInputTypes

pInputTypes 数组中的元素数。

[in] pInputTypes

指向MFT_REGISTER_TYPE_INFO结构的数组 指针。 数组的每个成员都指定 MFT 支持的输入格式。 如果 cInputTypes 为零,此参数可以为 NULL

[in] cOutputTypes

pOutputTypes 数组中的元素数。

[in] pOutputTypes

指向MFT_REGISTER_TYPE_INFO结构的数组 指针。 数组的每个成员定义 MFT 支持的输出格式。 如果 cOutputTypes 为零,此参数可以为 NULL

返回值

如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

此函数的主要用途是使 MFT 可用于自动拓扑解析,而无需使 MFT 可供其他进程或应用程序使用。

调用此函数后,可以通过使用 MFT_ENUM_FLAG_LOCALMFT 标志调用 MFTEnumEx 函数来枚举 MFT。 MFT 可以从同一进程中枚举,但对其他进程不可见。

若要从当前进程取消注册 MFT,请调用 MFTUnregisterLocalByCLSID

如果需要在受保护的媒体路径 (PMP) 进程中注册 MFT,请使用 IMFLocalMFTRegistration 接口。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 mfapi.h
Library Mfplat.lib
DLL Mfplat.dll

另请参阅

MFTRegisterLocal

媒体基础函数