为什么有这么多方法可以在directshow中获得过滤器图形管理器?

时间:2010-08-19 13:10:41

标签: c++ directshow

方式1:

HRESULT hr = CoCreateInstance(CLSID_FilterGraph, NULL, 
    CLSCTX_INPROC_SERVER,IID_PPV_ARGS(&pGraph));

方式2:

hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, 
                    IID_IGraphBuilder, (void **)&pGraph);

有什么区别,为什么?

1 个答案:

答案 0 :(得分:0)

IID_PPV_ARGS宏

用于检索接口指针,根据所使用的接口指针的类型自动提供所请求接口的IID值。这可以通过检查编译时传递的值的类型来避免常见的编码错误。

MSDN link