Partilhar via


Criando arquivos INF para várias plataformas e sistemas operacionais

Usando extensões de plataforma definidas pelo sistema para seções e diretivas de arquivo INF, você pode criar um único arquivo INF para instalações entre plataformas. As extensões permitem criar nomes de secção decorados que especificam quais seções e diretivas são relevantes para cada plataforma de destino e sistema operativo. Por exemplo, pode criar um ficheiro INF que instala um dispositivo apenas em sistemas baseados em x64, apenas em sistemas baseados em Itanium, apenas em sistemas baseados em x86 ou em todos os sistemas suportados pelo Windows 2000 e versões posteriores do Windows.

A tabela a seguir resume as extensões de plataforma suportadas pelo sistema que podem ser adicionadas aos nomes das seções que oferecem suporte a extensões.

Extensão da plataforma Utilização

.ntamd64

A secção contém instruções para instalar um dispositivo ou conjunto de modelos compatíveis com dispositivos em sistemas baseados em x64 suportados pelo Windows XP e posteriores.

.ntia64

A secção contém instruções para instalar um dispositivo ou conjunto de modelos compatíveis com dispositivos em sistemas baseados em Itanium suportados pelo Windows XP e posteriores.

.ntx86

A secção contém instruções para instalar um dispositivo ou conjunto de modelos compatíveis com dispositivos em sistemas baseados em x86 suportados pelo Windows XP e posteriores.

.ntarm

A seção contém instruções para instalar um dispositivo ou conjunto de modelos compatíveis com dispositivos em sistemas baseados em Arm que são suportados pelo Windows 8 e posterior.

.ntarm64

A seção contém instruções para instalar um dispositivo ou conjunto de modelos compatíveis com dispositivos em sistemas baseados em Arm64 que são suportados pelo Windows 10 versão 1709 e posterior.

.nt

Em versões do Windows anteriores ao Windows Server 2003 SP1, a seção contém instruções para instalar um dispositivo ou conjunto de modelos compatíveis com o dispositivo em todos os sistemas suportados pelo sistema operacional.

A partir do Windows Server 2003 SP1, a seção contém instruções para instalar um dispositivo ou conjunto de modelos compatíveis com dispositivos em sistemas baseados em x86 suportados pelo sistema operacional.

(sem extensão de plataforma)

Em versões do Windows anteriores ao Windows Server 2003 SP1, a seção contém instruções para instalar um dispositivo ou conjunto de modelos compatíveis com o dispositivo em todos os sistemas suportados pelo sistema operacional.

A partir do Windows Server 2003 SP1, a seção contém instruções para instalar um dispositivo ou conjunto de modelos compatíveis com dispositivos em sistemas baseados em x86 suportados pelo sistema operacional.

No Windows Server 2003 Service Pack 1 (SP1) e posterior, os arquivos INF devem decorar entradas na seção Modelos INF com extensões de plataforma .ntia64, .ntarm, .ntarm64 ou .ntamd64 para especificar versões do sistema operacional de destino não x86. Essas extensões de plataforma não são necessárias em arquivos INF para versões de sistema operacional de destino baseadas em x86, mas são altamente recomendadas. A mesma configuração de extensão de plataforma ou extensão de plataforma .nt é opcional em todas as outras seções que suportam extensões de plataforma.

Observação

É altamente recomendável que você sempre decore entradas na seção Modelos INF com extensões de plataforma para sistemas operacionais de destino do Windows XP e versões posteriores do Windows. Para plataformas de hardware baseadas em x86, você deve evitar o uso da extensão de plataforma .nt e usar .ntx86 em vez disso.

Para seções que oferecem suporte a extensões de plataforma opcionais, o Windows seleciona qual seção processar, da seguinte maneira:

  1. O Windows verifica uma seção de arquitetura> section-name.nt< e, se existir, processa-a. O Windows verifica a extensão de arquitetura> .nt< no arquivo INF que está sendo processado e em todos os arquivos INF incluídos (ou seja, todos os arquivos INF incluídos nas entradas Include).

  2. Se uma seção section-name.nt<architecture> não existir, o Windows verificará se há uma seção section-name.nt no arquivo INF ou em quaisquer arquivos INF incluídos. Se existir, o Windows processa a seção section-name.nt.

  3. Se uma seção section-name.nt não existir, o Windows processará uma seção section-name que não inclui uma extensão de plataforma.

Para seções onde as extensões de plataforma dearquitetura> .nt e .nt< são opcionais, a abordagem mais simples para criar e manter um arquivo INF de sistema de plataforma cruzada é não usar extensões de plataforma nesses nomes de seção e incluir a extensão de arquitetura> .nt< somente nos nomes das seções de seção Modelos INF. No entanto, isso pressupõe que o arquivo INF não precisa copiar versões específicas da arquitetura de arquivos e que as configurações de instalação são as mesmas entre arquiteturas. Para cenários mais avançados para INFs multi-plataforma, consulte Combinação de extensões de plataforma com outras extensões de nome de seção.

Para criar um arquivo INF multiplataforma tão simples, faça o seguinte:

  1. Crie um arquivo INF válido que contenha as entradas genéricas necessárias em todos os arquivos INF, conforme descrito em Diretrizes gerais para arquivos INF.

  2. Inclua uma secção Fabricante INF que contenha um identificador de fabricante para especificar o nome da seção Modelos INF do dispositivo e que determine a extensão da plataforma .nt<arquitetura>. Por exemplo, a seção Fabricante a seguir especifica um nome de seção Modelos INF de "AbcModelSection" para um dispositivo Abc e a extensão da plataforma de arquitetura> .nt<.

    [Manufacturer]
    ; The manufacturer-identifier for the Abc device.
    %ManufacturerName%=AbcModelSection,nt<architecture>
    
  3. Inclua uma seção Models.nt<architecture> cujo nome corresponda ao nome da seção Models especificado pelo identificador do fabricante na seção Fabricante. Por exemplo, a seguinte seção de arquitetura >AbcModelSection.nt< para um dispositivo Abc inclui uma descrição do dispositivo que especifica um nome de seção de instalação de "AbcInstallSection".

    [AbcModelSection.nt<architecture>]
    %AbcDeviceName%=AbcInstallSection,Abc-hw-id
    
  4. Inclua uma seção DDInstall cujo nome corresponda ao install-section-name especificado pela seção Models . Por exemplo, a descrição do dispositivo em uma seção AbcModelSection especifica a seguinte seção AbcInstallSection para um dispositivo Abc.

    [AbcInstallSection]
    ; Install section entries go here.
    ...
    
  5. Inclua outras secções específicas do dispositivo que são necessárias para instalar o dispositivo, mas não inclua uma extensão de plataforma .nt<arquitetura> nos nomes dessas secções. Para obter mais informações sobre seções e diretivas de arquivos INF, consulte Resumo das seções INF e Resumo das diretivas INF.

Ver também