多个应用程序如何访问COM对象的一个实例?欢迎讨论,来者有分。

sadpacific 2001-12-28 10:20:34
诸位高手,能否回答小弟一个简单的问题:
COM对象的一个实例能否被多个客户程序所访问?
假设第一个客户端程序启动后,创建了服务器端COM对象的第一个实例,
那么,再启动第二个客户端程序,能否直接访问第一个客户端程序所创建
的那个COM对象的实例?
如果可以,客户程序该如何
1. 判断COM对象的实例是否已经创建?
2. 访问该COM对象的接口?
...全文
93 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhxx 2002-01-02
  • 打赏
  • 举报
回复
1
langchao 2002-01-02
  • 打赏
  • 举报
回复
gzxx
Jsp001 2002-01-02
  • 打赏
  • 举报
回复
学习!
fengfeng1_1 2001-12-29
  • 打赏
  • 举报
回复
学习!
halfdream 2001-12-28
  • 打赏
  • 举报
回复
同客户无关,这是服务的事.
这需要进程外单实例COM.
xiaoxiaohan 2001-12-28
  • 打赏
  • 举报
回复
受益匪浅
wyzegg 2001-12-28
  • 打赏
  • 举报
回复
其实并不需要共享实例,而是需要共享状态
Elminster 2001-12-28
  • 打赏
  • 举报
回复
有这个必要吗?说到底 COM 对象的创建是类厂控制的,你只要在收到客户请求的时候决定是创建信的对象还是沿用旧的对象不就完了?
lwg7603 2001-12-28
  • 打赏
  • 举报
回复
好象說過了﹗
ATL實現﹕
用進程外組件並聲明DECLARE_CLASSFACTORY_SINGLETON(Class)﹗
acptvc 2001-12-28
  • 打赏
  • 举报
回复
感谢您使用微软产品。

COM对象可以被本地或远程的多个客户端存取,一个客户可以把它保存的Server端的引用传给其他客户,不同的客户也可以用CoCreateInstace来与已经被实例化的Server建立连接。这里主要考虑的是安全机制, 即Server是以什么身份运行的,是被什么样的客户激活,以及客户的身份,你可以参考下述的KnowledgeBase文章获得更多的信息。
Q169321 INFO: COM Servers Activation and NT Windows Stations

微软全球技术中心 VC技术支持


本贴子仅供CSDN的用户作为参考信息使用。其内容不具备任何法律保障。您需要考虑到并承担使用此信息可能带来的风险。具体事项可参见使用条款 (http://www.csdn.net/microsoft/terms.shtm)。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