INF DDInstall.COM 部分

每个 per-Models DDInstall.COM 部分都包含一个或多个 INF AddComServer 指令,这些指令引用 INF 文件中其他 INF 编写器定义的部分。 Windows 11 版本 24H2 及更高版本中支持此部分。

[install-section-name.COM] |
[install-section-name.nt.COM] |
[install-section-name.ntamd64.COM] |
[install-section-name.ntarm64.COM]

AddComServer = com-server-name, [flags], com-server-install-section
[Include=filename.inf[,filename2.inf]...]
[Needs=inf-section-name[,inf-section-name]...]

至少需要一个 AddComServer 指令才能注册 COM 服务器。

条目

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

AddComServer 指令会引用 INF 文件中其他位置的 INF 编写器定义的 com-server-install-section。 AddComServer 指令可用于注册多个 COM 服务器一次或多次。 有关详细信息,请参阅 INF AddComServer 指令;有关 COM 服务器的一般信息,请参阅 COM 客户端和服务器

Include=filename.inf[,filename2.inf]...

此可选条目指定一个或多个其他系统提供的 INF 文件,这些文件中包含安装此设备所需的部分。 如果指定了此条目,则还需要一个 Needs 条目。

Needs=inf-section-name[,inf-section-name]...

此可选条目指定在安装此设备的过程中必须处理的部分。 通常,该部分是系统提供的 INF 文件中的 DDInstall.COM 部分,该文件列在 Include 条目中。 但是,它可以是 DDInstall.COM 部分中引用的任何部分。

注解

COM 二进制文件可使用 DDInstall 部分中的 CopyFiles 指令安装到位。 二进制文件应安装到相对于驱动程序包的驱动程序存储路径的位置(例如 DIRID 13)。 同样,设备安装会在设备相对注册表位置下写入 COM 注册。

在调用 CoCreateInstance 之前,客户端必须在工作线程上调用 CoRegisterDeviceCatalog。 调用 CoRegisterDeviceCatalog 时,将在进程中提供 COM 服务器注册,以供 COM 运行时使用。

DDInstall.COM 部分应具有与其相关的 DDInstall 部分相同的平台和操作系统修饰。 例如,install-section-name.ntamd64 部分将具有对应的 install-section-name.ntamd64.COM 部分。 必须在 INF 文件的每制造商 Models 部分下的设备/模型特定条目中引用指定的 DDInstall 部分。 可以将正式语法语句中显示的 install-section-name 的不区分大小写的扩展插入到跨平台 INF 文件中的此类 DDInstall.COM 部分名称中。

有关如何使用系统定义的 .nt.ntamd64.ntarm64 扩展的详细信息,请参阅为多个平台和操作系统创建 INF 文件

示例

[Device_Install.COM]
AddComServer   = VendorComServer,, VendorComServer_Inst

[VendorComServer_Inst]
ServerType     = 1 ; in-proc
ServerBinary   = %13%\Vendor_ComServer.dll
AddComClass    = {bb2b85ab-9473-42e5-8d1a-0f01d3879879},, Vendor_ComClass_Inst

[Vendor_ComClass_Inst]
Description    = %Vendor_ComClass_Desc%
ThreadingModel = Neutral

[Strings]
%Vendor_ComClass_Desc%="Vendor Com Server"

另请参阅