IFilterMapper2::RegisterFilter 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 RegisterFilter
将筛选器信息添加到注册表。
语法
HRESULT RegisterFilter(
[in] REFCLSID clsidFilter,
[in] LPCWSTR Name,
[in, out] IMoniker **ppMoniker,
[in] const CLSID *pclsidCategory,
[in] LPCOLESTR szInstance,
[in] const REGFILTER2 *prf2
);
参数
[in] clsidFilter
类标识符 (筛选器的 CLSID) 。
[in] Name
筛选器的描述性名称。
[in, out] ppMoniker
指向确定此筛选器数据写入位置的设备名字对象的指针的地址。 可以为 NULL。
[in] pclsidCategory
指向筛选器的筛选器类别的指针。 如果 为 NULL,则默认类别为CLSID_ActiveMovieFilters。 (请参阅 筛选器类别。)
[in] szInstance
用于构造设备名字对象的显示名称的实例数据。 可以是筛选器 CLSID 的友好名称或字符串表示形式。 如果 为 NULL,则默认为筛选器 CLSID。
[in] prf2
指向包含筛选器信息的 REGFILTER2 结构的指针。
返回值
返回 HRESULT 值。 可能的值包括下表中显示的值。
返回代码 | 说明 |
---|---|
|
成功。 |
|
无法获取注册表项。 |
注解
此方法在指定筛选器类别的注册表项下,将有关筛选器的信息添加到注册表中。 它不会注册创建筛选器的进程内服务器, (通常为 DLL) 。 若要注册服务器,可以调用 AMovieDllRegisterServer2 函数。
对于 ppMoniker 参数,请使用下列方法之一:
- 现有设备名字对象的 IMoniker 接口指针的地址
- NULLIMoniker 接口指针的地址
- NULL
否则, 方法将创建一个新的名字对象。 如果 ppMoniker 为非 NULL,该方法将 *ppMoniker 设置为指向新的名字对象。 应用程序可以使用此名字对象在属性包中写入其他私有值。 请务必释放 接口。
如果不想提供或接收名字对象,请将 ppMoniker 设置为 NULL 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |