我以前是把directshow的相关操作写成一个类,后来想写成dll形式。
因为已经写好了一个类,准备直接把这个类输出(用class __declspec(dllexport))
输出后,调用类里的方法没什么问题,但是在第一句
hr = CoCreateInstance (CLSID_FilterGraph, NULL, CLSCTX_INPROC,
IID_IGraphBuilder, (void **) &g_pGraph);时就出现了hr为0x800401f0的错误。进一步显示是没有coinitalize.
我该怎么办?
解决方法:
在大部分COM API函数调用之前都必须调用CoInitalize或CoInitalizeEx进行COM库的初始化
DirectShow DLL导出问题
本文探讨了将DirectShow操作封装为DLL时遇到的问题。作者尝试将一个已有的类导出到DLL中,并在调用COM API前进行初始化时遇到了错误。文章提供了具体的错误代码并给出了解决方案。
2882





