C# 将DirectShow与WPF一起使用时出现偶发错误窗口

C# 将DirectShow与WPF一起使用时出现偶发错误窗口,c#,wpf,directshow,directshow.net,C#,Wpf,Directshow,Directshow.net,我已经建立了一个应用程序,显示两个平行的直接显示图形。此应用程序使用WPF,因此我评估了不同的解决方案,如WPFMediaKit和AVCapWPF 这两种解决方案通常都很好。但有时我会看到一个灰色的错误窗口,它看起来很像Windows2000,有一些关于CPU的信息,但旧的CPU信息,似乎不知道实际的CPU,当这个错误消息被设计并加载DLL时,但根本没有错误消息。窗口的标题只是一个错误 问题是错误偶尔发生,因此我不确定是否知道所有发生的情况,但已知以下错误情况: 构建direct show图形时

我已经建立了一个应用程序,显示两个平行的直接显示图形。此应用程序使用WPF,因此我评估了不同的解决方案,如WPFMediaKit和AVCapWPF

这两种解决方案通常都很好。但有时我会看到一个灰色的错误窗口,它看起来很像Windows2000,有一些关于CPU的信息,但旧的CPU信息,似乎不知道实际的CPU,当这个错误消息被设计并加载DLL时,但根本没有错误消息。窗口的标题只是一个错误

问题是错误偶尔发生,因此我不确定是否知道所有发生的情况,但已知以下错误情况:

构建direct show图形时发生错误,导致仅加载和显示一个图形 在生成两个图之前发生错误,这将导致加载和显示两个图 错误不取决于图表中使用的筛选器。对于渲染,框架使用不同的渲染器和切换的源过滤器,主要使用Montivision DemoSource。 我只能在渲染两个图形时产生错误,但也无法找到定期产生错误的可能性

当错误窗口关闭时,整个应用程序完成并崩溃。在.Net中捕获错误是不可能的。它似乎来自一个系统库

错误窗口文本:

OS:  Workstation, SP1
CPU: GenuineIntel, Intel Pentium III Xeon, MMX @ 2490 MHz

Module name: D:\[...]\bin\Debug\TestApp.exe

Application data:
VmVyc2lvbjogV2t4dGJIZHFVbTEyYkdsb0oxRmhiR3htS2xwaWUya3N
TMlJpZW1wOVRUd3hTaU0rTXlJNE5DTTVOaVpLT3pnVkUwSXJOQzRxUE
... (a base64 encoded list of loaded dlls)

我希望有人知道这个错误,并有一个很好的解决方案来避免它。

您是否尝试在干净的Windows安装上运行应用程序,并且没有使用Montivision等


另外,请显示使用过的DLL列表和图形截图。

我尝试了Window7的不同安装和不同硬件,甚至是新的。几乎每个图形都使用Montivision,因为它们提供了我需要的大多数基本过滤器,如用于测试的独立于硬件的演示源。加载的DLL列表包含174个条目。使用AVCapWPF无需图形内部的图形构建为DemoSource->SampleGrabber,使用WPFMediaKit,图形为DemoSource->VideoMixingReneder9。