驱动程序验证程序命令语法

在命令提示符窗口中运行验证程序实用工具时,使用以下语法。

可以在同一行中键入多个选项。 例如:

verifier /flags 7 /driver beep.sys disksdd.sys

Windows 11 语法

可以将 /volatile 参数与某些驱动程序验证程序 /flags 选项一起使用。 有关详细信息,请参阅 “使用易失性设置”。

注意

将来版本的 Windows 中将弃用 /volatile 参数。 在 Windows 11 中,替换选项是 /dif DifEnabledRule /now 选项。 有关可以使用此选项启用的规则类,请参阅下面的 Windows 11 规则类部分。

  verifier /standard /all
  verifier /standard /driver NAME [NAME ...]
  verifier {/ruleclasses | /rc | dif} <options> [<ruleclass_1> <ruleclass_2> ...] /all
  verifier {/ruleclasses | /rc | dif} <options> [<ruleclass_1> <ruleclass_2> ...] /driver NAME [NAME ...]
  verifier /flags <options> /all
  verifier /flags <options> /driver NAME [NAME ...]
  verifier /rules [OPTION ...]
  verifier /dif [<ruleclass_1> <ruleclass_2> ...] /now /driver NAME [NAME ...]
  verifier /query
  verifier /querysettings
  verifier /bootmode [persistent | resetonbootfail | resetonunusualshutdown | oneboot]
  verifier /bc <number_of_reboots>
  verifier /reset
  verifier /faults [Probability] [PoolTags] [Applications] [DelayMins]
  verifier /faultssystematic [OPTION ...]
  verifier /log LOG_FILE_NAME [/interval SECONDS]
  verifier /volatile /flags <options>
  verifier /volatile /adddriver NAME [NAME ...]
  verifier /volatile /removedriver NAME [NAME ...]
  verifier /volatile /faults [Probability] [PoolTags] [Applications] [DelayMins]
  verifier /domain <types> <options> /driver ... [/logging | /livedump]
  verifier /logging
  verifier /livedump
  verifier /?
  verifier /help

Windows 10 语法

可以将 /volatile 参数与某些驱动程序验证程序 /flags 选项和 /standard 配合使用。 不能将 /volatile 与用于 DDI 符合性检查Power Framework 延迟模糊或 Storport 验证的 /flags 选项一起使用 有关详细信息,请参阅 “使用易失性设置”。

  verifier /standard /all
  verifier /standard /driver NAME [NAME ...]
  verifier {/ruleclasses | /rc} <options> [<ruleclass_1> <ruleclass_2> ...] /all
  verifier /flags <options> /all
  verifier /flags <options> /driver NAME [NAME ...]
  verifier /rules [OPTION ...]
  verifier /query
  verifier /querysettings
  verifier /bootmode [persistent | resetonbootfail | resetonunusualshutdown | oneboot]
  verifier /reset
  verifier /faults [Probability] [PoolTags] [Applications] [DelayMins]
  verifier /faultssystematic [OPTION ...]
  verifier /log LOG_FILE_NAME [/interval SECONDS]
  verifier /volatile /flags <options>
  verifier /volatile /adddriver NAME [NAME ...]
  verifier /volatile /removedriver NAME [NAME ...]
  verifier /volatile /faults [Probability] [PoolTags] [Applications] [DelayMins]
  verifier /domain <types> <options> /driver ... [/logging | /livedump]
  verifier /logging
  verifier /livedump
  verifier /?
  verifier /help

Windows 8.1 语法

可以将 /volatile 参数与某些驱动程序验证程序 /flags 选项和 /standard 配合使用。 不能将 /volatile 与用于 DDI 符合性检查Power Framework 延迟模糊、Storport 验证的 /flags 选项一起使用 有关详细信息,请参阅 “使用易失性设置”。

  verifier /standard /all
  verifier /standard /driver NAME [NAME ...]
  verifier /flags <options> /all
  verifier /flags <options> /driver NAME [NAME ...]
  verifier /rules [OPTION ...]
  verifier /faults [Probability] [PoolTags] [Applications] [DelayMins]
  verifier /faultssystematic [OPTION ...]
  verifier /log LOG_FILE_NAME [/interval SECONDS]
  verifier /query
  verifier /querysettings
  verifier /bootmode [persistent | disableafterfail | oneboot]
  verifier /reset
  verifier /volatile /flags <options>
  verifier /volatile /adddriver NAME [NAME ...]
  verifier /volatile /removedriver NAME [NAME ...]
  verifier /volatile /faults [Probability] [PoolTags] [Applications] [DelayMins]
  verifier /?

