CLSIDFromProgIDEx 函数 (objbase.h)
如果启用了 COMClassStore 策略,则触发自动安装。
这与既未指定CLSCTX_ENABLE_CODE_DOWNLOAD也没有指定CLSCTX_NO_CODE_DOWNLOAD时 CoCreateInstance 的行为类似。
语法
HRESULT CLSIDFromProgIDEx(
[in] LPCOLESTR lpszProgID,
[out] LPCLSID lpclsid
);
参数
[in] lpszProgID
指向请求其 CLSID 的 ProgID 的指针。
[out] lpclsid
返回时接收指向检索到的 CLSID 的指针。
返回值
此函数可以返回以下值。
返回代码 | 说明 |
---|---|
|
已成功检索 CLSID。 |
|
ProgID 的已注册 CLSID 无效。 |
|
将 CLSID 写入注册表时出错。 请参阅下面的备注。 |
注解
CLSCTX_ENABLE_CODE_DOWNLOAD允许通过 Active Directory 中的 IntelliMirror/应用程序管理自动安装缺少的类。 如果未指定此标志,COMClassStore 策略 (“下载缺少 COM 组件”) 确定默认行为 (:无下载) 。
如果 COMClassStore 策略启用自动安装,则可以使用 CLSCTX_NO_CODE_DOWNLOAD 显式禁止下载进行激活。
如果启用以下任一注册表值 (这意味着设置为 1) ,则启用自动下载缺失类:
- HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\App Management\COMClassStore
- HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\App Management \COMClassStore
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | objbase.h (包括 Objbase.h) |
Library | Ole32.lib |
DLL | Ole32.dll |