2011-05-05 75 views
0

我通常使用GraphEdit建立过滤器图形。我的DirectShow过滤器没有针脚

我可以正确添加我的过滤器。该过滤器来自WinDDK制作的驱动程序。它有一个输入引脚和一个输出引脚。

当我尝试以编程方式使用this tutorial时,过滤器加载,但它没有引脚。引脚枚举失败,当我用graphedit连接到远程图形时,它不显示任何引脚。

如何确保我的驱动程序导出正确的DirectShow过滤器?

关于创建DirectShow过滤器和GraphEdit“插入过滤器”函数的MSDN教程之间的根本区别是什么?

回答

1

如果我理解正确的话,你已经创建了自己的源过滤器?

点双重检查:

  • 你正确地贯彻执行GetPinCount,GetPin,FindPin?
  • 您是否在添加/创建每个引脚后调用IncrementPinVersion?

我不熟悉WinDDK的开发,但是你可以在这些方法中加入断点来看看发生了什么?

0

当插入图表时,某些滤波器可能没有引脚(特别是没有输出引脚)。这些滤波器通常根据特定条件动态地创建它们的引脚:例如,我知道一些BDA驱动器仅在其输入引脚连接后才创建它们的输出引脚。 这允许根据将连接到输入引脚的内容来确定输出引脚的介质类型。 也许你可以检查你是否没有遇到类似的情况。

银杏