Freigeben über


InfVerif /h

Hinweis

InfVerif /h wurde in Windows 11, Version 24H2, eingeführt.

InfVerif /h ist ein neuer Modus von InfVerif zum Überprüfen, ob ein Satz von INF-Anforderungen verwendet wird, die mit jeder Version geändert werden, um die Anforderungen für eine WHQL-Signatur aus dem Hardware Dev Center anzupassen. Im Laufe der Zeit werden die Anforderungen strenger und entsprechen schließlich den Anforderungen an die Treiberpaketisolation.

InfVerif /h untersucht alle Betriebssystemversionen, in denen die INF installiert werden kann, und wertet die INF mithilfe der entsprechenden Regeln für diese Betriebssystemversion automatisch aus. Beispiel: In einer INF-Datei, die Versionsergänzungen verwendet, um das Verhalten für verschiedene Betriebssystemversionen zu ändern:

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

InfVerif /h überprüft diese INF zweimal, einmal den [Models]-Abschnitt unter Verwendung der Regeln für Build 21999 (die höchste OS-Version, in der dieser [Models]-Abschnitt verwendet wird) und einmal den [Models]-Abschnitt [Models.NTAMD64.10.0...22000] unter Verwendung des neuesten Regelsatzes. Eine INF-Datei, die nur über einen einzigen [Models]-Abschnitt verfügt, wird nur anhand des neuesten Regelsatzes überprüft.

Verbrauch

So verwenden Sie InfVerif /h mithilfe des Standardverhaltens:

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

Mit InfVerif /h können Sie auch den höchsten Regelsatz angeben, den InfVerif mit dem Argument '/rulever' verwendet, z. B.:

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

Die Verwendung des Arguments '/rulever' kann dazu führen, dass einige Teile der INF ignoriert werden. Mit den oben genannten Argumenten im vorherigen Beispiel wird der [Models]-Abschnitt [Models.NTAMD64] mit den Regeln für Build 17763 überprüft. [Models.NTAMD64.10.0]... 22000] wird nicht überprüft, da der hohe Regelsatz nicht darauf angewendet wird.

Das Hinzufügen der ausführlichen Optionen bewirkt, dass InfVerif den maximalen während der Auswertung verwendeten Regelsatz ausdruckt:

> 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 kann auch einen zukünftigen Regelsatz verwenden. Es gibt eine integrierte 'vnext'-Betriebssystemversion, die die Regeln verwendet, die voraussichtlich in einer zukünftigen Betriebssystemversion erforderlich sein werden. Die von 'vnext' erzwungenen Regeln sind nicht endgültig und unterliegen Änderungen für die endgültige Version, bieten aber einen guten Einblick in zukünftige Anforderungen.

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

Anforderungen

Die InfVerif /h-Regelsätze werden an die Anforderungen des WHCP-Programms angepasst. Die Anforderungen werden als vollständige Anforderungen an die Treiberpaketisolation definiert, wobei einige Ausnahmen auf die Anforderungen angewendet werden. Einige Ausnahmen werden in jeder Version entfernt, bis InfVerif /h alle Treiberpaketisolationsanforderungen erzwingt.

Hinweis

Alle unten aufgeführten Ausnahmen sollten nicht verwendet werden, da ihre Verwendung in einer kommenden Version nicht mehr zulässig sein wird.

Aktuelle Anforderungen ab April 2024

Registrierung
INF-Dateien dürfen keine globalen Registrierungsspeicherorte ändern und stattdessen nur den HKR-Registrierungsstamm verwenden, um Registrierungsinformationen mit einer AddReg-Anweisung zu ändern oder zu erstellen. Die folgenden Pfade sind aktuelle Ausnahmen für diese Anforderung:

Root Unterschlüssel
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

Dateipfade:
DIRID 13 muss in der INF als Zielspeicherort für alle Einträge im [DestinationDirs]-Abschnitt angegeben werden. Die folgenden Werte sind Ausnahmen von dieser Anforderung:

DIRID-Wert
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