本文共 593 字,大约阅读时间需要 1 分钟。
《COM原理与应用》笔记
客户程序通过一个全局唯一标识符进行COM对象的创建和初始化工作。COM规范采用了128位全局唯一标识符GUID。
下面是一个GUID的例子 {54BF6567-1007-11D1-B0AA-444553540000} 在C/C++中可以用这样的结构来描述: typedef struct _GUID { DWORD Data1; WORD Data2; WORD Data3; BYTE Data4[8]; }GUID; 前面的GUID例子可以定义为 extern "C" const GUID CLSID_MYSPELLCHECKER = { 0x54bf6567, 0x1007, 0x11d1, { 0xb0, 0xaa, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00 }}; COM库提供了以下API函数可以产生GUID: HRESULT CoCreateGuid(GUID *pguid); 如果创建GUID成功,函数返回S_OK,pguid指向得到的GUID值。 CLSID是用来标识COM对象的GUID,它在结构定义上与GUID一致。GUID并不是专门用来定义COM对象标识符的,它也用于定义其他实体的标识符,比如接口标识符。转载地址:http://kpsli.baihongyu.com/