IBaseFilter::JoinFilterGraph 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 JoinFilterGraph
通知筛选器它已联接或离开筛选器图。
语法
HRESULT JoinFilterGraph(
[in] IFilterGraph *pGraph,
[in] LPCWSTR pName
);
参数
[in] pGraph
指向筛选器关系图管理器的 IFilterGraph 接口的指针;如果筛选器离开图形,则为 NULL 。
[in] pName
指向指定筛选器名称的宽字符字符串的指针。
返回值
如果成功,则返回S_OK,或返回指示错误原因的 HRESULT 值。
注解
当筛选器关系图管理器将筛选器添加到筛选器关系图时,它会使用指向其自身的指针调用此方法。 它通过 pName 参数为筛选器的此实例分配名称。 可以通过调用 IBaseFilter::QueryFilterInfo 方法检索该名称。
当筛选器关系图管理器从图形中删除筛选器时,它会使用 NULL 指针调用此方法。
应用程序绝不应调用此方法。 若要向图形添加筛选器,请在筛选器关系图管理器上调用 IFilterGraph::AddFilter 方法。
筛选器开发人员:筛选器可以存储 IFilterGraph 接口指针,并查询其他 Filter Graph Manager 接口。 但是,它不得在筛选器关系图管理器上保留引用计数。 这样做会创建循环引用计数,因为筛选器关系图管理器会保留筛选器上的引用计数。 循环引用计数会阻止接口正确释放,这可能导致死锁。 保证 IFilterGraph 接口有效,直到筛选器关系图管理器再次使用 NULL 值调用此方法。 有关此方法的实现,请参阅 CBaseFilter::JoinFilterGraph 方法。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |