要创建过滤器图形,首先创建一个过滤器图形管理器的实例:
IGraphBuilder* pIGB;
HRESULT hr = CoCreateInstance(CLSID_FilterGraph,
NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder,
(void **)&pIGB);
Filter Graph Manager支持如下构建方式:
·IFilterGraph :: ConnectDirect试图在两个引脚之间建立直接连接。 如果引脚无法连接,则该方法失败。
·IGraphBuilder :: Connect连接两个引脚。 如果可能,它会直接连接。 否则,它使用中间过滤器来完成连接。
·IGraphBuilder ::Render从一个输出引脚开始,然后构建图形的其余部分。 此方法根据需要添加过滤器,在下游工作,直到它到达渲染器过滤器。
·IGraphBuilder :: RenderFile构建完整的文件回放图;
·IFilterGraph :: AddFilter为图形添加一个过滤器。 它不连接过滤器。 您必须在调用此方法之前创建筛选器,方法是调用CoCreateInstance或使用Filter Mapper或System Device Enumerator。
这些方法提供了三种基本的构建方法:
1.Filter Graph Manager构建整个图形
2.Filter Graph Manager构建图的一部分
3.应用程序构建整个图形
The Filter Gra