progIDFromCLSID 函数 (combaseapi.h)
检索给定 CLSID 的 ProgID。
语法
HRESULT ProgIDFromCLSID(
[in] REFCLSID clsid,
[out] LPOLESTR *lplpszProgID
);
参数
[in] clsid
要为其请求 ProgID 的 CLSID。
[out] lplpszProgID
接收 ProgID 字符串的指针变量的地址。 表示 clsid 的字符串包含括起来的大括号。
返回值
此函数可以返回以下值。
返回代码 | 说明 |
---|---|
|
已成功返回 ProgID。 |
|
类未在注册表中注册。 |
|
从注册表读取时出错。 |
注解
“插入对象”对话框中列出的每个 OLE 对象 类都必须具有编程标识符 (ProgID) ,这是一个唯一标识给定类的字符串,存储在注册表中。 除了确定“ 插入对象 ”对话框的资格外,ProgID 还可以用作宏编程语言中的标识符来标识类。 最后,ProgID 也是用于放置在 OLE 1 容器中的 OLE 类的对象的类名。
ProgIDFromCLSID 使用注册表中的条目来执行转换。 OLE 应用程序作者负责确保在应用程序的安装程序中正确配置注册表。
ProgID 字符串必须不同于任何 OLE 1 应用程序的类名,包括同一应用程序的 OLE 1 版本(如果有)。 此外,ProgID 字符串不得包含超过 39 个字符、以数字开头,或者除单个句点外,不得包含任何标点符号 (包括下划线) 。
ProgID 不得在用户界面中向用户显示。 如果需要对象的短可显示字符串,请调用 IOleObject::GetUserType。
调用 CLSIDFromProgID 函数以查找与给定 ProgID 关联的 CLSID。 使用完返回的 ProgID 后,请务必通过调用 CoTaskMemFree 函数释放它。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | combaseapi.h (包括 Objbase.h) |
Library | Ole32.lib |
DLL | Ole32.dll |