我有一些带有自定义属性页的自定义 DirectShow 过滤器。当过滤器与属性页在同一进程中时,这些工作正常。
但是,当我使用图形编辑的“连接到远程图形”功能时,属性页不起作用。当属性页在远程过滤器上为我的私有 COM 接口执行 QueryInterface 时,QueryInterface 失败。Microsoft 过滤器的属性页(例如 EVR 视频渲染器)工作正常,因此它必须是可能的。
这可能是因为我的过滤器的私有接口只能在“进程中”工作,我需要添加额外的 COM 支持,以便这些接口可以与“进程外”过滤器一起使用。为了实现这一目标,我需要用 COM 术语做什么?
DirectShow 基类是否支持这些 COM 功能?我能否可靠地检测到过滤器何时耗尽进程并拒绝优雅地显示属性页?