Windows 8、Windows 7 语法

可以将 /volatile 参数与某些驱动程序验证程序 /flags 选项和 /standard 配合使用。 不能将 /volatile 与 /flags 选项一起使用,以便进行 DDI 符合性检查Power Framework 延迟模糊处理、Storport 验证、 SCSI 验证/disk。 有关详细信息,请参阅 “使用易失性设置”。

verifier [/volatile] [/standard | /flags Options ] [ /all | /driver DriverList ]
verifier /volatile /faults [Probability PoolTags Applications DelayMins] /driver DriverList
verifier /volatile {/adddriver | /removedriver} DriverList
verifier /reset
verifier /querysettings
verifier /query
verifier /log LogFileName [/interval Seconds]
verifier /?

参数

验证程序命令行语法

/all 指示驱动程序验证程序在下一次启动后验证所有已安装的驱动程序。

/bc <number_of_reboots> 设置验证应处于活动状态的重新启动次数。

此选项自动设置 ResetOnUnusualShutdown 启动模式。

/bootmode 模式 控制是否在重新启动后启用驱动程序验证程序的设置。 若要设置或更改此选项,必须重启计算机。

Bootmode 说明

持续

确保驱动程序验证程序设置在多次重新启动期间保持(有效)。 这是默认设置。

resetonbootfail

如果系统无法启动,则禁用驱动程序验证程序进行后续重启。

oneboot

仅在计算机下次启动时启用驱动程序验证程序设置。 驱动程序验证程序在后续重新启动时处于禁用状态。

resetonunusualshutdown

(Windows 10 内部版本 1709 中引入)驱动程序验证程序将一直持续到发生异常关闭。 可以使用其缩写“rous”。

/dif DifEnabledRule 使用已启用 DIF 的规则启用检查。 下次重新启动系统时,检查将生效。 在 Windows 11 中添加。

/dif DifEnabledRule /now 立即使用已启用 DIF 的规则启用检查。 立即启用规则类,而无需重新启动。 仅当尚未运行任何规则类时,此选项才有效。 有关能够立即激活的规则类,请参阅 Windows 11 规则类说明。

/driver DriverList 指定要验证的一个或多个驱动程序。 DriverList 是按二进制名称列出的驱动程序列表,例如Driver.sys。 使用空格分隔每个驱动程序名称。 不支持通配符值,例如 n*.sys。

/driver.exclude DriverList 指定要从验证中排除的一个或多个驱动程序。 仅当选择验证所有驱动程序时,此参数才适用。 DriverList 是按二进制名称列出的驱动程序列表,例如Driver.sys。 使用空格分隔每个驱动程序名称。 不支持通配符值,例如 n*.sys。

/faults 启用驱动程序验证程序中的低资源模拟功能。 可以使用 /faults 代替 /flags 0x4。 但是,不能对 /faults 子参数使用 /flags 0x4

可以使用 /faults 参数的以下子参数来配置低资源模拟。

子参数 说明

概率

指定驱动程序验证程序将失败给定分配的概率。 键入数字(以十进制或十六进制为单位),以表示驱动程序验证程序将失败分配的 10,000 次机会数。 默认值 600 表示 600/10000,即 6%。

池标记

限制驱动程序验证程序无法使用指定池标记进行分配的分配。 可以使用通配符 (*) 来表示多个池标记。 若要列出多个池标记,请用空格分隔标记。 默认情况下,所有分配都可能失败。

应用程序

限制驱动程序验证程序无法为指定程序分配的分配。 键入可执行文件的名称。 若要列出程序,请用空格分隔程序名称。 默认情况下,所有分配都可能失败。

DelayMins

