10、深入探索COM对象的通用标识符与OLE对象绘制

深入探索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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值