WEB开发网
开发学院软件开发VC COM编程入门 :什么是COM,如何使用COM 阅读

COM编程入门 :什么是COM,如何使用COM

 2006-07-21 11:45:08 来源:WEB开发网   
核心提示: COM服务器是包含了一个或多个coclass的二进制(DLL或EXE),注册(Registration)是创建注册表入口的一个过程,COM编程入门 :什么是COM,如何使用COM(3),告诉Windows 操作系统COM服务器放在什么位置,取消注册(Unregistration)则相反&m

COM服务器是包含了一个或多个coclass的二进制(DLL或EXE)。

注册(Registration)是创建注册表入口的一个过程,告诉Windows 操作系统COM服务器放在什么位置。取消注册(Unregistration)则相反——从注册表删除这些注册入口。

GUID(谐音为“fluid”,意思是全球唯一标示符——globally unique identifier)是个128位的数字。它是一种独立于COM编程语言的标示方法。每一个接口和coclass有一个GUID。因为每一个GUID都是全球唯一的,所以避免了名字冲突(只要你用COM API创建它们)。有时你还会碰到另一个术语UUID(意思也是全球唯一标示符——universally unique identifier)。UUIDs和GUIDs在实际使用时的用途是一样的。

类ID或者CLSID是命名coclass的GUID。接口ID或者IID是命名接口的GUID。

在COM中广泛地使用GUID有两个理由:

1、GUIDs只是简单的数字,任何编程语言都可以对之进行处理。

2、GUIDs可以在任何机器上被任何人创建,一旦完成创建,它就是唯一的。因此,COM开发人员可以创建自己特有的GUIDs而不会与其它开发人员所创建的GUIDs有冲突。这样就消除了集中授权发布GUIDs的必要。

HRESULT是COM用来返回错误和成功代码的整型数字。除此之外,别无它意,虽然以H作前缀,但没有句柄之意。下文会对它有更多的讨论。

最后,COM库是在你使用COM时与你交互的操作系统的一部分,它常常指的就是COM本身。但是为了避免混淆才分开描述的。

使用和处理COM对象

每一种语言都有其自己处理对象的方式。例如,C++是在栈中创建对象,或者用new动态分配。因为COM必须独立于语言,所以COM库为自己提供对象管理例程。下面是对COM对象管理和C++对象管理所做的一个比较:

上一页  1 2 3 4 5 6 7 8  下一页

Tags:COM 编程 入门

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接