Compartilhar via


InfVerif /h

Observação

O InfVerif /h foi introduzido no Windows 11, versão 24H2.

O InfVerif /h é um novo modo do InfVerif que valida usando um conjunto de requisitos INF que mudam a cada versão para se alinhar com os requisitos de uma assinatura WHQL do Centro de Desenvolvimento de Hardware. Ao longo do tempo, os requisitos se tornarão mais rigorosos e, eventualmente, se alinharão aos requisitos de isolamento do pacote de driver.

O InfVerif /h examina todas as versões do sistema operacional onde o INF pode ser instalado e avalia automaticamente o INF usando as regras apropriadas para essa versão do sistema operacional. Por exemplo, em um arquivo INF que usa decorações de versão para alterar o comportamento de diferentes versões do sistema operacional:

Contoso = Models, NTAMD64, NTAMD64.10.0...22000

O InfVerif /h validará internamente esse INF duas vezes, uma vez validando a seção [Models] [Models.NTAMD64] usando as regras da compilação 21999 (a versão mais recente do sistema operacional em que essa seção [Models] será usada), e uma vez validando a seção [Models] [Models.NTAMD64.10.0...22000] usando o conjunto de regras mais recente. Um arquivo INF que tenha apenas uma única seção [Models] só será validado com base no conjunto de regras mais recente.

Uso

Para usar o InfVerif /h com o comportamento padrão:

infverif.exe /h <INF file> [<INF file>]

O InfVerif /h também permite que você especifique o conjunto de regras mais avançado que o InfVerif usará com o argumento '/rulever', por exemplo:

infverif.exe /h /rulever NTAMD64.10.0...17763 <INF file>

O uso do argumento "/rulever" pode fazer com que algumas partes do INF sejam ignoradas. Usando os argumentos acima com o exemplo anterior, a seção [Models] [Models.NTAMD64] será validada usando as regras da compilação 17763, e [Models.NTAMD64.10.0...22000] não será validada, pois o conjunto de regras especificado não se aplica a ela.

Adicionar a opção Verbose fará com que o InfVerif imprima o conjunto de regras máximo usado durante sua avaliação:

> infverif.exe /h /v <INF file>

Running in Verbose
Running signature requirements check
Using rules from OS build: 10.0.26080

> infverif.exe /h /rulever NTAMD64.10.0...17763 <INF file>

Running in Verbose
Running signature requirements check
Using rules from OS build: 10.0.17763

O InfVerif /h também pode usar um conjunto de regras futuras. Há uma versão interna do sistema operacional "vnext" que usará as regras esperadas para ser necessária uma versão do sistema operacional no futuro. As regras aplicadas pelo "vnext" não são finais e estão sujeitas a alterações para a versão final, mas destinam-se a fornecer uma boa visão sobre os requisitos futuros.

infverif.exe /h /rulever vnext <INF file>

Requisitos

Os conjuntos de regras do InfVerif /h estão alinhados com os requisitos do programa WHCP. Os requisitos são definidos como os requisitos de isolamento do pacote de driver completo, com alguns conjuntos de exceções aplicados aos requisitos. Algumas exceções serão removidas a cada versão até que o InfVerif /h cumpra todos os requisitos de isolamento do pacote de driver.

Observação

Quaisquer exceções listadas abaixo não devem ser usadas, pois o uso delas não será mais permitido em uma versão futura.

Requisitos atuais a partir de abril de 2024

Registro
Os arquivos INF não devem modificar nenhum local de registro global e, em vez disso, devem usar apenas a raiz do registro HKR para modificar ou criar informações de registro com uma diretiva AddReg. Os seguintes caminhos são exceções atuais a este requisito:

Raiz Subchave
HKLM SYSTEM\CurrentControlSet
HKLM SOFTWARE\Classes
HKLM SOFTWARE\Khronos
HKLM SOFTWARE\Microsoft\Analog\Providers
HKLM SOFTWARE\Microsoft\Cellular\MVSettings\DeviceSpecific\CellUX
HKLM SOFTWARE\Microsoft\Cryptography\Calais\Readers
HKLM SOFTWARE\Microsoft\Cryptography\Calais\SmartCards
HKLM SOFTWARE\Microsoft\Cryptography\DRM_RNG
HKLM SOFTWARE\Microsoft\EAPOL
HKLM SOFTWARE\Microsoft\Palm\DelayManipulationDuration
HKLM SOFTWARE\Microsoft\Shell\OEM\QuickActions\ColorProfileQuickAction
HKLM SOFTWARE\Microsoft\Speech_OneCore\AudioInput
HKLM SOFTWARE\Microsoft\Windows Media Foundation
HKLM SOFTWARE\Microsoft\Windows NT\CurrentVersion\AdaptiveDisplayBrightness
HKLM SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc
HKLM SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32
HKLM SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM
HKLM SOFTWARE\Microsoft\Windows NT\CurrentVersion\OpenGlDrivers
HKLM SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\ScCertProp
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Audio
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability\UserDefined
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
HKLM SOFTWARE\Wow6432Node\Microsoft\Windows Media Foundation
HKLM SOFTWARE\Wow6432Node\Khronos
HKLM SOFTWARE\WowAA32Node\Microsoft\Windows Media Foundation
HKLM SOFTWARE\WowAA32Node\Khronos
HKCR

Caminhos de Arquivo:
DIRID 13 deve ser especificado no INF como o local de destino para todas as entradas na seção [DestinationDirs]. Os seguintes valores são exceções a este requisito:

Valor de DIRID
DIRID 10
DIRID 11
DIRID 12
DIRID 23
DIRID 51
DIRID 52
DIRID 55
DIRID 16422
DIRID 16425
DIRID 16426
DIRID 16427
DIRID 16428
DIRID 66000
DIRID 66001
DIRID 66002
DIRID 66003
DIRID 66004