Partager via


InfVerif /h

Remarque

InfVerif /h a été introduit dans Windows 11, version 24H2.

InfVerif /h est un nouveau mode d’InfVerif qui valide en utilisant un ensemble de règles INF qui changent à chaque version pour s’aligner sur les exigences d’une signature WHQL du Centre de développement matériel. Au fil du temps, les exigences deviendront plus strictes et finiront par s’aligner avec les exigences d’isolation des packages de pilotes.

InfVerif /h examine toutes les versions du système d’exploitation où l’INF peut s’installer, et évalue l’INF en utilisant automatiquement les règles appropriées pour cette version du système d’exploitation. Par exemple, dans un fichier INF qui utilise des décorations de version pour modifier le comportement pour différentes versions du système d’exploitation :

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

InfVerif /h validera cet INF deux fois en interne, une fois en validant la section [Models] [Models.NTAMD64] en utilisant les règles pour la version de build 21999 (la version de système d’exploitation la plus élevée où cette section [Models] sera utilisée), et une fois en validant la section [Models.NTAMD64.10.0...22000] en utilisant le dernier ensemble de règles. Un fichier INF qui n’a qu’une seule section [Models] sera validé uniquement contre le dernier ensemble de règles.

Utilisation

Pour utiliser InfVerif /h avec le comportement par défaut :

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

InfVerif /h permet également de spécifier l’ensemble de règles le plus élevé que InfVerif utilisera en utilisant l’argument   /rulever », par exemple :

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

L’utilisation de l’argument « /rulever » peut entraîner l’ignorance de certaines parties de l’INF. En utilisant les arguments ci-dessus avec l’exemple précédent, la section [Models.NTAMD64] sera validée en utilisant les règles pour la version de build 17763, et [Models.NTAMD64.10.0...22000] ne sera pas validée car l’ensemble de règles spécifié ne s’applique pas à celle-ci.

L’ajout d’une option en clair fera en sorte que InfVerif imprime le jeu de règles maximum utilisé lors de son évaluation :

> 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 peut également utiliser un ensemble de règles futures. Il existe une version de système d’exploitation « vnext » intégrée qui utilisera les règles qui devraient être requises pour une version ultérieure du système d’exploitation. Les règles appliquées par « vnext » ne sont pas définitives et sont susceptibles de changer pour la version finale, mais sont destinées à fournir un bon aperçu des exigences futures.

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

Spécifications

Les ensembles de règles InfVerif /h sont alignés sur les exigences du programme WHCP. Les exigences sont définies comme étant les exigences complètes d’isolation des packages de pilotes, avec un ensemble d’exceptions appliqué aux exigences. Certaines exceptions seront supprimées à chaque version jusqu’à ce que InfVerif /h applique toutes les exigences d’isolation des packages de pilotes.

Remarque

Les exceptions répertoriées ci-dessous ne doivent pas être utilisées, car leur utilisation ne sera plus autorisée dans une prochaine version.

Exigences actuelles en avril 2024

Registre
Les fichiers INF ne doivent pas modifier les emplacements du registre global, et doivent plutôt utiliser la racine du registre HKR pour modifier ou créer des informations de registre avec une directive AddReg. Les chemins d’accès suivants sont des exceptions actuelles à cette exigence :

Root Sous-clé
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

Chemins de fichier
DIRID 13 doit être spécifié dans l’INF comme emplacement de destination pour toutes les entrées de la section [DestinationDirs]. Les valeurs suivantes sont des exceptions à cette exigence :

Valeur 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