INF AddComClass ディレクティブ
AddComClass は com-server-install-section 内で使用され、COM クラスを登録します。 COM サーバーは、1 つ以上のクラスを定義する必要があります。 このセクションは、Windows 11 バージョン 24H2 以降でサポートされています。
[com-server-install-section]
AddComClass = {clsid-guid}[, flags[, com-class-install-section]]
Entries
clsid-guid
COM クラスを識別する GUID 値を指定します。 {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn} の形の明示的な GUID 値を使用するか、INF ファイルの Strings セクションの {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn} に定義された %strkey% トークンを使用します。
flags
AddComClass ディレクティブの追加フラグを指定します。 フラグは将来使用するために予約されており、空白のままにするか、ゼロに設定する必要があります。
com-class-install-section
COM クラスを登録するための情報を含む INF ライター定義セクションを参照します。 com-class-install-section フィールドは省略可能です。 詳しくは、以下の「解説」セクションをご覧ください。COM クラス全般について詳しくは、「COM クライアントとサーバー」をご覧ください。
解説
システム セットアップ コードは、clsid-guid によって指定された COM クラスを登録します。
INF ライター定義 COM サーバー インストール セクションの各 AddComClass ディレクティブは、INF ファイル内の別の場所にある INF ライター定義の com-class-install-section を参照できます。 INF ライターで定義された各セクション名は、INF ファイル内で一意である必要があり、セクション名を定義するための一般的な規則に従う必要があります。 これらの規則の詳細については、「 INF ファイルの一般的な構文規則」を参照してください。
AddComClass ディレクティブは、INF 内の他の場所にある、指名された com-class-install-section を参照できます。 このような各セクションの形式は次のとおりです。
[com-class-install-section]
[Description = COM-class-description]
[ThreadingModel = threading-model-enum]
説明
Description は、COM クラスを記述する省略可能な値です。
ThreadingModel
スレッド処理モデルは省略可能であり、スレッド モデル COM サーバーでサポートされる内容を定義します。
ThreadingModel | 説明 |
---|---|
アパート | シングルスレッド アパートメント |
両方 | シングルスレッドまたはマルチスレッド アパートメント |
Free | マルチスレッド アパートメント |
ニュートラル | ニュートラル アパートメント |
Note
スレッド処理モデルが指定されていない場合、サーバーはプロセスで初期化された最初のアパートメントに読み込まれます。 詳しくは、「InProcServer32」をご覧ください。
例
[Device_Install.COM]
AddComServer = VendorComServer,, VendorComServer_Inst
[VendorComServer_Inst]
ServerType = 1 ; in-proc
ServerBinary = %13%\Vendor_ComServer.dll
AddComClass = {bb2b85ab-9473-42e5-8d1a-0f01d3879879}
AddComClass = {f1baf99b-d28a-4ea3-b652-355da082d260}, 0, Vendor_ComClass_WithThreadingModel_Inst
[Vendor_ComClass_WithThreadingModel_Inst]
Description = %Vendor_ComClass_Desc%
ThreadingModel = Both
[Strings]
%Vendor_ComClass_Desc%="Vendor COM class"