InfVerif /h

注意

InfVerif /h 是在 Windows 11 版本 24H2 中引入的。

InfVerif /h 是一种 InfVerif 的新模式,它使用一组 INF 要求进行验证,这些要求随每个版本更改,以符合硬件开发人员中心对 WHQL 签名的要求。 随着时间的推移,要求将变得更加严格,最终将与 驱动程序包隔离 要求保持一致。

InfVerif /h 检查 INF 可安装的所有 OS 版本,并使用相应操作系统版本的相应规则自动评估 INF。 例如,在一个使用 版本修饰符 的 INF 文件中,可以更改不同操作系统版本的行为。

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

InfVerif /h 将在内部验证此 INF 两次,一次使用内部版本 21999 的规则验证 [Models] 部分 [Models.NTAMD64] (将使用该 [Models] 部分的最高 OS 版本),一次使用最新的规则集验证 [Models] 部分 [Models.NTAMD64.10.0...22000]。 只有单个 [Models] 节的 INF 文件只会根据最新的规则集进行验证。

用法

若要使用利用默认行为的 InfVerif /h,请执行以下操作:

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

InfVerif /h 还允许指定 InfVerif 将使用“/rulever”参数的最高规则集,例如:

infverif.exe /h /rulever 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 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\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\控制面板
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  

文件路径


必须在 INF 中将 DIRID 13 指定为 [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