Class テーブル
Class テーブルには、製品アドバタイズの一環で生成する必要がある COM サーバー関連の情報が含まれています。 各行により、一連のレジストリ キーと値を生成できます。 関連付けられた ProgId 情報はこのテーブルに含まれています。
Class テーブルには次の列があります。
Column | 種類 | キー | Nullable |
---|---|---|---|
CLSID | GUID | Y | N |
Context | Identifier | Y | N |
Component_ | Identifier | Y | N |
ProgId_Default | テキスト | N | Y |
説明 | [テキスト] | N | Y |
AppId_ | GUID | N | Y |
FileTypeMask | テキスト | N | Y |
Icon_ | Identifier | N | Y |
IconIndex | 整数 | N | Y |
DefInprocHandler | Filename | N | Y |
引数 | Formatted | N | Y |
Feature_ | Identifier | N | N |
属性 | 整数 | N | Y |
列情報
-
CLSID
-
COM サーバーのクラス識別子 (ID)。
-
Context
-
このサーバーのサーバー コンテキスト。 CLSID キーには、次のいずれかの値を入力します。
CLSID キー 説明 LocalServer 16 ビット ローカル サーバー アプリケーションの完全なパスを指定します。 LocalServer32 32 ビット ローカル サーバー アプリケーションの完全なパスを指定します。 InprocServer インプロセス サーバー DLL のパスを指定します。 InprocServer32 32 ビット インプロセス サーバーとスレッド モデルのパスを指定します。 -
Component_
-
Component テーブルの外部キー。COM サーバーを提供するキー ファイルを持つコンポーネントを指定します。
-
ProgId_Default
-
このクラス ID に関連付けられた既定のプログラム ID。 この列は、ProgID テーブルの外部キーです。
-
Description
-
クラス 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
-
このフィールドには、Context フィールドに指定されたサーバー コンテキストの既定のインプロセス ハンドラーを指定します。
Context フィールドに InprocServer または InprocServer CLSID キーがある場合、このフィールドは Null にする必要があります。
Context フィールドに LocalServer または LocalServer32 CLSID キーがある場合、DefInprocHandler フィールド値は既定のインプロセス ハンドラーになります。
値 説明 数値以外の値 インストーラーは、DefInprocHandler フィールドの数値以外の値を、InprocHandler32 キーで指定された 32 ビット インプロセス ハンドラーとして機能するシステム ファイルとして扱います。 [Null] LocalServer または LocalServer32 CLSID キーの場合、DefInprocHandler フィールドと Argument フィールドは両方とも null にすることができます。 1 = 既定値 (システム) 既定値は、InprocHandler に指定された 16 ビットのインプロセス ハンドラーです。 この場合、InprocHandler の値は、既定のインプロセス ハンドラーの値が格納されているレジストリの名前です。 たとえば、HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID です。 2 = 既定値 (システム) 既定値は、InprocHandler32 に指定された 32 ビットのインプロセス ハンドラーです。 この場合、InprocHandler32 の値は、既定のインプロセス ハンドラーの値が格納されているレジストリの名前です。 たとえば、HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID です。 3 = 既定値 (システム) 既定値は、16 ビットまたは 32 ビットのインプロセス ハンドラーです。 -
Argument
-
Context フィールドに LocalServer または LocalServer32 CLSID キーがある場合、このフィールドのテキストはサーバーに対する引数として登録され、サーバーを呼び出すために COM によって使われます。 Context フィールドに LocalServer または LocalServer32 がある場合、DefInprocHandler フィールドと Argument フィールドの両方を Null にすることができます。
Argument フィールドのプロパティの解決は制限されていることに注意してください。 このフィールドの [Property] という形式のプロパティは、クラスを所有するコンポーネントがインストールされたときに、そのプロパティが既に意図した値である場合にのみ解決できます。 たとえば、引数 "[#MyDoc.doc]" を正しい値に解決するには、ファイル MyDoc.doc とそのクラスを所有するコンポーネントを同じプロセスでインストールする必要があります。
-
Feature_
-
COM サーバーを提供する機能を指定する Feature テーブルの外部キー。
Feature テーブルの列 1 の外部キー。
-
Attributes
-
この列に msidbClassAttributesRelativePath が設定されている場合、COM サーバーにベア ファイル名を使用できます。 インストーラーによって、完全なパスではなくファイル名のみを登録します。 そのため、現在のディレクトリ内のサーバーが優先されます。また、同じコンポーネントの複数コピーが可能です。
属性 Decimal 16 進数 msidbClassAttributesRelativePath 1 0x001
解説
RegisterClassInfo アクションまたは UnregisterClassInfo アクションの実行時に、このテーブルが参照されます。
検証