指定启动后的分钟数,在此期间驱动程序验证程序不会有意失败任何分配。 在测试开始之前,可以在这段此延迟时间内加载驱动程序并稳定系统。 输入一个数字(十进制或十六进制)。 默认值为 7(分钟)。

/faultssystematic 指定系统低资源模拟的选项使用0x40000标志选择系统较低的资源模拟选项。

OPTION 说明

enableboottime

在计算机重新启动时启用故障注入。

disableboottime

在计算机重新启动时禁用错误注入(这是默认设置)。

recordboottime

在计算机重启模式时启用故障注入

resetboottime

在计算机重新启动时禁用错误注入,并清除堆栈排除列表。

enableruntime

动态启用故障注入。

disableruntime

动态禁用故障注入。

recordruntime

在模式下动态启用故障注入。

resetruntime

动态禁用故障注入并清除以前出错的堆栈列表。

querystatistics

显示当前的故障注入统计信息。

incrementcounter

递增用于确定何时注入错误的测试传递计数器。

getstackid COUNTER

检索指示的注入堆栈标识符。

excludestack STACKID

从故障注入中排除堆栈。

/flags 选项 在下一次重新启动后激活指定的选项。 此数字可以采用十进制或十六进制(带 0x 前缀)格式输入。 允许以下值的任意组合。

Decimal 十六进制 标准设置 选项

1

0x1 (位 0)

X

特殊池

2

0x2 (位 1)

X

强制 IRQL 检查

4

0x4 (位 2)

低资源模拟

8

0x8 (位 3)

X

池跟踪

16

0x10 (位 4)

X

I/O 验证

32

0x20 (位 5)

X

死锁检测

64

0x40 (位 6)

在选择“I/O 验证 ”时,此选项会自动激活

128

0x80 (位 7)

X

DMA 验证

256

0x100 (位 8)

X

安全检查

512

0x200 (位 9)

强制挂起 I/O 请求

1024

0x400 (位 10)

IRP 日志记录

2048

0x800 (位 11)

X

其他检查

8192

0x2000 (位 13)

堆栈的 固定 MDL 检查(从 Windows 8 开始)

16384

0x4000 (位 14)

驱动程序 的固定 MDL 检查(从 Windows 8 开始)

32768

0x8000 (位 15)

Power Framework 延迟模糊( 从 Windows 8 开始) (在 Windows 10 内部版本 19042 及更高版本中弃用)

65536

0x10000 (位 16)

端口/微型端口接口检查(从 Windows 10 开始)

131072

0x20000 (位 17)

X

DDI 符合性检查 (从 Windows 8 开始)

262144

0x40000 (位 18)

系统较低的资源模拟 (从 Windows 8.1 开始) (在 Windows 10 内部版本 19042 及更高版本中弃用)

524288

0x80000 (位 19)

DDI 符合性检查(其他) (从 Windows 8.1 开始) (在 Windows 10 内部版本 19042 及更高版本中弃用)

2097152

0x200000 (位 21)

NDIS/WIFI 验证 (从 Windows 8.1 开始)

8388608

0x800000 (位 23)

内核同步延迟模糊( 从 Windows 8.1 开始) (在 Windows 10 内部版本 19042 及更高版本中弃用)

16777216

0x1000000 (位 24)

VM 切换验证 (从 Windows 8.1 开始)

33554432

0x2000000 (位 25)

代码完整性检查 (从 Windows 10 开始)

不能使用此方法激活 Storport 验证选项。 有关信息,请参阅 Storport 验证

/flags VolatileOptions 指定在不重新启动的情况下立即更改的驱动程序验证程序选项。

可以将 /volatile 参数与所有 /flags 值一起使用。

以十进制或十六进制格式输入数字(带 0x 前缀)。

允许以下值的任意组合。

十六进制 选项

0x00000004 (位 2)

随机化低资源模拟

0x00000020 (位 5)

死锁检测

0x00000080 (位 7)

DMA 检查

0x00000200 (位 9)

强制挂起 I/O 请求

0x00000400 (位 10)

IRP 日志记录

/ruleclasses/rc< ruleclass_1><ruleclass_2 ... <>ruleclass_k>

