IFilterGraph2::AddSourceFilterForMoniker 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 AddSourceFilterForMoniker
从 IMoniker 指针创建源筛选器,并将筛选器添加到图中。 例如,可以获取系统设备(如视频捕获设备)的名字对象,并为该设备添加视频捕获筛选器。 (有关系统设备名字对象的详细信息,请参阅 ICreateDevEnum interface.)
语法
HRESULT AddSourceFilterForMoniker(
[in] IMoniker *pMoniker,
[in] IBindCtx *pCtx,
[in] LPCWSTR lpcwstrFilterName,
[out] IBaseFilter **ppFilter
);
参数
[in] pMoniker
指向 IMoniker 接口的 指针。
[in] pCtx
指向 IBindCtx 绑定上下文接口的指针。
[in] lpcwstrFilterName
筛选器的名称。
[out] ppFilter
接收指向源筛选器的 IBaseFilter 指针的指针。 调用方必须释放接口。
返回值
返回 和 HRESULT 值。 可能的值包括以下值。
返回代码 | 说明 |
---|---|
|
成功。 |
|
成功;但指定的名称是重复的,因此 Filter Graph Manager 修改了该名称。 |
|
失败。 |
|
内存不足。 |
|
无法添加具有重复名称的筛选器。 |
|
无法加载 的源筛选器。 |
|
无法识别此文件的媒体类型。 |
备注
筛选器关系图管理器保留筛选器的引用计数,直到从图中删除筛选器或释放筛选器关系图管理器。
示例
C++ |
---|
IBaseFilter *pSource = NULL;IMoniker *pMoniker = NULL; |
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |