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

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

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

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

Windows 11 语法

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

注意

/volatile 参数将在 Windows 的未来版本中弃用。 在Windows 11替换选项为 /difDifEnabledRule/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/flags 选项一起使用 进行 DDI 符合性检查Power Framework 延迟模糊 处理或 Storport 验证。 有关详细信息,请参阅 使用易失性设置

  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/flags 选项一起使用 进行 DDI 符合性检查Power Framework 延迟模糊处理、 Storport 验证。 有关详细信息,请参阅 使用易失性设置

  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 /?

参数

验证程序Command-Line语法

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

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

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

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

Bootmode 说明

持续

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

resetonbootfail

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

oneboot

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

resetonunusualshutdown

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

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

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

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

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

/故障 在驱动程序验证程序中启用资源不足模拟功能。 可以使用 /faults 代替 /flags 0x4。 但是,不能将 /flags 0x4/faults 子参数一起使用。

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

子参数 说明

概率

指定驱动程序验证程序在给定分配中失败的概率。 在十进制或十六进制) 中键入一个数字 (,表示驱动程序验证程序在 10,000 次中未能通过分配的几率。 默认值 600 表示 600/10000,即 6%。

池标记

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

应用程序

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

DelayMins

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

/faultssystematic 指定 系统资源不足模拟的选项。 使用 “0x40000 ”标志选择“系统资源不足模拟”选项。

OPTION 说明

enableboottime

在计算机重启之间启用故障注入。

disableboottime

禁用跨计算机重启的错误注入, (这是默认设置) 。

recordboottime

如果跨计算机重启,则启用模式中的故障注入。

resetboottime

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

enableruntime

动态启用故障注入。

disableruntime

动态禁用故障注入。

recordruntime

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

resetruntime

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

querystatistics

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

incrementcounter

递增用于标识何时注入故障的测试通过计数器。

getstackid COUNTER

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

excludestack STACKID

从故障注入中排除堆栈。

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

小数 十六进制 标准设置 选项

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 验证 选择“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)

从 Windows 8) 开始,对堆栈 (进行固定 MDL 检查

16384

0x4000 (位 14)

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

32768

0x8000 (位 15)

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

65536

0x10000 (位 16)

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

131072

0x20000 (位 17)

X

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

262144

0x40000 (位 18)

系统化低资源模拟 (从 Windows 10 版本 19042 及更高版本中弃用的 Windows 8.1) ()

524288

0x80000 (位 19)

DDI 符合性检查 (其他) (从 Windows 10 版本 19042 及更高版本中弃用的 Windows 8.1) ()

2097152

0x200000 (位 21)

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

8388608

0x800000 (位 23)

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

16777216

0x1000000 (位 24)

VM 交换机验证 (从 Windows 8.1) 开始

33554432

0x2000000 (位 25)

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

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

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

可以将 /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 参数。

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 模式) 但 /ruleclasses/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 模式

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

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

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

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

选项 说明

query

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

reset

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

默认ID

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

禁用ID

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

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

注意

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

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

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

指定在不重新启动的情况下立即更改的驱动程序验证程序选项。 只有以下标志可以与 volatile 一起使用:

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

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

选项 说明

/adddriverVolatileDriverList

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

/removedriverVolatileDriverList

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

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

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

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

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

类型 说明

Wdm

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

Ndis

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

Ks

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

音频

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

支持以下扩展选项。

选项 说明

rules.default

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

rules.all

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

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

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

/? 显示命令行帮助。

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

/帮助 显示命令行帮助。

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

返回代码

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

0:EXIT_CODE_SUCCESS

1:EXIT_CODE_ERROR

2:EXIT_CODE_REBOOT_NEEDED