调用CoCreateInstance 函数创建IGraphBuilder 返回值-2147221008 出现错误--directx9 directshow

调用CoCreateInstance 函数创建IGraphBuilder 返回值-2147221008 出现错误

 

使用如下函数创建IGraphBuilder,返回的值pGraph  为-2147221008

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

 

经过查找网页,

 

 

https://delphi.ktop.com.tw/board.php?cid=168&fid=921&tid=44511 这个网页解决了这个问题,

加一个CoInitialize(0) 函数即可。

修改后的代码如下:

 IGraphBuilder *pGraph = NULL;
 HRESULT hr = NULL;
 hr=CoInitialize(0);
 CoCreateInstance(CLSID_FilterGraph,NULL,
  CLSCTX_INPROC_SERVER,IID_IGraphBuilder,(void**)&pGraph);

这样返回的就正确了。
 

你可能感兴趣的:(调用CoCreateInstance 函数创建IGraphBuilder 返回值-2147221008 出现错误--directx9 directshow)