COM学习之COM的基本元素

(1) 接口:一个名字以大写的I开头的抽象基类,包含一组虚方法,接口可以从其它接口继承,但不能继承于多个接口,只能从一个接口继承。

(2) coclass (Component Object Class,组件对象类,通常被称为COM类): COM类通常就是一个C++类,这个类继承自一个或者多个接口,并实现它们,COM对象在内存中的表现

就是这个COM类的一个实例。

(3)COM服务器: 包含了一个或者多个coclass的二进制DLLs或者EXE执行体。

(4)注册(Registration): 创建注册表入口的一个过程,告诉Windows操作系统COM服务器放在什么位置。

(5)取消注册(Unregistration):从注册表删除这些注册入口。

(6)GUID(谐音fluid,意思是全球唯一标示符Globally unique identifier): 是一个128位的数字,其实它和COM无关,在其他地方我们也经常看到它,只不过COM中的接口和coclass都

拥有一个GUID,因为是全球唯一的,所以避免了名称冲突。

(7)UUID(universally unique identifier): 同GUID。

(8)CLSID(类ID): 是coclass的GUID。

(9)IID(接口ID): 是interface的GUID。

(10)HRESULT: 是一个代表着成功或错误代码的整型或长整型的数字,对COM对象的调用经常会返回一个HRESULT,虽然用H开头,但并不是句柄的意思。

(11)COM库:操作系统的一部分,调用COM组件时就是COM库在协助你完成调用。

 

总而言之,COM是为了功能模块的重用。只不过重用的级别是二进制代码,相比于STL是C++源码级重用,其明显更胜一筹。

posted @ 2016-07-16 16:27  一介草民李八千  阅读(135)  评论(0)    收藏  举报