【发布时间】:2011-05-17 13:22:33
【问题描述】:
我实现了一个进程外 COM 服务器(在服务中实现)。我不希望其他应用程序访问 COM 服务器中的所有功能,因此我开发了一个进程内服务器 (DLL),它可以与进程外服务器通信。
因为我不希望直接访问进程外 COM 服务器中的接口,所以我没有将类型库嵌入到服务中,所以我认为我可以使用 #import 并访问 COM服务器通过 TLB。但是,当我尝试在我的进程内服务器中创建一个在服务中实现的类的实例时,我得到了一个 E_NOINTERFACE。我猜这是由于编组,但我不知道如何克服这个问题。
知道如何在不暴露进程外服务器的接口细节的情况下从进程内服务器与我的进程外服务器进行通信吗?
【问题讨论】:
-
除了我可能的错误答案之外,我还问了以下问题stackoverflow.com/questions/4311997/…
-
我使用了代理/存根方法。我阅读了您的问题,这也是我感兴趣的问题:代理/存根是否公开接口?我看到您回答了自己的问题,但答案尚不清楚。
标签: com marshalling