当我尝试在graphstudio中连接两个不匹配的过滤器时,通常会出现错误代码。 在我的情况下,如果我尝试将我的过滤器连接到另一个过滤器,也没有错误消息 有一个连接,例如过滤器之间没有箭头。
根据文档
,这是过滤器的连接方式连接过程的概要如下:
Filter Graph Manager在输出引脚上调用IPin :: Connect,将指针传递给输入引脚。
如果输出引脚接受连接,它会在输入引脚上调用IPin :: ReceiveConnection。
- 醇>
如果输入引脚也接受连接,则连接尝试成功并且引脚已连接。
使用Visual Studio,我可以确保ReceiveConnection返回S_OK
所以必须有更多的东西,只有这3个步骤,否则它应该工作
答案 0 :(得分:0)
Pin连接基本上是IGraphBuilder::Connect
来电,内部调用了IPin::Connect
和IPin::ReceiveConnection
。如果内部调用成功,则调用成功。
稍后,GraphStudio会枚举引脚并检查这些引脚上的引脚连接。如果引脚未报告连接的任何内容,则GraphStudio将显示断开连接。
考虑到您之前关于覆盖Connect
方法的问题,我认为您错误地覆盖了它们:您没有在过滤器/引脚上进行连接,仍然将成功代码作为操作状态返回。