Compartir a través de


InfVerif /h

Nota:

InfVerif /h se introdujo en Windows 11, versión 24H2.

InfVerif /h es un nuevo modo de InfVerif que valida el uso de un conjunto de requisitos de INF que cambian con cada versión para ajustarse a los requisitos de una firma WHQL del Centro de desarrollo de hardware. Con el tiempo, los requisitos se volverán más estrictos y se irán ajustando a los requisitos de aislamiento de paquetes de controladores.

InfVerif /h examina todas las versiones del sistema operativo en las que INF se puede instalar y evalúa el INF con las reglas adecuadas en esa versión del sistema operativo automáticamente. Por ejemplo, en un archivo INF que usa decoraciones de versiones para cambiar el comportamiento de diferentes versiones del sistema operativo:

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

InfVerif /h validará internamente este INF dos veces, una vez validando la sección [Models] [Models.NTAMD64] con las reglas de la compilación 21999 (la versión más actualizada del sistema operativo donde se usará esa sección [Models]) y otra vez validando la sección [Models] [Models.NTAMD64.10.0... 22000] con el conjunto de reglas más reciente. Un archivo INF que solo tiene una sola sección [Models] solo se validará en el conjunto de reglas más reciente.

Uso

Cómo usar InfVerif /h con el modo de uso predeterminado:

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

InfVerif /h también permite indicar el conjunto de reglas más alto que InfVerif usará con el argumento '/rulever', por ejemplo:

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

El uso del argumento '/rulever' puede provocar que se omitan algunas partes del INF. Con los argumentos anteriores con el ejemplo anterior, la sección [Models] [Models.NTAMD64] se validará con las reglas de la compilación 17763 y [Models.NTAMD64.10.0... 22000] no se validará porque el conjunto de reglas correspondiente no se aplica a él.

Si se agregan opciones detalladas, InfVerif imprimirá el conjunto de reglas máximo usado durante su evaluación:

> 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 también puede usar un conjunto de reglas futuro. Hay una versión del sistema operativo 'vnext' integrada que usará las reglas que se espera que sean necesarias en una versión del sistema operativo en el futuro. Las reglas aplicadas por 'vnext' no son finales y están sujetas a cambios para la versión final, pero están pensadas para proporcionar una buena visión de los requisitos futuros.

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

Requisitos

Los conjuntos de reglas InfVerif /h se ajustan a los requisitos del programa WHCP. Los requisitos se definen como los requisitos de aislamiento de paquetes de controladores completos, con algunos conjuntos de excepciones aplicados a los requisitos. Algunas excepciones se quitarán de cada versión hasta que InfVerif /h aplique todos los requisitos de aislamiento de paquetes de controladores.

Nota:

Las excepciones enumeradas a continuación no deben utilizarse, ya que dejarán de estar admitidas en una próxima versión.

Requisitos actuales a partir de abril de 2024

Registro
Los archivos INF no deben modificar ninguna ubicación global del registro y, en su lugar, deben usar solo la raíz del registro HKR para modificar o crear información del registro con una directiva AddReg. Las siguientes rutas de acceso son excepciones actuales a este requisito:

Root Subclave
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

Rutas de acceso a archivos
DIRID 13 debe especificarse en el INF como ubicación de destino para todas las entradas de la sección [DestinationDirs]. Los valores siguientes son excepciones a este requisito:

Valor 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