规则类参数从 Windows 版本 1803 开始可用。

ruleclasses 参数包含一组比 上述 /flags 参数更大的验证类集。 虽然 /flags 限制为 32 位位位图表达式,但此选项可以包含 32 个以上的验证类。 每个正十进制整数表示验证类。 可以通过用空格字符分隔每个类 ID 来表示多个类。 以下规则类 ID 可用。

标准规则类

规则
1 特殊池
2 强制 IRQL 检查
4 池跟踪
5 I/O 验证
6 死锁检测
8 DMA 检查
9 安全检查
12 其他检查
18 DDI 合规性检查
34 WDF 验证
37 文件系统筛选器验证 (5)

其他规则类

这些规则类适用于特定方案测试。 标记为 (*) 需要 I/O 验证(5)的规则类,并自动启用它。 标记为 (**) 支持禁用单个规则的规则类。 标记 (***) 的规则类默认处于日志记录模式,需要 /onecheck 才能在冲突时崩溃。

标记的 (!) 标志需要 DIF 模式(规则类 36)才能启用。

规则
3 随机化低资源模拟
10 强制挂起的 I/O 请求 \
11 IRP 日志记录 \
14 堆栈的固定 MDL 检查
15 驱动程序的固定 MDL 检查
16 Power Framework 延迟模糊处理
17 端口/微型端口接口检查
19 系统性资源不足模拟
20 DDI 符合性检查(其他)
22 NDIS/WIFI 验证(**)
24 内核同步延迟模糊处理
25 VM 交换机验证
26 代码完整性检查
33 驱动程序隔离检查 (***, !)
36 DIF 模式

Windows 11 规则类

从 Windows 11 开始,可以使用以下标准规则类。 使用 /standard 选项时,将启用这些规则类。

/now 列指示可以使用 /dif DifEnabledRule /now 选项在不重新启动的情况下启用哪些规则类。

标准规则类

规则 /现在
1 特殊池
2 强制 IRQL 检查
4 池跟踪
5 I/O 验证
6 死锁检测
8 DMA 检查
9 安全检查
12 其他检查
18 DDI 合规性检查
34 WDF 验证
37 文件系统筛选器验证

请注意,规则类 37(文件系统筛选器验证)要求也启用规则类 5(I/O 验证)。 有关此规则类的详细信息,请参阅 文件系统筛选器验证

其他规则类

以下其他规则类可用。

  • /now 列指示可以使用 /dif DifEnabledRule /now 选项在不重新启动的情况下启用哪些规则类。
  • 规则类必需 ”列指示还必须启用哪些规则类才能使用给定的规则类。 请注意,/dif 命令自动包括规则类 36 (DIF 模式),但 /ruleclass 和 /rc 不。
  • 标记为 (**) 支持禁用单个规则的规则类。
  • 标记的规则类 (***) 默认处于日志记录模式,并要求 /onecheck 选项在冲突时崩溃。
规则 /现在 所需的规则类
3 随机化低资源模拟
10 强制挂起 I/O 请求 5
11 IRP 日志记录 5
14 堆栈的固定 MDL 检查 5
15 驱动程序的固定 MDL 检查 5
16 Power Framework 延迟模糊处理
17 端口/微型端口接口检查
19 系统性资源不足模拟 36
20 DDI 符合性检查 - 其他
22 NDIS/WIFI 验证 (**)
24 内核同步延迟模糊处理
25 VM 交换机验证
26 代码完整性检查
33 驱动程序隔离检查 (***) 36
36 DIF 模式

/log LogFileName [/interval|Seconds] 创建名为 LogFileName 的日志文件。 驱动程序验证程序定期将统计信息写入此文件。 有关详细信息,请参阅 创建日志文件

如果在命令行中键入了验证程序 /log 命令,则命令提示符不会返回。 若要关闭日志文件并返回提示,请使用 CTRL+C 键。 重启后,若要创建日志,必须再次提交 verifier /log 命令。

选项 说明
/interval Seconds 指定日志文件更新之间的间隔。 默认值为 30 秒。

可禁用的规则的 /rules 选项选项 (高级)。

选项 说明

查询

