CoCreateInstance使用CLSCTX_LOCAL_SERVER是否足以确保所有应用程序将共享COM对象实例?
Is CoCreateInstance using CLSCTX_LOCAL_SERVER enough to ensure that all the applications will share the COM object instance?
CoCreateInstance使用CLSCTX_LOCAL_SERVER是否足以确保所有应用程序将使用在第一个CoCreateInstance期间加载的COM对象的相同实例?
不,这是由服务器决定的,客户端没有发言权。
服务器在注册类工厂时使用REGCLS枚举。使用REGCLS_SINGLEUSE,客户端的下一个CoCreateInstance()调用将启动另一个服务器。你想要REGCLS_MULTIPLEUSE
不,每次调用CoCreateInstance都会创建一个新对象。
如果你想让每个进程共享同一个对象,你必须创建另一个类作为你想要共享的对象的工厂。
让所有客户端共享相同对象的另一种方法是使您的对象成为代理对象,该对象服从服务器EXE中的单例。
相关文章:
- Qt - 共享同一数据库的应用程序
- 使用 IPC 共享内存的应用程序是否可以访问彼此的代码?
- 在 API 和应用程序线程之间共享数据
- 将函数从控制台应用程序移动到共享库项目似乎会带来不相关的编译错误
- 共享对象与提升program_options静态链接;应用程序链接共享
- Qt应用程序在运行时找不到共享库
- 尝试使用共享库部署QT应用程序时出错
- 如何将 #defines 从 c++ 共享库导出到应用程序
- 在Linux中使用gcc 4.1编译的C++03应用程序中使用C++11共享库
- 在应用程序和驱动程序之间共享内存
- 在Windows 8上共享应用程序URI方案注册
- SFML2 应用程序找不到共享对象
- VC++和Qt应用程序之间使用共享内存进行通信
- 管理多线程应用程序中的共享变量
- 交叉编译用于树莓派的QT应用程序-无法打开共享对象文件
- 如何与其他应用程序共享 HGLOBAL?
- 获取包含共享库的c++应用程序的调用堆栈
- 带有API的WinRT应用程序,该应用程序使用共享的MFC dll
- 如何在C++中通过我的应用程序共享"this"实例?
- 寻找与不同的c++应用程序共享c++函数的不同方法