Share via


InfVerif /h

Observação

InfVerif /h foi introduzido no Windows Insider Preview build 26080.

InfVerif /h é o novo modo do InfVerif que valida o uso de um conjunto de requisitos INF que mudam a cada versão para se alinhar com os requisitos para 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 o INF usando as regras apropriadas para essa versão do sistema operacional automaticamente. 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 para a compilação 21999 (a versão mais alta do sistema operacional onde 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 em relação ao conjunto de regras mais recente.

Uso

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

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

O InfVerif /h também permite especificar o conjunto de regras mais alto que o InfVerif usará usando 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 para a compilação 17763 e [Models.NTAMD64.10.0... 22000] não será validado, uma vez que o conjunto de regras elevado não se aplica a ele.

Adicionar as opções detalhadas 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

InfVerif /h também pode usar um conjunto de regras futuro. 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 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 imponha 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 do registro global e, em vez disso, use apenas a raiz do registro HKR para modificar ou criar informações do 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