我的DLL中有一个COM对象,我希望将其暴露出来。我知道,proc-of-proc COM对象只能在可执行文件中使用。我想知道是否有可能使用像dllhost.exe或runddl32.exe这样的东西来托管我的DLL并将我的对象暴露为进程外?我读了一些关于代理人的事情,有人可以提供一些关于如何做到这一点的信息吗?
我的最终目标是拥有一个进程外COM对象,托管在DLL中(使用LoadLibrary托管在可执行文件中等)。此COM对象将使用ATL中提供的Singleton类工厂。它将是一个将数据共享给连接到它的所有进程的类。
感谢。
答案 0 :(得分:0)
选项1 - use surrogate activation。
选项2 - 使用COM +控制面板 - >管理工具 - >组件服务 - 创建“服务器”COM +应用程序,只需在那里添加类。
无论如何,你需要为你的对象实现的接口编组东西 - 代理/存根对或(如果所有的接口都是自动化兼容的)类型库。