INF AddComClass 指令
AddComClass 在 com-server-install-section 中用于注册 COM 类。 COM 服务器必须定义一个或多个类。 Windows 11 版本 24H2 及更高版本中支持此部分。
[com-server-install-section]
AddComClass = {clsid-guid}[, flags[, com-class-install-section]]
条目
clsid-guid
指定标识 COM 类的 GUID 值。 在 INF 文件的 Strings 部分中使用形式 {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn} 的显式 GUID 值,或定义为 {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn} 的 %strkey% 令牌。
flags
指定 AddComClass 指令的额外标志。 标志保留供将来使用,因此应留空或设置为零。
com-class-install-section
引用 INF 编写器定义的部分,这些部分中包含用于注册 COM 类的信息。 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]
说明
说明是描述 COM 类的可选值。
ThreadingModel
线程模型可选,定义线程模型 COM 服务器支持的内容。
ThreadingModel | 说明 |
---|---|
单元 | 单线程单元 |
推送、请求和匿名 | 单线程或多线程单元 |
免费 | 多线程单元 |
中立 | 非特定单元 |
注意
如果未指定线程模型,会将服务器加载到进程中初始化的第一个单元中。 有关详细信息,请参阅 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"