Partilhar via


Secção INF Fabricante

A seção Fabricante identifica o fabricante de um ou mais dispositivos que podem ser instalados usando o arquivo INF.

[Manufacturer]

manufacturer-identifier
[manufacturer-identifier] 
[manufacturer-identifier] 
...

Inscrições

identificador-fabricante
Identifica exclusivamente um fabricante e uma seção INF que contém informações que identificam os modelos de dispositivos de um fabricante. Cada entrada do identificador do fabricante deve existir numa linha separada e utilizar o seguinte formato:

manufacturer-name |
%strkey%=models-section-name |
%strkey%=models-section-name [,TargetOSVersion] [,TargetOSVersion] ...  (Windows XP and later versions of Windows)

Estas entradas são definidas do seguinte modo:

Nome do fabricante
Identifica o fabricante dos dispositivos. O INF deve também conter uma secção correspondente de modelos INF com o mesmo nome. O comprimento máximo do nome de um fabricante, em caracteres, é LINE_LEN. (Uma entrada especificada dessa maneira não pode ser localizada.)

Strkey
Especifica um token, exclusivo dentro do arquivo INF que representa o nome de um fabricante. Cada token %strkey% deve ser definido em uma seção INF Strings do arquivo INF.

nome-da-secção-modelos
Especifica um nome definido pelo gravador INF para a seção Modelos INF por fabricante dentro do arquivo INF. Esse valor deve ser exclusivo dentro do arquivo INF e deve seguir as regras gerais para definir nomes de seção. Para obter mais informações sobre essas regras, consulte Regras gerais de sintaxe para arquivos INF.

TargetOSVersion
Especifica uma ou mais versões do sistema operacional de destino com as quais várias seções de Modelos INF podem ser usadas. O Windows escolhe a seção Modelos INF que mais se aproxima da versão do sistema operacional na qual ele está sendo executado.

Para obter uma descrição da decoração do TargetOSVersion , consulte a seção Comentários a seguir e informações relacionadas no Exemplo 3 abaixo.

Importante

A partir do Windows Server 2003 SP1, os arquivos INF devem decorar entradas de nome de seção de modelos na seção Fabricante INF, bem como os nomes de seção Modelos INF associados, para versões de sistema operacional de destino não x86. Essas extensões de plataforma não são necessárias em arquivos INF para versões do sistema operacional de destino baseadas em x86, mas são recomendadas.

Observações

Qualquer arquivo INF que instale um ou mais dispositivos deve ter uma seção Fabricante . Um arquivo INF fornecido por IHV/OEM normalmente especifica apenas uma única entrada nesta seção. Se várias entradas forem especificadas, cada entrada deverá estar em uma linha separada do INF.

O uso de uma entrada %strkey%=models-section-name simplifica a localização do arquivo INF para o mercado internacional, conforme descrito em Creating International INF Files e na página de referência para a seção INF Strings.

Se um arquivo INF especificar uma ou mais entradas no formato de nome do fabricante , cada uma dessas entradas especifica implicitamente o nome da seção Modelos correspondente em outro lugar no INF.

Você pode pensar na seção Fabricante de cada arquivo INF fornecido pelo sistema como um índice, porque esta seção configura a instalação de cada modelo de dispositivo do fabricante para uma classe de configuração de dispositivo. Cada entrada na seção Fabricante de um arquivo INF especifica um token de% strkey %facilmente localizável para o nome de um fabricante e um nome de seção exclusivo para os modelos INF por fabricante.

As entradas do nome da seção de modelos na seção Fabricante podem ser decoradas para especificar as versões do sistema operacional de destino. Diferentes INF Modelos seções podem ser especificadas para diferentes versões do sistema operacional. As versões especificadas indicam as versões do sistema operacional com as quais as seções Modelos INF são usadas. Se nenhuma versão for especificada, o Windows usará uma seção Modelos especificada para todas as versões de todos os sistemas operacionais.

Para Windows XP para Windows 10, versão 1511, o formato da decoração TargetOSVersion é o seguinte:

NT[Architecture][.[OSMajorVersion][.[OSMinorVersion][.[ProductType][.SuiteMask]]]]

A partir do Windows 10, versão 1607 (Build 14310 e posterior), o formato da decoração TargetOSVersion é o seguinte:

