Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Na seção Fabricante INF de um arquivo INF, você pode fornecer seções de Modelos INF específicas para várias versões do sistema operacional Windows. Essas seções de Modelos específicas de versão são identificadas usando a decoração TargetOSVersion .
No mesmo arquivo INF, diferentes seções de modelos INF podem ser especificadas para versões diferentes do sistema operacional. As versões especificadas indicam versões de sistema operacional de destino com as quais as seções INF Models serão usadas. Se nenhuma versão for especificada, Windows usará uma seção Models sem a decoração TargetOSVersion para todas as versões de todos os sistemas operacionais.
Formato de decoração de TargetOSVersion
O exemplo a seguir mostra o formato correto da decoração TargetOSVersion para Windows XP até Windows 10, versão 1511:
nt[Architecture][.[OSMajorVersion][.[OSMinorVersion][.[ProductType][.[SuiteMask]]]]]
Começando com Windows 10, versão 1607 (Build 14310 e posterior), o formato correto da decoração TargetOSVersion inclui BuildNumber:
nt[Architecture][.[OSMajorVersion][.[OSMinorVersion][.[ProductType][.[SuiteMask]][.[BuildNumber]]]]]
Cada campo é definido da seguinte maneira:
nt
Especifica que o sistema operacional de destino é baseado em NT. Windows 2000 e versões posteriores de Windows são todas baseadas em NT.
Architecture
Identifica a plataforma de hardware. Para obter mais informações sobre decorações de plataforma de arquitetura em seções Modelos, consulte Criar arquivos INF para várias plataformas e sistemas operacionais.
OSMajorVersion
Um número que representa o número de versão principal para o sistema operacional. Para obter uma tabela que liste as principais versões dos sistemas operacionais Windows, consulte OSMajorVersion na seção INF Manufacturer.
OSMinorVersion
Um número que representa o número de versão secundária do sistema operacional. Para obter uma tabela que liste versões secundárias para os sistemas operacionais Windows, consulte OSMinorVersion na seção INF Manufacturer.
ProductType
Um número que representa um dos sinalizadores VER_NT_xxxx definidos no 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 arquivo 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 conjunto forem especificados, o arquivo INF será usado somente se o sistema operacional corresponder a todos os conjuntos de produtos especificados. Se o arquivo INF der suporte a várias combinações do pacote de produtos para uma única versão do sistema operacional, várias entradas TargetOSVersion serão necessárias.
BuildNumber
Especifica o número mínimo de build do sistema operacional da versão Windows 10 à qual a seção se aplica, começando com o build 14310 ou posterior. Para uma tabela com os números de build dos sistemas operacionais Windows, consulte BuildNumber na seção Fabricante do INF.
Supõe-se que o número de build seja relativo apenas a uma 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 ambos deverão ser, cada um, maiores do 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 interpretarão decorações desconhecidas, portanto, uma tentativa de direcionar esses builds anteriores realmente impedirá que o sistema operacional considere a decoração válida de forma alguma.
Como o Windows processa decorações TargetOSVersion
Quando você instala um pacote de driver em um dispositivo, Windows segue estas etapas para processar as seções de Modelos INF em um arquivo INF:
Se uma ou mais seções de Modelos INF tiverem a decoração TargetOS, Windows selecionará a seção Modelos INF mais próxima dos atributos do sistema operacional host.
Por exemplo, se uma seção Models INF tiver uma decoração TargetOS de ntx86.5.1, o Windows selecionará essa seção se o sistema operacional host estiver executando o Windows XP ou uma versão posterior do Windows em um sistema baseado em x86.
Da mesma forma, se uma seção Models INF tiver uma decoração TargetOS de nt.6.0, Windows selecionará essa seção se o sistema operacional host for Windows Vista ou versão posterior do Windows em qualquer plataforma de hardware com suporte.
Se uma seção INF Models tiver uma decoração TargetOS de nt.10.0...14393, Windows selecionará essa seção se o sistema operacional host estiver executando um build do Windows 10 igual ou maior que 14393 em qualquer plataforma de hardware com suporte.
Se nenhuma das seções Models INF tiver uma decoração TargetOS que corresponda ao sistema operacional host, Windows selecionará a seção Models que tem uma extensão de plataforma correspondente ou nenhuma extensão de plataforma.
Por exemplo, se uma seção INF Models tiver uma extensão de plataforma de ntx86, Windows selecionará essa seção se o sistema operacional host for Microsoft Windows 2000 ou versão posterior do Windows em um sistema baseado em x86.
Se Windows não conseguir encontrar uma seção de Modelos INF correspondente, ela não instalará esse pacote de driver no dispositivo.
Como as decorações TargetOsVersion são resolvidas
Ao determinar as seções de Modelos INF aplicáveis, a avaliação é executada por linha na seção Fabricante do INF, em que, para uma determinada versão do sistema operacional, cada linha pode ter até uma seção aplicável.
O trecho INF abaixo mostra um exemplo em que [ExampleModelsSection_1.NTamd64.10.0...17134] será selecionado em um número de build do Windows igual ou maior que 17134 e ambos [ExampleModelsSection_1.NTamd64.10.0...17134] e [ExampleModelsSection_2.NTamd64.10.0...22000] serão selecionados em um número de build do Windows igual ou maior que 22000.
[Manufacturer]
%ManufacturerName% = ExampleModelsSection_1,NTamd64.10.0...17134
%ManufacturerName% = ExampleModelsSection_2,NTamd64.10.0...22000
O trecho INF abaixo mostra um exemplo em que [ExampleModelsSection_1.NTamd64.10.0...17134] será selecionado em um número de compilação do Windows igual ou superior a 17134, e [ExampleModelsSection_1.NTamd64.10.0...22000] será selecionado em um número de compilação do Windows igual ou superior a 22000.
[Manufacturer]
%ManufacturerName% = ExampleModelsSection_1,NTamd64.10.0...17134,NTamd64.10.0...22000
Seções de modelos INF de exemplo com decorações TargetOSVersion
Aplica-se a uma versão específica do sistema operacional e a versões posteriores
Este trecho inf mostra como você pode especificar que um pacote de driver se aplica apenas a uma versão específica do sistema operacional e 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]
...
Aplicar a apenas uma única versão do sistema operacional
Este trecho inf mostra como você pode especificar que um pacote de driver se aplica apenas a uma única versão do sistema operacional.
[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 operacional com configurações diferentes
Este trecho inf mostra como você pode especificar que um pacote de driver deve passar por diferentes instruções de instalação para diferentes versões do sistema operacional.
[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]
...