调用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);
这样返回的就正确了。
本文介绍了一个关于DirectShow编程中使用CoCreateInstance创建IGraphBuilder接口实例时遇到的错误(-2147221008),并提供了解决方案——在创建之前调用CoInitialize函数。
2550

被折叠的 条评论
为什么被折叠?



