返回信息流HRESULT CCaptureVideo::InitCaptureGraphBuilder()
{
HRESULT hr;
hr = CoInitialize(NULL); //在使用COM组件前,先进行COM的初始化。
// 创建IGraphBuilder接口
hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&m_pGB);
// 创建ICaptureGraphBuilder2接口
hr = CoCreateInstance(CLSID_CaptureGraphBuilder2, NULL, CLSCTX_INPROC, IID_ICaptureGraphBuilder2, (void **)&m_pCapture);
if (FAILED(hr))return hr;
m_pCapture->SetFiltergraph(m_pGB);
hr = m_pGB->QueryInterface(IID_IMediaControl, (void **)&m_pMC);
if (FAILED(hr))return hr;
hr = m_pGB->QueryInterface(IID_IVideoWindow, (LPVOID *)&m_pVW);
if (FAILED(hr))return hr;
return hr;
}
代码如上,其实就是参考网上别人的写的,在32位下编译成exe或者dll都能正常运行,在64位下编译成exe也可以正常运行,但是dll的话,运行到hr = m_pGB->QueryInterface(IID_IMediaControl, (void **)&m_pMC);这一句时程序就会崩溃掉 = =
实在不知道是为什么以及怎么解决,而且dll实在不知道应该怎么调试。。麻烦大家帮忙看一下。。。
这是一条镜像帖。来源:北邮人论坛 / cpp / #88540同步于 2015/9/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
用directshow写视频拍照功能编译成64位dll后运行,QueryInterfa
jufds7788
2015/9/9镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复