有没有在Windows Vista +上注册proppage.dll时访问远程过滤器图的方法?

时间:2011-07-14 07:40:52

标签: c++ com directshow

我目前正在尝试开发一个小应用程序/ dll,它将读取远程directshow过滤器图形并从中收集信息,以便在“正在播放”的样式插件或脚本中显示。经过几天的阅读和后续测试,我意识到在从ROT获取过滤器图形地址后,我无法将其从IUnknown接口指针转换为IFilterGraph,直到我注册了Windows SDK附带的“proppage.dll”。

所以我要问的是,没有其他方法可以从远程过滤器图形中收集任何信息而无需注册proppage.dll吗?

1 个答案:

答案 0 :(得分:3)

除非您将接口指针和参数/返回值与其他进程进行编组,否则无法从其他地址空间调用COM接口。对于COM,您需要为希望能够跨进程使用的每个接口注册一个编组对象。它的标准实现是在proppage.dll中。

我不认为有一种简单的方法可以在不提供编组的情况下访问界面。如果您不想使用proppage.dll,您可以从SDK提供的IDL文件中构建编组代码,并将其编译到您自己的应用程序中。