Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Dentro da secção Fabricante INF de um ficheiro INF, pode fornecer secções de Modelos INF específicas para várias versões do sistema operativo Windows. Estas secções de Modelos específicas de cada versão são identificadas usando a decoração TargetOSVersion .
Dentro do mesmo ficheiro INF, diferentes secções de Modelos INF podem ser especificadas para diferentes versões do sistema operativo. As versões especificadas indicam as versões do sistema operativo alvo com as quais as secções INF Models serão utilizadas. Se não forem especificadas versões, o Windows utiliza uma secção Models sem a decoração TargetOSVersion para todas as versões de todos os sistemas operativos.
Formato da decoração TargetOSVersion
O exemplo seguinte mostra o formato correto da decoração TargetOSVersion para Windows XP até Windows 10, versão 1511:
nt[Architecture][.[OSMajorVersion][.[OSMinorVersion][.[ProductType][.[SuiteMask]]]]]
A partir do Windows 10, versão 1607 (Build 14310 e posteriores), o formato correto da decoração TargetOSVersion inclui BuildNumber:
nt[Architecture][.[OSMajorVersion][.[OSMinorVersion][.[ProductType][.[SuiteMask]][.[BuildNumber]]]]]
Cada campo é definido da seguinte forma:
nt
Especifica que o sistema operativo alvo é baseado em NT. O Windows 2000 e as versões posteriores do Windows são baseados em NT.
Architecture
Identifica a plataforma de hardware. Para mais informações sobre decorações de plataforma de arquitetura nas secções Modelos, consulte Criação de Ficheiros INF para Múltiplas Plataformas e Sistemas Operativos.
OSMajorVersion
Um número que representa o número da versão principal do sistema operativo. Para uma tabela que lista as principais versões dos sistemas operativos Windows, consulte OSMajorVersion na secção INF Manufacturer.
OSMinorVersion
Um número que representa o número de versão menor do sistema operativo. Para uma tabela que lista versões menores para os sistemas operativos Windows, consulte OSMinorVersion na secção INF Manufacturer.
TipoDeProduto
Um número que representa um dos flags VER_NT_xxxx definidos no Winnt.h, como o seguinte:
0x0000001 (VER_NT_WORKSTATION)
0x0000002 (VER_NT_DOMAIN_CONTROLLER)
0x0000003 (VER_NT_SERVER)
Se for especificado um tipo de produto, o ficheiro INF será usado apenas se o sistema operativo corresponder ao tipo de produto especificado. Se o ficheiro INF suportar múltiplos tipos de produto para uma única versão do sistema operativo, são necessárias várias entradas TargetOSVersion .
SuiteMask
Um número que representa uma combinação de uma ou mais das flags VER_SUITE_xxxx definidas no Winnt.h. Estes indicadores incluem os seguintes itens:
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 forem especificados um ou mais valores de máscara de conjunto de produtos, o ficheiro INF será usado apenas se o sistema operativo corresponder a todos os conjuntos de produtos especificados. Se o ficheiro INF suportar múltiplas combinações de conjunto de produtos para uma única versão do sistema operativo, são necessárias múltiplas entradas TargetOSVersion .
BuildNumber
Especifica o número mínimo de compilação do sistema operativo da versão do Windows 10 à qual a secção se aplica, começando pela compilação 14310 ou posterior. Para uma tabela que lista os números de compilação dos sistemas operativos Windows, consulte BuildNumber na secção INF Manufacturer.
Assume-se que o número de compilação é relativo apenas a alguma versão principal/secundária específica do sistema operativo, e pode ser reiniciado para alguma versão principal/secundária futura do sistema operativo.
Qualquer número de compilação especificado pela decoração TargetOSVersion é avaliado apenas quando a versão principal/secundária do SO de TargetOSVersion corresponde exatamente à versão atual do SO (ou AltPlatformInfo). Se a versão atual do SO for superior à versão especificada pela decoração TargetOSVersion (OSMajorVersion, OSMinorVersion), a secção é considerada aplicável independentemente do número de compilação especificado. Da mesma forma, se a versão atual do sistema operativo for inferior à versão especificada pela decoração TargetOSVersion, a secção não é aplicável.
Se for fornecido o número de compilação, a versão do SO e o Número de Compilação da decoração TargetOSVersion devem ser ambos 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 operativo sem estas alterações (por exemplo, Windows 10 build 10240) não conseguem interpretar decorações desconhecidas, por isso uma tentativa de direcionar estas versões anteriores impedirá, na verdade, que esse sistema operativo considere a decoração de todo válida.
Como o Windows processa as decorações de TargetOSVersion
Quando instala um pacote de drivers num dispositivo, o Windows segue estes passos para processar as secções de Modelos INF dentro de um ficheiro INF:
Se uma ou mais secções de Modelos INF tiverem a decoração TargetOS, o Windows seleciona a secção de Modelos INF que mais corresponde aos atributos do sistema operativo anfitrião.
Por exemplo, se uma secção INF Models tiver uma decoração TargetOS de ntx86.5.1, o Windows seleciona essa secção se o sistema operativo anfitrião estiver a executar o Windows XP ou uma versão posterior do Windows num sistema baseado em x86.
De forma semelhante, se uma secção de Modelos INF tiver uma decoração TargetOSde nt.6.0, o Windows seleciona essa secção se o sistema operativo anfitrião for o Windows Vista ou uma versão posterior do Windows em qualquer plataforma de hardware suportada.
Se uma secção INF Models tiver uma decoração TargetOS de nt.10.0...14393, o Windows seleciona essa secção se o sistema operativo anfitrião estiver a executar uma versão Windows 10 igual ou superior a 14393 em qualquer plataforma de hardware suportada.
Se nenhuma das secções Models INF tiver uma decoração TargetOS que corresponda ao sistema operativo anfitrião, o Windows seleciona a secção Models que tenha ou uma extensão de plataforma correspondente ou nenhuma extensão de plataforma.
Por exemplo, se uma secção Models tiver uma extensão de plataforma de ntx86, Windows seleciona essa secção se o sistema operativo anfitrião for Microsoft Windows 2000 ou posterior num sistema baseado em x86.
Se o Windows não conseguir encontrar uma secção de Modelos INF correspondente, não irá instalar esse pacote de drivers no dispositivo.
Como as decorações de TargetOsVersion são resolvidas
Ao determinar as secções aplicáveis de Modelos INF, a avaliação é realizada por linha dentro da secção de Fabricante INF, onde, para uma dada versão do SO, cada linha pode ter até uma secção aplicável.
O excerto abaixo do INF mostra um exemplo em que [ExampleModelsSection_1.NTamd64.10.0...17134] será selecionado num número de compilação do Windows igual ou superior a 17134, e tanto [ExampleModelsSection_1.NTamd64.10.0...17134] como [ExampleModelsSection_2.NTamd64.10.0...22000] serão selecionados num número de compilação do Windows igual ou superior a 22000.
[Manufacturer]
%ManufacturerName% = ExampleModelsSection_1,NTamd64.10.0...17134
%ManufacturerName% = ExampleModelsSection_2,NTamd64.10.0...22000
O excerto abaixo do INF mostra um exemplo em que [ExampleModelsSection_1.NTamd64.10.0...17134] será selecionado num número de compilação do Windows igual ou superior a 17134, e [ExampleModelsSection_1.NTamd64.10.0...22000] será selecionado num número de compilação do Windows igual ou superior a 22000.
[Manufacturer]
%ManufacturerName% = ExampleModelsSection_1,NTamd64.10.0...17134,NTamd64.10.0...22000
Exemplos de secções INF de Models com decorações TargetOSVersion
Aplica-se a uma versão específica do sistema operativo e posteriores
Este excerto do INF mostra como pode especificar que um pacote de drivers só se aplica a uma determinada versão do sistema operativo e versões posteriores.
[Manufacturer]
%ManufacturerName% = ExampleModelsSection,NTamd64.10.0...17134
; This driver package applies to Windows 10 1803 (build 17134) and later only
[ExampleModelsSection.NTamd64.10.0...17134]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId
[ExampleInstallSection]
...
Aplica-se apenas a uma única versão do sistema operativo
Este excerto do INF mostra como se pode especificar que um pacote de drivers só se aplica a uma única versão do sistema operativo.
[Manufacturer]
%ManufacturerName% = ExampleModelsSection,NTamd64.10.0...17134,NTamd64.10.0...17763
; This driver package applies to Windows 10 1803 (build 17134)
[ExampleModelsSection.NTamd64.10.0...17134]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId
; However, this driver package does nothing on Windows 10 1809 (build 17763) and later
[ExampleModelsSection.NTamd64.10.0...17763]
; intentionally left empty
[ExampleInstallSection]
...
Aplicar a várias versões do sistema operativo com definições diferentes
Este excerto do INF mostra como pode especificar que um pacote de drivers deve seguir instruções de instalação diferentes para diferentes versões do sistema operativo.
[Manufacturer]
%ManufacturerName% = ExampleModelsSection,NTamd64.6.1,NTamd64.10.0
; This driver package applies to Windows 7 and later
[ExampleModelsSection.NTamd64.6.1]
%DeviceDesc%=ExampleInstallSection_Win7,ExampleHardwareId
; However, this driver package has different installation instructions on Windows 10 and later
[ExampleModelsSection.NTamd64.10.0]
%DeviceDesc%=ExampleInstallSection_Win10,ExampleHardwareId
[ExampleInstallSection_Win7]
...
[ExampleInstallSection_Win10]
...