摘要:来自VC知识库:http://www.vckbase.com/index.php/wv/159 问题: 我要编写一个支持ActiveX文档插件(Plug-ins)的应用程序。为了创建一个已安装插件的菜单,在程序启动时我扫描注册表查找已安装的ActiveX组件。对于每一个ActiveX组件创建一个实例并查询一个叫IMyAppPlugin的专门接口。如果这个接口存在,那么我就认为这个组件就是我的程序所要的插件。这样做好像行不通,尤其是安装有多个ActiveX组件时做起来就更困难。有没有更好的办法处理这种问题? 解答: 对于这种情况,Windows确实有更好的办法来解决:既种类(category..
阅读全文
随笔分类 - COM/DCOM技术
摘要:http://www.vckbase.com/index.php/wv/1524前言:对于分布式组件,在创建组件过程中常因权限问题导致出现“拒绝访问”,无法创建组件对象或使用接口。本人水平有限,只能谈些个人经验和体会,希望能抛砖引玉!有两种方法能使得DCOM组件顺利创建和使用:一、使用DCOMCNFG工具在服务器及客户机上对组件进行设置,这在《COM技术内幕》中有详细说明,使用这种方法要在两种情形下使用:1、服务器与客户机必须在同一个域中且客户机要登录域(这种环境我没试过,因为我的局域网中只用工作组没建域)2、服务器与客户机处于工作组环境下,则客户机的当前登录用户名及密码在服务器上必须有同样的
阅读全文
摘要:在做DCOM操作时会引发如此错误。0x8007(w32 error) 06BA = 1722.C:\>net helpmsg 1722The RPC server is unavailable.我遇到问题的情况是: 客户端访问COM组件服务时,把COM组件服务所在的主机名称(本机)写错了,报此错误。根据网络搜索的情况看,包括防火墙、DCOM配置等因素,都有可能导致此问题。
阅读全文
摘要:fromhttp://www.vckbase.com/index.php/wv/1256一、前言上回书介绍了回调接口,在此基础上,我们理解连接点就容易多了。二、原理图一、连接点组件原理图。左侧为客户端,右侧为服务端(组件对象)看着好复杂呀......呵呵,其实简单的紧:(注1)1、一个 COM 组件,允许有多个连接点对象(IConnectionPoint)。也就是说可以有多个发生“事件”的源头。上图就有3个连接点;2、管理这些连接点的接口叫“连接点容器”(IConnectionPointContainer)。连接点容器接口特别简单,因为只有2个函数,一个是 FindConnectionPoin
阅读全文
摘要:from:http://www.microsoft.com/com/default.mspxWhat is COM?Microsoft COM (Component Object Model) technology in the Microsoft Windows-family of Operating Systems enables software components to communicate. COM is used by developers to create re-usable software components, link components together to
阅读全文
摘要:1、基本原理OPC服务器是以COM组件的形式存在和管理的,OPC规范着诸如DA Server、HDA Server和A&E Server等不同类型的服务器,相同类型的服务器随着时间推移,又会衍生出升级版本,比如DA1.0、2.0乃至3.0。这些服务器类型是该如何区分呢?COM组件的分类技术解决了这个问题。(参见:理解COM编程中的“种类”(Category)概念)在OPC规范中,明确定义不同种类服务器的CATID,CATID实质上就是GUID。比如在《OPC Data Access Custom Interface Specification2.05A》 中有如下定义:5.1 Comp
阅读全文
摘要:当初微软设计com规范的时候,有两种选择来保证用户的设计的com组件可以全球唯一:第一种是采用和Internet地址一样的管理方式,成立一个管理机构,用户如果想开发一个COM组件的时候需要向该机构提出申请,并交一定的费用。第二种是发明一种算法,每次都能产生一个全球唯一的COM组件标识符。第一种方法,用户使用起来太不方便,微软采用第二种方法,并发明了一种算法,这种算法用GUID(Globally Unique Identifiers)来标识COM组件,GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每
阅读全文
摘要:FROM : http://www.cnblogs.com/killmyday/archive/2010/07/04/1770717.html今天有个网友问我如何编写一个DCOM服务器,可以在C#的客户端中调用。看起来还是有很多人在用COM技术,趁这个机会,就把DCOM和C#之间的互操作好好讲讲。实际上,C#调用DCOM服务器的时候,只需要在C#这边做一些手脚,对于原先的C++ DCOM服务器来说,是不需要做任何改动的。道理很简单,C#后于C++ DCOM技术出现,作为前辈的DCOM技术不可能预知采用什么技术支持小辈C#。在C#里面使用DCOM的服务,跟 C++的COM客户端的步骤是一样的,即
阅读全文

浙公网安备 33010602011771号