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"

另请参阅