クラス テーブル
クラス テーブルには、製品提供情報の一部として生成する必要がある COM サーバー関連の情報が含まれています。 各行は、レジストリ キーと値のセットを生成できます。 関連付けられている ProgId 情報がこの表に含まれています。
クラス テーブルには、次の列があります。
コラム | 種類 | 鍵 | 許容 |
---|---|---|---|
CLSID | GUID | Y | N |
文脈 | 識別子の | Y | N |
コンポーネント_ | 識別子の | Y | N |
ProgId_Default | テキスト | N | Y |
形容 | テキスト | N | Y |
AppId_ | GUID | N | Y |
FileTypeMask | テキスト | N | Y |
アイコン_ | 識別子の | N | Y |
IconIndex | 整数 の | N | Y |
DefInprocHandler | ファイル名の | N | Y |
引数 | 書式設定された | N | Y |
特徴_ | 識別子の | N | N |
属性 | 整数 の | N | Y |
列情報
-
CLSID の
-
COM サーバーのクラス識別子 (ID)。
-
コンテキスト
-
このサーバーのサーバー コンテキスト。 CLSID キーに次のいずれかの値を入力します。
CLSID キー 形容 LocalServer 16 ビット ローカル サーバー アプリケーションへの完全パスを指定します。 LocalServer32 32 ビット ローカル サーバー アプリケーションへの完全パスを指定します。 InprocServer の インプロセス サーバー DLL へのパスを指定します。 InprocServer32 の 32 ビットインプロセス サーバーとスレッド モデルへのパスを指定します。 -
Component_
-
コンポーネント テーブルの外部キー、キー ファイルが COM サーバーを提供するコンポーネントを指定します。
-
ProgId_Default
-
このクラス ID に関連付けられている既定のプログラム ID。 この列は、ProgID テーブルの外部キーです。
-
の説明
-
クラス ID とプログラム ID に関連付けられているローカライズされた説明。
-
AppId_
-
関連付けられているアプリケーションの DCOM 情報を含むアプリケーション ID (文字列 GUID)。 この列は、AppId テーブルの外部キーです。
-
FileTypeMask
-
HKCR (この CLSID) キーの情報が含まれています。
複数のパターンが存在する場合は、セミコロンで区切る必要があり、数値サブキーは 0、1、2... で生成されます。この機能の詳細については、「GetClassFileを参照してください。
-
Icon_
-
この CLSID に関連付けられているアイコンを提供するファイル。 インストーラーは、ProgId に関連付けられている DefaultIcon キーの下のこの列にエントリを書き込みます。 null でない場合、列は Icon テーブルの外部キーになります。 null の場合、COM サーバーはアイコン リソースを提供します。 アドバタイズされたファイルの関連付けとショートカットを正しく表示するには、この列に null 以外の値が必要です。
-
IconIndex
-
アイコン ファイルへのアイコン インデックス。 null を指定できます。
負以外の数値のみ。
-
DefInprocHandler の
-
このフィールドは、[コンテキスト] フィールドで指定されたサーバー コンテキストの既定のインプロセス ハンドラーを指定します。
コンテキスト フィールドに InprocServer または InprocServer CLSID キーが表示される場合、このフィールドは Null にする必要があります。
LocalServer または LocalServer32 CLSID キーが Context フィールドに表示される場合、DefInprocHandler フィールドの値は既定のインプロセス ハンドラーを識別します。
価値 形容 数値以外の値 インストーラーは、DefInprocHandler フィールドの数値以外の値を、InprocHandler32 キーで指定された 32 ビットのインプロセス ハンドラーとして機能するシステム ファイルとして扱います。 ヌル DefInprocHandler フィールドと引数フィールドはどちらも、LocalServer または LocalServer32 CLSID キーの場合は Null にすることができます。 1 = 既定値 (システム) 既定値は、InprocHandler によって指定された 16 ビットのインプロセス ハンドラーです。 この場合、InprocHandler の値は、既定のインプロセス ハンドラーの値が格納されるレジストリ内の名前です。 たとえば、HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSIDします。 2 = 既定値 (システム) 既定値は、InprocHandler32 で指定された 32 ビットのインプロセス ハンドラーです。 この場合、InprocHandler32 の値は、既定のインプロセス ハンドラーの値が格納されるレジストリ内の名前です。 たとえば、HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSIDします。 3 = 既定値 (システム) 既定値は、16 ビットまたは 32 ビットのインプロセス ハンドラーです。 -
引数
-
LocalServer または LocalServer32 CLSID キーが Context フィールドに表示される場合、このフィールドのテキストはサーバーに対する引数として登録され、COM によってサーバーを呼び出すために使用されます。 [コンテキスト] フィールドに LocalServer または LocalServer32 が表示される場合、DefInprocHandler フィールドと引数フィールドの両方を Null にすることができます。
[引数] フィールドのプロパティの解像度は制限されることに注意してください。 このフィールドの [プロパティ] として書式設定されたプロパティは、クラスを所有するコンポーネントがインストールされている場合に、プロパティに既に目的の値がある場合にのみ解決できます。 たとえば、引数 "[#MyDoc.doc]" を正しい値に解決するには、同じプロセスでファイル MyDoc.docとクラスを所有するコンポーネントをインストールする必要があります。
-
Feature_
-
COM サーバーを提供する機能を指定 、 Feature テーブルへの外部キー。
フィーチャー テーブルの列 1 の外部キー。
-
属性
-
この列 msidbClassAttributesRelativePath が設定されている場合は、COM サーバーにベア ファイル名を使用できます。 インストーラーは、完全なパスではなく、ファイル名のみを登録します。 これにより、現在のディレクトリ内のサーバーが優先され、同じコンポーネントの複数のコピーが許可されます。
属性 小数 16 進 数 msidbClassAttributesRelativePath 1 0x001
備考
このテーブルは、RegisterClassInfo アクション または UnregisterClassInfo アクション が実行されるときに参照されます。
検証