调用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);
这样返回的就正确了。