NT[Architecture][.[OSMajorVersion][.[OSMinorVersion][.[ProductType][.[SuiteMask][.[BuildNumber]]]]]

Cada campo é definido do seguinte modo:

NT
Especifica que o sistema operacional de destino é baseado em NT. Windows 2000 e versões posteriores do Windows são todos baseados em NT.

Arquitetura
Identifica a plataforma de hardware. Se especificado, deve ser x86, ia64, amd64, arm ou arm64.

Antes do Windows Server 2003 SP1, se a Arquitetura não for especificada, a seção Modelos INF associada poderá ser usada com qualquer plataforma de hardware.

A partir do Windows Server 2003 SP1, a arquitetura deve ser especificada nos nomes das seções Modelos INF para versões do sistema operacional de destino não x86. A arquitetura é opcional nos nomes das seções Modelos INF para versões do sistema operacional de destino baseadas em x86, mas é recomendada.

OSMajorVersion
Um número que representa o número da versão principal do sistema operacional. A tabela a seguir define a versão principal para o sistema operacional Windows.

Observação

Para diferenciar entre versões específicas do Windows 10 e 11 em um arquivo INF, você precisa usar BuildNumber (veja abaixo).

Versão do Windows Versão principal
Windows 11 (todas as versões) 10
Windows Server 2022 10
Windows Server 2019 10
Windows Server 2016 10
Windows 10 (todas as versões) 10
Windows Server 2012 R2 6
Windows 8.1 6
Windows Server 2012 6
Janelas 8 6
Windows Server 2008 R2 6
Janelas 7 6
Windows Server 2008 6
Windows Vista 6
Windows Server 2003 R2 5
Windows Server 2003 5
Janelas XP 5
Janelas 2000 5

OSMinorVersion
Um número que representa o número da versão secundária do sistema operacional. A tabela a seguir define a versão secundária para o sistema operacional Windows.

Versão do Windows Versão menor
Windows 11 (todas as versões) 0
Windows Server 2022 0
Windows Server 2019 0
Windows Server 2016 0
Windows 10 (todas as versões) 0
Windows Server 2012 R2 3
Windows 8.1 3
Windows Server 2012 2
Janelas 8 2
Windows Server 2008 R2 1
Janelas 7 1
Windows Server 2008 0
Windows Vista 0
Windows Server 2003 R2 2
Windows Server 2003 2
Janelas XP 1
Janelas 2000 0

TipoDeProduto
Um número que representa um dos VER_NT_xxxx sinalizadores definidos em Winnt.h, como o seguinte:

0x0000001 (VER_NT_WORKSTATION)

0x0000002 (VER_NT_DOMAIN_CONTROLLER)

0x0000003 (VER_NT_SERVER)

Se um tipo de produto for especificado, o arquivo INF será usado somente se o sistema operacional corresponder ao tipo de produto especificado. Se o INF suportar vários tipos de produto para uma única versão do sistema operacional, várias entradas TargetOSVersion serão necessárias.

SuiteMask
Um número que representa uma combinação de um ou mais dos VER_SUITE_xxxx sinalizadores definidos em Winnt.h. Esses sinalizadores incluem o seguinte:

0x00000001 (VER_SUITE_SMALLBUSINESS)

0x00000002 (VER_SUITE_ENTERPRISE)

0x00000004 (VER_SUITE_BACKOFFICE)

0x00000008 (VER_SUITE_COMMUNICATIONS)

0x00000010 (VER_SUITE_TERMINAL)

0x00000020 (VER_SUITE_SMALLBUSINESS_RESTRICTED)

0x00000040 (VER_SUITE_EMBEDDEDNT)

0x00000080 (VER_SUITE_DATACENTER)

0x00000100 (VER_SUITE_SINGLEUSERTS)

0x00000200 (VER_SUITE_PERSONAL)

0x00000400 (VER_SUITE_SERVERAPPLIANCE)

Se um ou mais valores de máscara de conjunto forem especificados, o INF será usado somente se o sistema operacional corresponder a todos os pacotes de produtos especificados. Se o INF suportar várias combinações de conjuntos de produtos para uma única versão do sistema operacional, várias entradas TargetOSVersion serão necessárias.

Número de compilação
Um número que representa o número mínimo de compilação do SO da versão do Windows à qual a secção é aplicável, começando com a compilação 14310 ou posterior.

Presume-se que o número de compilação seja relativo apenas a alguma versão principal/secundária específica do SO e pode ser reposto para alguma versão maior/secundária do SO futura.

Qualquer número de compilação especificado pela decoração TargetOSVersion é avaliado somente quando a versão principal/secundária do sistema operacional do TargetOSVersion corresponde exatamente à versão atual do sistema operacional (ou AltPlatformInfo).  Se a versão atual do sistema operacional for maior do que a versão do sistema operacional especificada pela decoração TargetOSVersion (OSMajorVersion,OSMinorVersion), a seção será considerada aplicável independentemente do número de compilação especificado. Da mesma forma, se a versão atual do sistema operacional for menor do que a versão do sistema operacional especificada pela decoração do TargetOSVersion , a seção não será aplicável.

Se o número de compilação for fornecido, a versão do SO e o BuildNumber da decoração TargetOSVersion devem ser maiores do que a versão do SO e o número de compilação da compilação 14310 do Windows 10 onde esta decoração foi introduzida pela primeira vez. Versões anteriores do sistema operacional sem essas alterações (por exemplo, Windows 10 build 10240) não analisarão decorações desconhecidas, então uma tentativa de direcionar essas compilações anteriores realmente impedirá que o sistema operacional considere a decoração válida.

A tabela a seguir define o número de compilação para o sistema operacional Windows.

Versão do Windows Número do build
Windows Server 2025 26100
Windows 11 versão 24H2 26100
Windows 11, versão 23H2 22631
Windows 11, versão 22H2 22621
Windows 11, versão 21H2 22000
Windows Server 2022 20348
Windows 10, versão 22H2 19045
Windows 10, versão 21H2 19044
Windows 10, versão 21H1 19043
Windows 10, versão 20H2 19042
Windows 10 versão 2004 19041
Windows 10 versão 1909 18363
Windows 10, versão 1903 18362
Windows Server 2019 17763
Windows 10 versão 1809 17763
Windows 10, versão 1803 17134
Windows 10, versão 1709 16299
Windows 10 versão 1703 15063
Windows Server 2016 14393
Windows 10 versão 1607 14393

Para mais informações sobre a designação TargetOSVersion, consulte Combinar extensões de plataforma com versões do sistema operativo.

Importante

É altamente recomendável que você sempre decore entradas de nome de seção de modelos nas seções Fabricante e Modelos com extensões de plataforma para sistemas operacionais de destino do Windows XP ou versões posteriores do Windows. Para plataformas de hardware baseadas em x86, você deve evitar o uso do . Extensão e uso da plataforma NT . NTx86 em vez disso.

Se o INF contiver entradas da seção Fabricante com decorações, ele também deverá incluir seções Modelos INF com nomes que correspondam às decorações do sistema operacional. Por exemplo, se um INF contiver a seguinte seção Fabricante :

%FooCorp%=FooMfg, NTx86.... 0x80, NTamd64

Em seguida, o INF também deve conter seções de modelos INF com os seguintes nomes:

  • [FooMfg.NTx86.... 0x80]

    Este nome aplica-se ao conjunto de centros de dados do Windows XP e versões posteriores do Windows em plataformas de hardware baseadas em x86.

  • [FooMfg.NTamd64]

    Este nome aplica-se a todos os tipos de produtos e pacotes do Windows XP e versões posteriores do Windows em plataformas de hardware baseadas em x64.

Durante a instalação, o Windows seleciona uma seção Modelos INF da seguinte maneira:

  1. Se o Windows estiver sendo executado em uma versão baseada em x86 do sistema operacional (Windows XP ou versões posteriores) que inclui o pacote de produtos Data Center, o Windows selecionará o [FooMfg.NTx86.... 0x80]Secção Modelos .

  2. Se o Windows estiver sendo executado em uma versão baseada em x64 do sistema operacional (Windows XP ou versões posteriores) para qualquer pacote de produtos, o Windows selecionará a seção [FooMfg.NTamd64]Models .

Se o INF se destinar a ser usado com versões do sistema operacional anteriores ao Windows XP, ele também deve conter uma seção Modelos não decorados chamada [FooMfg].

Se um INF suportar vários fabricantes, estas regras devem ser seguidas para cada fabricante.

A seguir estão exemplos adicionais de decorações TargetOSVersion :

  • %FooCorp% = FooMfg, NTx86

    Neste exemplo, o nome da seção Modelos INF resultante é [FooMfg.NTx86] e é aplicável a qualquer versão x86 do sistema operacional (Windows XP ou posterior).

  • %FooCorp% = FooMfg, NT.7.8

    Neste exemplo, para a versão 7.8 e posterior do sistema operacional, o nome da seção INF Models resultante é [FooMfg.NT.7.8]. Para versões anteriores do sistema operacional, como o Windows XP, [FooMfg.NT] é usado.

A seleção da seção Modelos INF a ser usada pela Instalação baseia-se nas seguintes regras:

  • Se o INF contiver seções Modelos INF para vários números de versão principais ou secundários do sistema operacional, o Windows usará a seção com os números de versão mais altos que não são superiores à versão do sistema operacional na qual a instalação está ocorrendo.

  • Se as seções Modelos INF que correspondem à versão do sistema operacional também incluírem decorações de tipo de produto e/ou conjunto de produtos, o Windows selecionará a seção que mais se aproxima do sistema operacional em execução.

Suponha, por exemplo, que o Windows esteja sendo executado no Windows XP (versão 5.1), sem o pacote de produtos Data Center, e encontre a seguinte entrada em uma seção Fabricante :

%FooCorp%=FooMfg, NT, NT.5, NT.5.5, NT.... 0x80

Nesse caso, o Windows procura uma seção Modelos INF chamada [FooMfg.NT.5]. O Windows também usa a seção [FooMfg.NT.5] se estiver sendo executado em uma versão Datacenter do Windows XP, porque um número de versão específico tem precedência sobre o tipo de produto e a máscara do conjunto.

Se você quiser que um INF exclua explicitamente uma versão específica do sistema operacional, tipo de produto ou pacote, crie uma seção Modelos INF vazia. Por exemplo, uma seção vazia chamada [FooMfg.NTx86.6.0] proíbe a instalação em versões 6.0 e superiores do sistema operacional baseado em x86.

Exemplos

Este exemplo mostra uma seção Manufacturer típica de um INF para um único IHV.

[Manufacturer]
%Mfg%=Contoso,NTamd64        ; Models section == Contoso

[Contoso.NTamd64]

; ...
[Strings]
Mfg = "Contoso, Ltd."

O próximo exemplo mostra parte de uma seção Manufacturer típica de um INF para um instalador específico de classe de dispositivo:

[Manufacturer]
%CONTOSO%=Contoso_Section,NTamd64
; several entries omitted here for brevity
%FABRIKAM%=Fabrikam_Section,NTamd64
%ADATUM%=Adatum_Section,NTamd64

O exemplo a seguir mostra uma seção Fabricante específica para plataformas x86, Windows XP e posteriores:

[Manufacturer]
%foo%=foosec,NTx86.5.1

[foosec.NTx86.5.1]

O exemplo a seguir mostra uma seção Fabricante específica para plataformas x64, Windows 10 build 14393 e posterior:

[Manufacturer]
%foo%=foosec,NTamd64.10.0...14393

[foosec.NTamd64.10.0...14393]

Os dois exemplos a seguir mostram arquivos INF esqueléticos com uma variedade de seções de modelos INF específicos do SO:

Exemplo 1:

[Manufacturer]
%MyName% = MyName,NTx86.5.1
.
[MyName]
%MyDev% = InstallA,hwid
.
[MyName.NTx86.5.1]
%MyDev% = InstallB,hwid
.
[InstallA]   ; Windows 2000 
.
.
[InstallB]   ; Windows XP and later, x86 only
.

Exemplo 2:

[Manufacturer]
%MyName% = MyName,NTx86.6.0,NTx86.5.1,
.
[MyName.NTx86.6.0] ; Empty section, so this INF does not support
.                  ; NT 6.0 and later.
.
[MyName.NTx86.5.1] ; Used for NT 5.1 and later
.                  ; (but not NT 6.0 and later due to the NTx86.6.0 entry)
%MyDev% = InstallB,hwid
.
[MyName]           ; Empty section, so this INF does not support
.                  ; Win2000
.

Exemplo 3:

[Manufacturer]
%MyMfg% = MyMfg, NTamd64.6.1, NTamd64.10.0, NTamd64.10.0...14310
.
[MyMfg.NTamd64.6.1]          ; Used for Windows 7 and later
.                            ; (but not for Windows 10 and later due to the NT.10.0 entry)
.
[MyMfg.NTamd64.10.0]         ; Used for Windows 10
.                            ; (but not for Windows 10 build 14393 and later due to the NT.10.0...14393 entry)
.
[MyMfg.NTamd64.10.0...14393] ; Used for Windows 10 build 14393 and later
.
.

Observação

Ao especificar vários TargetOSVersions, encadeie-os juntos em uma entrada, como visto neste exemplo. Não represente cada destino como uma entrada separada.

Ver também

Combinando extensões de plataforma com versões do sistema operacional

Modelos

Cordas