Поделиться через


Объединение расширений платформы с другими расширениями имен разделов

Как указано в разделе Создание INF-файлов для нескольких платформ и операционных систем, для разделов моделей INF требуется оформление расширения платформы, но существуют и другие разделы, в которых они являются необязательными. Используется ли оформление расширений платформы в этих разделах, где это необязательно, обычно зависит от того, пытается ли INF поддерживать различные платформы или нет, а также от того, одинаковы ли инструкции по установке (включая точные файлы для копирования) на каждой платформе.

При использовании расширений платформы в разделе INF DDInstall используются все связанные разделы DDInstall, например DDInstall. Службы, DDInstall. HW и DDInstall. Разделы интерфейсов должны использовать одно и то же расширение платформы.

INF-файлы, содержащие расширения платформы install-section-name , также могут включать расширения платформы с разделом INF SourceDisksNames и записями раздела INF SourceDisksFiles , чтобы указать расположения файлов установки в зависимости от платформы.

Пример. Несколько платформ с одинаковыми инструкциями по установке и скопированными файлами

В этом фрагменте из примера 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-файл, если он должен поддерживать несколько платформ, где копируемые файлы различаются для каждой платформы. Копируемые файлы можно различать по разделам [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-файл, если он должен поддерживать несколько платформ, где копируемые файлы различаются для каждой платформы и существуют разные инструкции по установке.

[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]
...