【发布时间】:2011-06-25 00:14:01
【问题描述】:
我有一个 COM 类。它可以被我自己之外的进程访问。每个进程创建它自己的类实例。有没有办法让一个 COM 对象在 CreateInstance() 它的所有进程之间共享?
COM Singleton 是唯一能想到的东西。但是,我没有任何使用此功能的经验。
【问题讨论】:
标签: c++ visual-studio-2010 com atl
我有一个 COM 类。它可以被我自己之外的进程访问。每个进程创建它自己的类实例。有没有办法让一个 COM 对象在 CreateInstance() 它的所有进程之间共享?
COM Singleton 是唯一能想到的东西。但是,我没有任何使用此功能的经验。
【问题讨论】:
标签: c++ visual-studio-2010 com atl
我继承的代码库通过在 COM 项目中声明一个静态“实现”实例来实现这一点。
COM 类只是为该实例提供一个接口。这样,COM 类的多个实例有效地提供了对 COM 服务器内的单例实现对象的访问。
请注意,这通常需要同步构造。
【讨论】:
进程外服务器中的 COM 单例。如果服务器已经在 DLL 中实现,请考虑使用 COM+ 将其配置为进程外。这样,您将获得两全其美。
【讨论】: