CLSID(类标识符)是Windows系统中用于唯一标识COM组件对象的128位全局唯一标识符(GUID),其核心特性和作用如下:
唯一性保证
采用网卡MAC地址和系统时间生成算法,理论上可保证全球范围内3240年内不重复标准格式为
{8-4-4-4-12}的十六进制数,例如回收站的{645FF040-5081-101B-9F08-00AA002F954E}系统级注册机制
必须注册到
HKEY_CLASSES_ROOT\CLSID\路径下,包含InprocServer32(DLL路径)、ProgID(友好名称)等子键通过
CoCreateGuid或Uuidgen.exe工具生成实际应用场景
控制面板项快速访问(如
{21EC2020-3AEA-1069-A2DD-08002B30309D}对应控制面板)ActiveX控件实例化(如
Msxml2.XMLHTTP的CLSID用于创建HTTP请求对象)特殊文件夹伪装(修改文件夹名为CLSID可改变图标行为,如回收站)
与ProgID的关联
ProgID(如
"Word.Application")是CLSID的可读别名,通过注册表与CLSID映射代码中通常使用ProgID简化调用,系统内部自动转换为CLSID查找组件
安全限制
现代Windows系统已限制CLSID的随意注册,需管理员权限并验证代码签名