Udostępnij za pośrednictwem


InfVerif /h

Notatka

InfVerif /h został wprowadzony w systemie Windows 11 w wersji 24H2.

InfVerif /h to nowy tryb InfVerif, który weryfikuje użycie zestawu wymagań INF, które zmieniają się wraz z poszczególnymi wydaniami, aby dostosować się do wymagań dotyczących podpisu WHQL z usługi Hardware Dev Center. W miarę upływu czasu wymagania staną się bardziej rygorystyczne i ostatecznie dostosują się do wymagań dotyczących izolacji pakietów sterowników .

InfVerif /h sprawdza wszystkie wersje systemu operacyjnego, w których plik INF może zostać zainstalowany, i ocenia go automatycznie przy użyciu odpowiednich reguł dla tej wersji systemu operacyjnego. Na przykład w pliku INF, który używa dekoracji wersji zmienić zachowanie dla różnych wersji systemu operacyjnego:

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

InfVerif /h wewnętrznie zweryfikuje ten plik INF dwa razy: raz, walidując sekcję [Modele] [Models.NTAMD64] przy użyciu reguł wersji 21999 (najwyższa wersja systemu operacyjnego, w której będzie używana ta sekcja [Modele]), oraz kolejny raz, walidując sekcję [Modele] [Models.NTAMD64.10.0...22000] przy użyciu najnowszego zestawu reguł. Plik INF, który ma tylko jedną sekcję [Modele], zostanie zweryfikowany tylko dla najnowszego zestawu reguł.

Użycie

Aby użyć InfVerif /h przy użyciu zachowania domyślnego:

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

InfVerif /h umożliwia również określenie najwyższego zestawu reguł, którego będzie używać InfVerif przy użyciu argumentu "/rulever", na przykład:

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

Użycie argumentu "/rulever" może spowodować zignorowanie niektórych części INF. Przy użyciu powyższych argumentów z poprzednim przykładem sekcja [Models][Models.NTAMD64] zostanie zweryfikowana przy użyciu reguł kompilacji 17763 i [Models.NTAMD64.10.0... 22000] nie zostanie zweryfikowany, ponieważ określony zestaw reguł nie ma do niego zastosowania.

Dodanie opcji verbose spowoduje, że InfVerif wyświetli maksymalny zestaw reguł używany podczas swojej oceny.

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 10.0...17763 <INF file>

Running in Verbose
Running signature requirements check
Using rules from OS build: 10.0.17763

InfVerif /h może również używać przyszłego zestawu reguł. Istnieje wbudowana wersja systemu operacyjnego "vnext", która będzie korzystać z reguł przewidywanych do wprowadzenia w następnej wersji systemu operacyjnego. Reguły wymuszane przez "vnext" nie są ostateczne i podlegają zmianie w ostatecznej wersji, ale mają na celu zapewnienie dobrego wglądu w przyszłe wymagania.

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

Wymagania

Zestawy reguł InfVerif /h są zgodne z wymaganiami programu WHCP. Wymagania są określane jako pełne wymagania dotyczące izolacji pakietów sterowników , z pewnym zestawem wyjątków zastosowanym do tych wymagań. Niektóre wyjątki zostaną usunięte z każdej wersji, dopóki InfVerif /h wymusza wszystkie wymagania dotyczące izolacji pakietów sterowników.

Notatka

Wszelkie wyjątki wymienione poniżej nie powinny być używane, ponieważ użycie ich nie będzie już dozwolone w nadchodzącej wersji.

Bieżące wymagania od kwietnia 2024 r.

Rejestr


Pliki INF nie mogą modyfikować żadnych lokalizacji globalnego rejestru i zamiast tego powinny używać katalogu głównego rejestru HKR do modyfikowania lub tworzenia informacji rejestru za pomocą dyrektywy AddReg. Następujące ścieżki są bieżącymi wyjątkami od tego wymagania:

Korzeń Podklucz
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\Ścieżki aplikacji
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Audio
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Panel sterowania
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  

ścieżki plików


DiRID 13 musi być określony w INF jako lokalizacja docelowa dla wszystkich wpisów w sekcji [DestinationDirs]. Następujące wartości to wyjątki od tego wymagania:

Wartość 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