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 |