COM原理
+ -

COMM ProgID简介

2022-02-16 48 0

每一个COM组件都需要指定一个CLSID。之所以使用16个字节,就是从概率上保证不重复。
为使用方便,也支持另一个字符串名称方式,叫ProgID。见下图注册表的ProgID子键。
ProgID

由于CLSID和ProgID是一个概念的两个不同的表示形式,所以在程序中可随便使用任一种。

CLSID和ProgID之间的转换

下面介绍CLSID和ProgID之间的转换方法和相关函数:

函数 功能说明
CLSIDFromProgID、CLSIDFromProgIDEx 由ProgID得到CLSID。查注册表得到的。
ProgIDFromCLSID 由CLSID得到ProgID。调用者使用完成后要释放ProgID的内存。
CoCreateGuid 随机生成一个GUID
IsEqualGUID、IsEqualCLSID、IsEqualIID 比较2个ID是否相等
StringFromCLSID、StringFromGUID2、StringFromIID 由CLSID,IID得到注册表中CLSID样式的字符串,注意释放内存。

0 篇笔记 写笔记

COMM CSID和GUID
Office的Word中可以插入EXCEL数据,我们知道是通过Word存储的复合文件功能来实现的。那么当WORD程序读取复合文件,遇到EXCEL数据时,它该如何启动Excel呢?启动后,又如何让Excel自己去读入、解析、显示xls数据呢?CLSID概念有一个非常简单的解决方案,那就是在对象数据的......
COMM ProgID简介
每一个COM组件都需要指定一个CLSID。之所以使用16个字节,就是从概率上保证不重复。为使用方便,也支持另一个字符串名称方式,叫ProgID。见下图注册表的ProgID子键。由于CLSID和ProgID是一个概念的两个不同的表示形式,所以在程序中可随便使用任一种。CLSID和ProgID之间的......
COM 根据CLSID获取ProgID
void GetProgID(){ CoInitialize(NULL); //{000209FF-0000-0000-C000-000000000046} = word.application LPOLESTR lpwProgID = NULL; ......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!