共用方式為


InfVerif /h

注意

InfVerif /h 是在 Windows Insider Preview 組建 26080 中引進的。

InfVerif /h 是 InfVerif 的新模式,會使用一組 INF 需求進行驗證,這些需求會隨著每個版本變更,以符合來自 硬體開發人員中心 的 WHQL 簽章需求。 一段時間后,需求會變得更嚴格,最終符合 驅動程式套件隔離 需求。

InfVerif /h 會檢查 INF 可安裝的所有作業系統版本,並使用該 OS 版本的適當規則自動評估 INF。 例如,在使用 版本裝飾 的 INF 檔案中,變更不同 OS 版本的行為:

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

InfVerif /h 會在內部驗證此 INF 兩次,一旦使用組建 21999 的規則驗證 [Models.NTAMD64] 區段 [Models.NTAMD64],就會使用該 [Models] 區段的最高 OS 版本),以及驗證 [Models]區段 [Models.NTAMD64.10.0...22000] 使用最新的規則集。 只有單一 [Models] 區段的 INF 檔案只會根據最新的規則集進行驗證。

使用方式

若要使用預設行為來使用 InfVerif /h:

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

InfVerif /h 也可讓您使用 '/rulever' 自變數指定 InfVerif 將使用的最高規則集,例如:

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

使用 『/rulever』 自變數可能會導致忽略 INF 的某些部分。 使用上述自變數搭配上一個範例,[Models] 區段 [Models.NTAMD64] 將會使用組建 17763 的規則和 [Models.NTAMD64.10.0...22000] 將不會驗證,因為高規則集不適用於它。

新增詳細資訊選項會導致 InfVerif 列印出評估期間使用的最大規則集:

> 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 也可以使用未來的規則集。 有一個內建的 'vnext' OS 版本,將會在未來使用預期需要一個OS版本的規則。 'vnext' 所強制執行的規則並非最終規則,而且可能會變更最終版本,但旨在提供未來需求的深入解析。

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

需求

InfVerif /h 規則集符合 WHCP 程式的需求。 需求會定義為完整的 驅動程式套件隔離 需求,並套用至需求一組例外狀況。 在 InfVerif /h 強制執行所有驅動程式套件隔離需求之前,每個版本都會移除一些例外狀況。

注意

不應使用下面所列的任何例外狀況,因為即將推出的版本中將不再允許使用這些例外狀況。

截至 2024 年 4 月的目前需求

登錄
INF 檔案不得修改任何全域登錄位置,而是改用 HKR 登錄根目錄來修改或建立具有 AddReg 指示詞登錄資訊。 下列路徑是這項需求的目前例外狀況:

根目錄 子機碼
HKLM SYSTEM\CurrentControlSet
HKLM SOFTWARE\Classes
HKLM SOFTWARE\Khronos
HKLM SOFTWARE\Microsoft\Analog\Providers
HKLM SOFTWARE\Microsoft\Cellular\MV 設定\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 路徑
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Audio
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\控制台
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Controls 資料夾
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

檔案路徑
DIRID 13 必須在 INF 中指定為 [DestinationDirs] 區段中所有專案的目的地位置。 下列值是這項需求的例外狀況:

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