显示可控制规则的当前状态。

reset

将所有规则重置为其默认状态。

默认 ID

将规则 ID 设置为其默认状态。 对于支持的规则,规则 ID Bug 检查0xC4 (DRIVER_VERIFIER_DETECTED_VIOLATION) 参数 1 值。

禁用 ID

禁用指定的规则 ID。 对于支持的规则,规则 ID Bug 检查0xC4 (DRIVER_VERIFIER_DETECTED_VIOLATION) 参数 1 值。

/standard 在下一次启动后激活“标准”或默认驱动程序验证程序选项。 标准选项包括 特殊池强制 IRQL 检查池跟踪I/O 验证死锁检测DMA 验证。 和 WDF 验证 标准选项还包括 安全检查杂项检查DDI 符合性检查

注意

从 1803 之后的 Windows 10 版本开始,使用 /flags 0x209BB 将不再自动启用 WDF 验证。 使用 /standard 语法启用标准选项,包括 WDF 验证。

/stop 禁用通过“/dif /now”启用的规则类以停止验证。

/volatile /flags 更改设置而不重新启动计算机。 易失性设置会立即生效。 可以将 /volatile 参数与 /flags 参数结合使用,这样,无需重启即可启用和禁用某些选项。 还可以将 /volatile 与 /adddriver/removedriver 参数一起使用,以在不重新启动的情况下启动或停止驱动程序验证,即使驱动程序验证程序尚未运行。

指定在不重新启动的情况下立即更改的驱动程序验证程序选项。 只有以下标志可用于易失性:

0x00000004 (位 2) - 随机化低资源模拟0x00000020 (位 5) - 死锁检测0x00000080 (位 7) - DMA 检查0x00000200 (位 9) - 强制挂起的 I/O 请求0x00000400 (位 10) - IRP 日志记录

有关详细信息,请参阅 “使用易失性设置”。

选项 说明

/adddriver VolatileDriverList

将指定的驱动程序添加到易失性设置。 若要指定多个驱动程序,请列出其名称并用空格分隔。 不支持通配符值,例如 n.sys。 有关详细信息,请参阅 “使用易失性设置 ”。

/removedriver VolatileDriverList

从易失性设置中删除指定的驱动程序。 若要指定多个驱动程序,请列出其名称并用空格分隔。 不支持通配符值,例如 n.sys。 有关详细信息,请参阅 “使用易失性设置 ”。

/reset 清除所有驱动程序验证程序设置。 下一次启动后,不会验证任何驱动程序。

/querysettings 显示将激活的选项摘要,以及将在下一次启动后验证的驱动程序。 显示不包括使用 /volatile 参数添加的驱动程序和选项。 有关查看这些设置的其他方法,请参阅查看驱动程序验证程序设置

/query 显示驱动程序验证程序当前活动的摘要。 显示内容中的 Level 字段是使用 /volatile 参数设置的选项的十六进制值。 有关每个统计信息的说明,请参阅 监视全局计数器监视单个计数器

/domain Types **** 选项 控制验证程序扩展设置。 支持以下验证程序扩展类型。

类型 说明

wdm

为 WDM 驱动程序启用验证程序扩展。

ndis

为网络驱动程序启用验证程序扩展。

ks

为内核模式流式处理驱动程序启用验证程序扩展。

audio

为音频驱动程序启用验证程序扩展。

支持以下扩展选项。

选项 说明

rules.default

为所选验证程序扩展启用默认验证规则。

rules.all

为所选验证程序扩展启用所有验证规则。

/伐木为所选验证程序扩展检测到的违反规则启用日志记录。

/livedump为所选验证程序扩展检测到的违反规则启用实时内存转储收集。

/?显示命令行帮助。

有关使用这些命令的详细信息,请参阅控制驱动程序验证器和监视驱动程序验证程序

/帮助显示命令行帮助。

有关使用这些命令的详细信息,请参阅控制驱动程序验证器和监视驱动程序验证程序

返回代码

驱动程序验证程序运行后,将返回以下值。

0:EXIT_CODE_SUCCESS

1:EXIT_CODE_ERROR

2:EXIT_CODE_REBOOT_NEEDED