我正在尝试编写一个running object table类似WCF服务(.NET 4.0),用于跨进程提供对某些COM控件的访问。 COM和.NET客户端都可以访问此服务。
我选择了WCF,因为它建议用于进程间通信,我也认为如果我不必依赖ROT而且我没有太多控制权,那将是一件好事。
在解决了几次打嗝之后,我到达了路障。我不知道如何通过服务传递COM控件并将其返回给客户端。对象永远不会到达服务。尽管建议将WCF用于IPC,但它不提供传递COM对象的开箱即用支持。到目前为止我还没有找到任何解决方案。可能是WCF服务不是替换运行对象表的正确方法。但我认为没有更好的方法来做IPC。
对此有何建议?
答案 0 :(得分:1)
无法在WCF消息中传递COM objref(我猜你可以在接收器大小上创建MEOW解释器并使用CoMarshalInterThreadInterfaceInStream来传递objref)
但是,您可以将对象放在GIT中并传递GIT cookie
答案 1 :(得分:1)
但我们可以通过实现IUNKNOWn接口
直接将COM对象放入ROT