1

这是一个难以重现的错误,但我终于设法重现了它。但是,我对可能导致它的原因没有清楚的了解。我目前正试图让自己克服这个错误并找出错误的根源。

想知道是否有人可以给我一些方向或提示。


我的程序在 Directshow 过滤器图中的停止函数中死锁。

这是调用堆栈:

ntdll.dll!_ZwDeviceIoControlFile@40()  + 0x15 bytes 
ntdll.dll!_ZwDeviceIoControlFile@40()  + 0x15 bytes 
KernelBase.dll!_CreateEventExW@16()  + 0x6e bytes   
ksproxy.ax!SetState()  + 0x3e bytes 
ksproxy.ax!Inactive()  + 0x3d bytes 

ksproxy.ax!CKsOutputPin::Inactive() + 0x1d 字节
ksproxy.ax!CKsProxy::Stop() + 0x59 字节
quartz.dll!CFilterGraph::Stop() + 0x123f3 字节
quartz.dll!CFGControl::CImplMediaControl::Stop () + 0x12dba 字节 <--- 直接调用 *cam.dll!UVCCamera::Shutdown() 第 140 行 + 0x1b 字节 C++ cam.dll!anonymous namespace'::closeCamera(unsigned int hCamera) Line 297 C++ cam.dll!匿名命名空间'::CoreThreadFunc(void * data) 第 916 行 + 0xb 字节 C++ kernel32.dll!@BaseThreadInitThunk@12() + 0x12 字节
ntdll.dll!__ RtlUserThreadStart@8() + 0x27 字节
ntdll.dll!
_RtlUserThreadStart@8() + 0x1b 字节*

4

1 回答 1

0

我可能已经通过使用下面链接末尾描述的方法解决了这个问题:

http://social.msdn.microsoft.com/Forums/en-US/windowsdirectshowdevelopment/thread/53563921-6398-491c-999c-3bfaa2f218ca/

现在我得到了一个不同的错误!

于 2013-04-06T00:17:03.147 回答