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 へのポインターを受け取ります。
戻り値
この関数は、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
CLSID が正常に取得されました。 |
|
ProgID に登録されている CLSID が無効です。 |
|
CLSID をレジストリに書き込む際にエラーが発生しました。 下記の注釈を参照してください。 |
注釈
CLSCTX_ENABLE_CODE_DOWNLOADを使用すると、Active Directory から IntelliMirror/Application Management を使用して、不足しているクラスを自動的にインストールできます。 このフラグを指定しない場合、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 |