Seção do fabricante INF
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]
...
Entradas
identificador do fabricante
Identifica exclusivamente um fabricante e uma seção INF que contém informações que identificam os modelos de dispositivo de um fabricante. Cada entrada de identificador do fabricante deve existir em uma linha separada e usar o seguinte formato:
manufacturer-name |
%strkey%=models-section-name |
%strkey%=models-section-name [,TargetOSVersion] [,TargetOSVersion] ... (Windows XP and later versions of Windows)
Essas entradas são definidas da seguinte forma:
nome do fabricante
Identifica o fabricante dos dispositivos. O INF também deve conter uma seção Modelos INF correspondente 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.)
chave de jogo
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 Cadeias de Caracteres INF do arquivo INF.
nome-da-seção-de-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 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. 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 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 models-section-name na seção Fabricante do INF, bem como os nomes de seção de Modelos INF associados, para 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 do sistema operacional de destino baseadas em x86, mas são recomendadas.
Comentários
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 Criando arquivos INF internacionais e na página de referência da seção Cadeias de caracteres INF.
Se um arquivo INF especificar uma ou mais entradas no formato de nome do fabricante, cada uma dessas entradas especificará 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 sumário, pois essa seção configura a instalação dos modelos de dispositivo de cada fabricante para uma classe de instalação de dispositivo. Cada entrada na seção Fabricante de um arquivo INF especifica um token %strkey% facilmente localizável para o nome de um fabricante e um nome de seção Modelos exclusivo para o INF por fabricante.
As entradas models-section-name na seção Fabricante podem ser decoradas para especificar as versões do sistema operacional de destino. Diferentes seções de Modelos INF 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 da seguinte forma:
NT
Especifica que o sistema operacional de destino é baseado em NT. O Windows 2000 e versões posteriores do Windows são todas baseadas 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 em nomes de seção de 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 do 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 |
Windows 8 | 6 |
Windows Server 2008 R2 | 6 |
Windows 7 | 6 |
Windows Server 2008 | 6 |
Windows Vista | 6 |
Windows Server 2003 R2 | 5 |
Windows Server 2003 | 5 |
Windows XP | 5 |
Windows 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 secundária |
---|---|
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 |
Windows 8 | 2 |
Windows Server 2008 R2 | 1 |
Windows 7 | 1 |
Windows Server 2008 | 0 |
Windows Vista | 0 |
Windows Server 2003 R2 | 2 |
Windows Server 2003 | 2 |
Windows XP | 1 |
Windows 2000 | 0 |
ProductType
Um número que representa um dos sinalizadores VER_NT_xxxx 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 der suporte a 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 sinalizadores VER_SUITE_xxxx 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 pacote forem especificados, o INF será usado somente se o sistema operacional corresponder a todos os conjuntos de produtos especificados. Se o INF der suporte a várias combinações de conjunto de produtos para uma única versão do sistema operacional, várias entradas TargetOSVersion serão necessárias.
BuildNumber
Um número que representa o número mínimo de build do sistema operacional da versão do Windows à qual a seção é aplicável, começando com o build 14310 ou posterior.
O número de compilação é considerado relativo apenas a alguma versão principal/secundária específica do sistema operacional e pode ser redefinido para alguma versão principal/secundária futura do sistema operacional.
Qualquer número de build 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 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 build especificado. Da mesma forma, se a versão atual do sistema operacional for menor que a versão do sistema operacional especificada pela decoração TargetOSVersion , a seção não será aplicável.
Se o número de build for fornecido, a versão do sistema operacional e o BuildNumber da decoração TargetOSVersion deverão ser maiores que a versão do sistema operacional e o número de build do Windows 10 build 14310 em que essa 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, portanto, uma tentativa de direcionar essas compilações anteriores 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 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 |
O 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 obter mais informações sobre a decoração TargetOSVersion , consulte Combinando extensões de plataforma com versões do sistema operacional.
Importante
É altamente recomendável que você sempre decore as entradas models-section-name 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 da plataforma NT e uso . 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]
Esse nome se aplica ao pacote Data Center do Windows XP e versões posteriores do Windows em plataformas de hardware baseadas em x86.
[FooMfg.NTamd64]
Esse nome se aplica 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:
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] Seção de modelos .
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] Modelos.
Se o INF for destinado ao uso com versões do sistema operacional anteriores ao Windows XP, ele também deverá conter uma seção Modelos não decorada chamada [FooMfg].
Se um INF der suporte a vários fabricantes, essas regras deverão ser seguidas para cada fabricante.
Veja a seguir exemplos adicionais de decorações do 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 Modelos INF resultante é [FooMfg.NT.7.8]. Para versões anteriores do sistema operacional, como o Windows XP, [FooMfg.NT] é usado.
A seleção da configuração de qual seção de modelos INF usar é baseada nas seguintes regras:
Se o INF contiver seções de Modelos INF para vários números de versão do sistema operacional principais ou secundários, o Windows usará a seção com os números de versão mais altos que não são maiores do que a 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, 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, 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 do Datacenter do Windows XP, pois um número de versão específico tem precedência sobre o tipo de produto e a máscara de pacote.
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 exemplo a seguir mostra parte de uma seção Manufacturer típica de um INF para um instalador específico da 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 sistema operacional:
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, junte-os em uma entrada, conforme visto neste exemplo. Não represente cada destino como uma entrada separada.
Confira também
Combinando extensões de plataforma com versões do sistema operacional