深入探索COM对象的通用标识符与OLE对象绘制
1. COM与通用标识符基础
COM(Component Object Model),也被称为ActiveX或OLE,是一种用于创建和使用“Windows对象”的对象模型。Win32 API中有数百个与COM相关的函数,这些函数属于OLE子系统。OLE即Object Linking and Embedding,是实现COM对象的技术,ActiveX是OLE的另一个名称。
每个COM对象都由一个名为GUID(Globally Unique Identifier)的通用标识符来标识,这是一个128位的数字,保证了对象的全球唯一性。在OLE文档中,还会看到UUID、CLSID和IID等术语,分别代表Universally Unique Identifier、Class Identifier和Interface Identifier。从程序员的角度来看,它们本质上都是128位的数字,只是语义上有所不同,分别用于标识类和接口。
在Visual Basic和C++中都没有128位的数据类型,下面是Windows头文件wtypes.h中关于GUID、CLSID和IID的C++声明:
#ifndef GUID_DEFINED
#define GUID_DEFINED
typedef struct _GUID
{
DWORD Datal;
WORD Data2;
WORD Data3;
BYTE Data4[ 8 ];
} GUID;
#endif // !GUID_DEFINED
#if !defined( _LPGUID
超级会员免费看
订阅专栏 解锁全文
7

被折叠的 条评论
为什么被折叠?



