DLL中的outproc COM服务器

时间:2011-03-24 20:37:55

标签: c++ winapi com

我的DLL中有一个COM对象,我希望将其暴露出来。我知道,proc-of-proc COM对象只能在可执行文件中使用。我想知道是否有可能使用像dllhost.exe或runddl32.exe这样的东西来托管我的DLL并将我的对象暴露为进程外?我读了一些关于代理人的事情,有人可以提供一些关于如何做到这一点的信息吗?

我的最终目标是拥有一个进程外COM对象,托管在DLL中(使用LoadLibrary托管在可执行文件中等)。此COM对象将使用ATL中提供的Singleton类工厂。它将是一个将数据共享给连接到它的所有进程的类。

感谢。

1 个答案:

答案 0 :(得分:0)

选项1 - use surrogate activation

选项2 - 使用COM +控制面板 - >管理工具 - >组件服务 - 创建“服务器”COM +应用程序,只需在那里添加类。

无论如何,你需要为你的对象实现的接口编组东西 - 代理/存根对或(如果所有的接口都是自动化兼容的)类型库。