CLSIDFromProgIDEx 函数 (combaseapi.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 的指针。

返回值

此函数可以返回以下值。

返回代码 说明
S_OK
已成功检索 CLSID。
CO_E_CLASSSTRING
ProgID 的已注册 CLSID 无效。
REGDB_E_WRITEREGDB
将 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
标头 combaseapi.h (包括 Objbase.h)
Library Ole32.lib
DLL Ole32.dll

另请参阅

ProgIDFromCLSID