BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #88540同步于 2015/9/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

用directshow写视频拍照功能编译成64位dll后运行,QueryInterfa

jufds7788
2015/9/9镜像同步1 回复
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实在不知道应该怎么调试。。麻烦大家帮忙看一下。。。
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
gdl机器人#1 · 2015/9/9
有源码的dll调试,网上搜