ProgID
UUID
UUID(Universally Unique Identifier)是通用唯一识别码,是一种软件建构的标准。
UUID是16字节128位长的数字,通常以36字节的字符串表示。也就是说,既可以是一个128bit的数字,也可以表现为32个16进制的字符,中间用”-”分割,例如:00000000-0000-0000-0000-000000000000。
GUID
GUID(Globally Unique Identifier)是全局唯一标示符,在Windows系统中也称之为Class ID,缩写为CLSID。
CLSID
CLSID(Class Identifier)是类标识符。Windows使用GUID作为CLSID。每一个COM组件在Windows注册表中都有一个CLSID,并且不能重名,以便程序加载。
在微软的COM中 GUID 和 UUID、CLSID、IID 是一回事,只不过各自代表的意义不同:
UUID : 代表COM组件
CLSID : 代表COM组件中的类
IID : 代表COM组件类中的导出接口
CLSID 的结构定义
typedef struct _GUID {
DWORD Data1; // 随机数
WORD Data2; // 和时间相关
WORD Data3; // 和时间相关
BYTE Data4[8]; // 和网卡MAC相关
} GUID;
typedef GUID CLSID; // 组件ID
typedef GUID IID; // 接口ID
#define REFCLSID const CLSID &
ProgID
ProgID(Programmatic Identifier)是程序标识符。ProgID是一串字符串,提供CLSID的可读版本,而CLSID用于标识COM/ActiveX对象。CLSID和ProgID其实是一个概念的两种不同的表示形式。ProgID通过注册表和CLSID关联。
ProgID命名格式为:<program>.<component>.<version>。如果不为ProgID指定版本,则默认版本为1。
ProgID的主要作用是获取相应的CLSID,ProgID和CLSID的互相转换可以通过CLSIDFromProgID与ProgIDFromCLSID函数。
学习记录
- 点赞
- 收藏
- 关注作者
评论(0)