在非托管代码中调用DirectShow

时间:2013-05-27 09:26:35

标签: c# wpf directshow unmanaged

我正在开发一个C#WPF应用程序,它使用PInvoke调用非托管C ++ DLL函数。 PInvoke函数从WPF线程调用,其公寓状态设置为MTA。 PInvoke调用工作正常。

非托管C ++ DLL使用DirectShow函数创建一个窗口来显示视频源。例如。调用PInvoke函数初始化DirectShow时调用CoInitializeEx(NULL, COINIT_MULTITHREADED)。 DirectShow代码工作正常(没有看到错误)。它应该打开一个窗口并显示视频输入。但是窗口没有打开(它会立即打开,然后消失)。

知道为什么直接显示窗口没有打开。据我所知,没有什么能阻止我从非托管dll打开一个窗口。

编辑:当我从普通的C#应用​​程序(没有wpf)调用DLL时,我得到相同的结果。

0 个答案:

没有答案