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 |