バージョンに依存しない ProgID キー

ProgID を CLSID に関連付けます。 このキーは、オブジェクト アプリケーションの最新バージョンを決定するために使用されます。

レジストリ エントリ

HKEY_LOCAL_MACHINE\SOFTWARE\Classes
   <version-independent ProgID>
      CurVer = ProgID

注釈

HKEY_LOCAL_MACHINE\SOFTWARE\Classes キーは、以前のバージョンの COM との互換性のために保持されたHKEY_CLASSES_ROOT キーに対応します。

バージョンに依存しない ProgID> の<形式はプログラム>です<。<コンポーネント>をピリオドで区切り、スペースを使用せず、バージョン番号を指定しません。 ProgID と同様に、バージョンに依存しない ProgID は、人間が判読できる名前で登録できます。

ProgID は、インストールされている最新バージョンのクラスの ProgID です。

アプリケーションでは、バージョンに依存しない ProgID キーの下に 、バージョンに依存しない プログラム識別子を登録する必要があります。 バージョンに依存しない ProgID はアプリケーションのクラスを参照し、バージョンごとに変更されず、代わりにすべてのバージョンで定数が残ります。たとえば、Microsoft Word Document。 マクロ言語で使用され、アプリケーションのクラスの現在インストールされているバージョンを参照します。 バージョンに依存しない ProgID は、オブジェクト アプリケーションの最新バージョンの名前に対応している必要があります。

たとえば、バージョンに依存しない ProgID は、コンテナー アプリケーションがツール バー ボタンを含むグラフまたはテーブルを作成するときに使用されます。 このような状況では、アプリケーションは、バージョンに依存しない ProgID を使用して、必要なオブジェクト アプリケーションの最新バージョンを決定できます。

バージョンに依存しない ProgID は、アプリケーション コードによってのみ格納および管理されます。 バージョンに依存しない ProgID を指定すると、 CLSIDFromProgID 関数は現在のバージョンの CLSID を返します。

CLSIDFromProgIDProgIDFromCLSID を使用して、これら 2 つの表現間で変換できます。

IOleObject::GetUserType または OleRegGetUserType を使用して、識別子を表示可能な文字列に変更できます。

カスタム ハンドラーを使用しない場合は、次の例に示すように、エントリを OLE32.DLL に設定する必要があります。

HKEY_CLASSES_ROOT\CLSID\{00000402-0000-0000-C000-000000000046}
   InprocHandler = ole32.dll

CLSIDFromProgID

ProgIDFromCLSID

<ProgID> キー