Compartilhar via


Combinando extensões de plataforma com outras extensões de nome de seção

Conforme indicado em Criando arquivos INF para várias plataformas e sistemas operacionais, as decorações de extensão de plataforma são necessárias para seções de Modelos INF, mas há outras seções em que elas são opcionais. Se as decorações de extensão de plataforma são usadas ou não nessas seções em que ela é opcional geralmente depende se o INF está tentando dar suporte a diferentes plataformas ou não e se as instruções de instalação (incluindo os arquivos exatos a serem copiados) são as mesmas em cada plataforma.

Ao usar extensões de plataforma em uma Seção DDInstall do INF, todas as seções DDInstall relacionadas, como DDInstall. Serviços, DDInstall. HW e DDInstall. As seções de interfaces devem usar a mesma extensão de plataforma.

Os arquivos INF que contêm extensões de plataforma install-section-name também podem incluir extensões de plataforma com a seção SourceDisksNames do INF e as entradas da seção SourceDisksFiles do INF , para especificar locais de arquivo de instalação de maneira específica da plataforma.

Exemplo: várias plataformas com as mesmas instruções de instalação e os mesmos arquivos copiados

Este trecho de um arquivo INF de exemplo demonstra como um INF pode ser estruturado se ele der suporte a várias plataformas em que os arquivos copiados (se houver) e as instruções de instalação são as mesmas para cada plataforma.

[SourceDisksFiles]
ArchitectureAgnosticFile.txt=1

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

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

[ExampleInstallSection]
CopyFiles=FilesToCopy

[FilesToCopy]
ArchitectureAgnosticFile.txt

[ExampleInstallSection.Hw]
...

Exemplo: várias plataformas com as mesmas instruções de instalação e arquivos diferentes copiados

Este trecho de um arquivo INF de exemplo demonstra como um INF pode ser estruturado se ele der suporte a várias plataformas em que os arquivos copiados são diferentes para cada plataforma. Os arquivos a serem copiados podem ser diferenciados por seções específicas da arquitetura [SourceDisksFiles], mas as seções de instalação ainda podem ser as mesmas.

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

Exemplo: várias plataformas com instruções de instalação diferentes e arquivos diferentes copiados

Este trecho de um arquivo INF de exemplo demonstra como um INF pode ser estruturado se ele der suporte a várias plataformas em que os arquivos copiados são diferentes para cada plataforma e há instruções de instalação diferentes.

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