ProgIDFromCLSID 関数 (combaseapi.h)

特定の CLSID の ProgID を取得します。

構文

HRESULT ProgIDFromCLSID(
  [in]  REFCLSID clsid,
  [out] LPOLESTR *lplpszProgID
);

パラメーター

[in] clsid

ProgID を要求する CLSID。

[out] lplpszProgID

ProgID 文字列を受け取るポインター変数のアドレス。 clsid を表す文字列には、中かっこが含まれます。

戻り値

この関数は、次の値を返すことができます。

リターン コード 説明
S_OK
ProgID が正常に返されました。
REGDB_E_CLASSNOTREG
レジストリに登録されていないクラス。
REGDB_E_READREGDB
レジストリからの読み取り中にエラーが発生しました。

注釈

[ オブジェクトの挿入 ] ダイアログ ボックスに表示されるすべての OLE オブジェクト クラスには、レジストリに格納されている特定のクラスを一意に識別する文字列であるプログラム識別子 (ProgID) が必要です。 [ オブジェクトの挿入 ] ダイアログ ボックスの適格性を判断するだけでなく、ProgID をマクロ プログラミング言語の識別子として使用してクラスを識別できます。 最後に、ProgID は、OLE 1 コンテナーに配置される OLE クラスのオブジェクトに使用されるクラス名でもあります。

ProgIDFromCLSID は、レジストリ内のエントリを使用して変換を行います。 OLE アプリケーションの作成者は、アプリケーションのセットアップ プログラムでレジストリが正しく構成されていることを確認する責任があります。

ProgID 文字列は、同じアプリケーションの OLE 1 バージョンを含め、OLE 1 アプリケーションのクラス名と異なる必要があります (存在する場合)。 さらに、ProgID 文字列には、39 文字を超える文字を含めたり、数字で始めたり、1 つのピリオドを除き、句読点 (アンダースコアを含む) を含めたりすることはできません。

ProgID は、ユーザー インターフェイスでユーザーに表示しないでください。 オブジェクトに短い表示可能な文字列が必要な場合は、 IOleObject::GetUserType を呼び出します。

CLSIDFromProgID 関数を呼び出して、特定の ProgID に関連付けられている CLSID を検索します。 CoTaskMemFree 関数を呼び出して、ProgID が終了したら、返された ProgID を解放してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー combaseapi.h (Objbase.h を含む)
Library Ole32.lib
[DLL] Ole32.dll

こちらもご覧ください

CLSIDFromProgID