将平台扩展与其他节名称扩展相结合

为多个平台和操作系统创建 INF 文件中所述, INF 模型部分需要平台扩展修饰,但还有其他部分是可选的。 平台扩展修饰是否用于这些可选部分,通常取决于 INF 是否尝试支持不同的平台,以及安装说明 (包括要复制) 的确切文件在每个平台上是否相同。

INF DDInstall 节上使用平台扩展时,所有相关的 DDInstall 节,如 DDInstall。服务DDInstall。HWDDInstall。接口 部分必须使用相同的平台扩展。

包含 install-section-name 平台扩展的 INF 文件还可以包含平台扩展及其 INF SourceDisksNames 部分INF SourceDisksFiles 节 条目,以以特定于平台的方式指定安装文件位置。

示例:多个平台,其中复制了相同的安装说明和相同的文件

此示例 INF 文件的摘录演示了如果 INF 应支持复制 (文件的多个平台,如果每个平台的任何) 和安装说明都相同,则 INF 的结构可能如何。

[SourceDisksFiles]
ArchitectureAgnosticFile.txt=1

[ExampleModelsSection.NTx86]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId

[ExampleModelsSection.NTamd64]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId

[ExampleInstallSection]
CopyFiles=FilesToCopy

[FilesToCopy]
ArchitectureAgnosticFile.txt

[ExampleInstallSection.Hw]
...

示例:复制了相同安装说明和不同文件的多个平台

此示例 INF 文件的摘录演示了如果 INF 应支持多个平台(其中每个平台复制的文件不同)时,INF 的结构可能如何。 要复制的文件可以按特定于体系结构的 [SourceDisksFiles] 部分进行区分,但安装部分仍可以相同。

[SourceDisksFiles.x86]
ArchitectureSpecificBinary.sys=1,x86

[SourceDisksFiles.amd64]
ArchitectureSpecificBinary.sys=1,amd64

[ExampleModelsSection.NTx86]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId

[ExampleModelsSection.NTamd64]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId

[ExampleInstallSection]
CopyFiles=FilesToCopy

[FilesToCopy]
ArchitectureSpecificBinary.sys

[ExampleInstallSection.Services]
AddService=ExampleService,2,ExampleServiceInstallSection

[ExampleServiceInstallSection]
...

示例:具有不同安装说明和不同文件复制的多个平台

此示例 INF 文件的摘录演示了如果 INF 应支持多个平台(其中每个平台复制的文件不同且安装说明不同),INF 的结构可能如何。

[SourceDisksFiles.x86]
ArchitectureSpecificBinary.sys=1,x86
x86OnlyBinary.dll=1,x86

[SourceDisksFiles.amd64]
ArchitectureSpecificBinary.sys=1,amd64

[ExampleModelsSection.NTx86]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId

[ExampleModelsSection.NTamd64]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId

[ExampleInstallSection.NTx86]
CopyFiles=FilesToCopy_x86

[FilesToCopy_x86]
ArchitectureSpecificBinary.sys
x86OnlyBinary.dll

[ExampleInstallSection.NTx86.Services]
AddService=ExampleService,2,ExampleServiceInstallSection

[ExampleInstallSection.NTamd64]
CopyFiles=FilesToCopy_amd64

[FilesToCopy_amd64]
ArchitectureSpecificBinary.sys

[ExampleInstallSection.NTamd64.Services]
AddService=ExampleService,2,ExampleServiceInstallSection

[ExampleServiceInstallSection]
...