INF AddComServer ディレクティブ

AddComServer ディレクティブは、DDInstall.COM セクション内で使用されて、COM サーバーを登録します。 DDInstall.COM セクションでは、1 つ以上の COM サーバーを定義する必要があります。 このセクションは、Windows 11 バージョン 24H2 以降でサポートされています。

[DDInstall.COM]

AddComServer = com-server-name, [flags], com-server-install-section

Entries

com-server-name

インストールする COM サーバーの名前を指定します。 名前は通常、登録する COM コンポーネントの名前または説明です。 COM サーバー名は INF 内で一意でなければならず、COM クラスの説明がない場合の説明として使用されます。

flags

AddComServer ディレクティブの追加フラグを指定します。 フラグ フィールドは将来使用するために予約されており、空白のままにするか、ゼロに設定する必要があります。

com-server-install-section

COM サーバーとそのクラスを登録するための情報を含む INF ライター定義セクションを参照します。

COM サーバー インストール セクションについて詳しくは、以下の「解説」をご覧ください。COM サーバー全般については、「COM クライアントとサーバー」をご覧ください。

解説

AddComServer ディレクティブを使用すると、システム セットアップによって、ドライバー パッケージのドライバー ストア相対パスに、サーバー バイナリによって実装された COM サーバーが登録されます。

COM クラスで CoCreateInstance を呼び出す前に、すべてのプロセスで CoRegisterDeviceCatalog を呼び出す必要があります。 CoRegisterDeviceCatalog を呼び出すと、COM ランタイムが使用するプロセスで COM サーバーの登録を使用できるようになります。

INF DDInstall.COM セクションの各 AddComServer ディレクティブは、INF ファイル内の別の場所で INF-writer-defined com-server-install-section を参照できます。 INF ライターで定義された各セクション名は、INF ファイル内で一意である必要があり、セクション名を定義するための一般的な規則に従う必要があります。 これらの規則の詳細については、「 INF ファイルの一般的な構文規則」を参照してください。

AddComServer ディレクティブは、INF ファイル内の別の場所で名前付き com-server-install-section を参照する必要があります。 このような各セクションの形式は次のとおりです。

[com-server-install-section]

ServerType            = server-type
ServerBinary          = binary-path
[ServerBinaryWow64    = wow64-binary-path]
AddComClass           = {clsid-guid}[, flags[, com-class-install-section]]

com-server-install-section では、ServerTypeServerBinary、および 1 つ以上の AddComClass を別個の行に指定する必要があります。

com-server-install-section のエントリと値

ServerType

登録する COM サーバーの種類を指定します。 各 COM サーバーの種類には、必須および省略可能なエントリとディレクティブの特定のセットがあります。 0x1 (インプロセス) のみサポートされています。

server-type-enum サーバーの種類 必須ディレクティブ オプション ディレクティブ
0x1 インプロセス
  • ServerBinary
  • AddComClass
  • ServerBinaryWow64
  • ThreadingModel

ServerBinary

ネイティブ アーキテクチャの COM サーバー バイナリへのパス。

ServerBinaryWow64

AMD64 プラットフォームにおける非ネイティブ x86 アーキテクチャ サポート用の COM サーバー WOW64 バイナリへのパス。

AddComClass = {clsid-guid}[, flags[, com-class-install-section]]

この必須ディレクティブを 1 回以上使用し、オプションのインストール セクションで COM クラスを登録できます。

COM クラスを登録する方法について詳しくは、INF AddComClass ディレクティブをご覧ください。

[ContosoEncoderServer.NT.COM]
AddComServer   = ContosoEncoderServer,, ContosoEncoder_ComServer_Inst

[ContosoEncoder_ComServer_Inst]
ServerType     = 1 ; in-proc
ServerBinary   = %13%\contoso_encoder.dll
AddComClass    = {bb2b85ab-9473-42e5-8d1a-0f01d3879879}
AddComClass    = {f1baf99b-d28a-4ea3-b652-355da082d260}, 0, ContosoEncoderControl_ComClass_Inst

[ContosoEncoderControl_ComClass_Inst]
Description    = %ContosoEncoder_Comclass_Desc%
ThreadingModel = Apartment

[Strings]
%ContosoEncoder_Comclass_Desc%="Contoso H.264 Encoder"

関連項目