verifier

ドライバー検証ツール

検証ツールの構成エディター


verifier

  • C:\Windows\system32\verifier.exe /?

Output:


Copyright (c) Microsoft Corporation. All rights reserved.

構文:

    verifier {/? | /help}
    verifier /standard /all
    verifier /standard /driver <名前> [<名前> ...]
    verifier {/ruleclasses | /rc} <オプション> [<規則クラス 1> <規則クラス 2> ...] /all
    verifier /flags <オプション> [<オプション> ...] /all
    verifier /flags <オプション> [<オプション> ...] /driver <名前> [<名前> ...]
    verifier /rules {query | reset | default <ID> | disable <ID>}
    verifier /query
    verifier /querysettings
    verifier /bootmode {persistent | resetonbootfail | oneboot | resetonunusualshutdown}
    verifier /persistthroughupgrade
    verifier /reset
    verifier /faults [probability [pool_tags [applications [delay_minutes]]]]
    verifier /faultssystematic [<オプション> ...]
    verifier /log <ファイル名> [/interval <>]
    verifier /volatile /flags <オプション> [<オプション> ...]
    verifier /volatile /adddriver <名前> [<名前> ...]
    verifier /volatile /removedriver <名前> [<名前> ...]
    verifier /volatile /faults [probability [pool_tags [applications
                [delay_minutes]]]]
    verifier /domain {wdm | ndis | ks | audio} [rules.all | rules.default ]
                /driver ... [/logging | /livedump]
    verifier /logging
    verifier /livedump

パラメーター:

    /? または /help
        このヘルプ メッセージを表示します。

    /standard
        標準のドライバー検証ツールのフラグを指定します。

    /all
        インストールされているすべてのドライバーを次回の再起動後に検証することを
        指定します。

    /driver <名前> [<名前> ...]
        検証する 1 つ以上のドライバー (イメージ名) を指定します。
        ワイルドカード値 (n*.sys など) はサポートされません。

    /driver.exclude <名前> [<名前> ...]
        検証から除外する 1 つ以上のドライバー (イメージ名) を指定します。
        このパラメーターは、すべてのドライバーを検証対象として選択した場合に
        のみ使用できます。ワイルドカード値 (n*.sys など) は
        サポートされません。

    /flags <オプション> [<オプション> ...]
        検証を有効にする 1 つ以上のオプションを指定します。ドライバーの検証
        ツールで検査されるすべてのドライバーにフラグが適用されます。オプション
        値は、10 進数、16 進数 ("0x" のプレフィックス)、8 進数 ("0o" のプレフィックス)、
        またはバイナリ ("0b" のプレフィックス) の形式で指定する必要があります。

        標準のフラグ:
          ドライバーの検証ツールの標準のオプションは、'/standard' を使用して指定できます。
          WDF の検証は、/standard に含まれていますが、ここには示されていません。

          0x00000001 (ビット  0) - 特別なプール
          0x00000002 (ビット  1) - 強制 IRQL 検査
          0x00000008 (ビット  3) - プールのトラック
          0x00000010 (ビット  4) - I/O の検証
          0x00000020 (ビット  5) - デッドロックの検出
          0x00000080 (ビット  7) - DMA 検査
          0x00000100 (ビット  8) - セキュリティの検査
          0x00000800 (ビット 11) - その他の検査
          0x00020000 (ビット 17) - DDI 準拠の検査

        その他のフラグ:
          これらのフラグは、特定の状況でのテスト用に設計されています。
          (*) でマークされたフラグでは、必要な I/O の検証 (ビット 4) が自動的に
          有効になります。(**) でマークされたフラグは個々の規則の無効化を
          サポートします。

          0x00000004 (ビット  2) - ランダム化された低リソース シミュレーション
          0x00000200 (ビット  9) - 保留中の I/O 要求を強制 (*)
          0x00000400 (ビット 10) - IRP ログ (*)
          0x00002000 (ビット 13) - 不変な MDL のスタック用検査 (*)
          0x00004000 (ビット 14) - 不変な MDL のドライバー用検査 (*)
          0x00008000 (ビット 15) - Power Framework 遅延ファジー テスト
          0x00010000 (ビット 16) - ポート/ミニポート インターフェイスの検査
          0x00040000 (ビット 18) - 体系的な低リソース シミュレーション
          0x00080000 (ビット 19) - DDI 準拠の検査 (オプション)
          0x00200000 (ビット 21) - NDIS/WIFI の検査 (**)
          0x00800000 (ビット 23) - カーネル同期の遅延ファジー テスト
          0x01000000 (ビット 24) - VM スイッチの検証
          0x02000000 (ビット 25) - コードの整合性検査

    /ruleclasses または /rc [<規則クラス 1> <規則クラス 2> ... <規則クラス k>]
        このパラメーターは、上記の '/flags' の大きいセットです。'/flags' は
        32 ビットのビットマップ表現に制限されていますが、これには 32 より多くの
        検証クラスを含めることができます。正の各 10 進整数が
        検証クラスを表します。複数のクラスを記述するには、
        各クラスを空白文字で区切ります。以下の規則クラス ID を
        使用でき、先頭の 0 は省略できます。

        標準の規則クラス:

          1 - 特別なプール
          2 - 強制 IRQL 検査
          4 - プールのトラック
          5 - I/O の検証
          6 - デッドロックの検出
          8 - DMA 検査
          9 - セキュリティの検査
          12 - その他の検査
          18 - DDI 準拠の検査
          34 - WDF の検証

        その他の規則クラス:
          これらの規則クラスは、特定の状況でのテスト用に設計されています。
          (*) でマークされた規則クラスでは、必要な I/O の検証 (5) が自動的に
          有効になります。(**) でマークされたフラグは
          個々の規則の無効化をサポートします。

          3 - ランダム化された低リソース シミュレーション
          10 - 保留中の I/O 要求を強制 (*)
          11 - IRP ログ (*)
          14 - 不変な MDL のスタック用検査 (*)
          15 - 不変な MDL のドライバー用検査 (*)
          16 - Power Framework 遅延ファジー テスト
          17 - ポート/ミニポート インターフェイスの検査
          19 - 体系的な低リソース シミュレーション
          20 - DDI 準拠の検査 (オプション)
          22 - NDIS/WIFI の検査 (**)
          24 - カーネル同期の遅延ファジー テスト
          25 - VM スイッチの検証
          26 - コードの整合性検査

    /log.code_integrity
        このオプションは、コードの整合性違反による中断を抑制し、検証された
        ドライバーの統計情報だけを収集します。統計情報は、/log オプション
        またはカーネル デバッガーを使用して抽出できます。このパラメーターは、
        コードの整合性検査を有効にした場合にのみ適用できます。

    /rules {query | reset | default <ID> | disable <ID>}
        規則レベルの制御を指定します (詳細設定)。

          query           制御可能な規則の現在の状態を表示します。
          reset           すべての規則を既定の状態にリセットします。
          default <ID>    規則 ID を既定の状態に設定します。
          disable <ID>    指定した規則 ID を無効にします。

    /query
        ドライバーの検証ツールのランタイムの統計情報と設定を表示します。

    /querysettings
        現在有効なオプションおよびドライバーの要約、または次回の起動後に
        検証されるオプションおよびドライバーの要約を表示します。
        表示には、/volatile を使用して追加したドライバーおよびオプションは
        含まれません。

    /bootmode
        ドライバーの検証ツールのブート モードを指定します。このオプションによる
        設定を有効にするには、システムの再起動が必要です。

          persistent        ドライバーの検証ツールの設定が再起動後も
                            維持されます。
                            これは既定値です。
          resetonbootfail   次回以降の再起動時に、システムを開始できない
                            場合はドライバーの検証ツールを無効にします。
          resetonunusualshutdown
                            通常とは異なるシャットダウンが発生するまでドライバーの検証ツールが
                            維持されます。省略形の 'rous' を使用できます。
          oneboot           次回の起動時にのみドライバーの検証ツールを有効にします。

    /persistthroughupgrade
        ドライバーの検証ツールの設定がアップグレード後も維持されます。ドライバーの
        検証ツールはシステムのアップグレード中にアクティブになります。

    /reset
        ドライバーの検証ツールのフラグとドライバーの設定をクリアします。
        このオプションによる設定を有効にするには、システムの再起動が必要です。

    /faults [probability [pool_tags [applications [delay_minutes]]]]
        ランダム化された低リソース シミュレーション機能を有効にし、必要に応じて
        ランダム化された低リソース シミュレーションのパラメーターを制御します。

          Probability     ある割り当てをドライバーの検証ツールがエラーにする
                          確率を指定します。この値は、ドライバーの検証ツールが
                          割り当てをエラーにする可能性を、10,000 回あたりの
                          回数として表します。既定値は 600 で、600/10000 または
                          6. を意味します。
          Pool Tags:      フォールトを挿入するプール タグを、スペースで区切った
                          一覧として指定します。既定では、どのプール割り当て
                          にもフォールトが挿入される可能性があります。
          Applications    フォールトを挿入するイメージ ファイル名 (実行可能
                          ファイル) を、スペースで区切った一覧として指定
                          します。既定では、どのプール割り当てにもフォールトが
                          挿入される可能性があります。
          DelayMinutes    ドライバーの検証ツールが割り当てを意図的にエラーに
                          しない、起動後の時間 (分) を指定します。この遅延を
                          使用すると、ドライバーが読み込まれてシステムが安定化
                          してから、テストを開始することができます。既定値は
                          8 分です。

    /faultssystematic [<オプション> ...]
        体系的な低リソース シミュレーションのパラメーターを制御します。

          enableboottime             再起動をまたぐフォールト挿入を有効にします。
          disableboottime            再起動をまたぐフォールト挿入を無効に
                                     します。これは既定値です。
          recordboottime             再起動をまたぐ 'what if' モードでの
                                     フォールト挿入を有効にします。
          resetboottime              再起動をまたぐフォールト挿入を無効にし、
                                     スタック除外リストをクリアします。
          enableruntime              フォールト挿入を動的に有効にします。
          disableruntime             フォールト挿入を動的に無効にします。
          recordruntime              'what if' モードでのフォールト挿入を動的に
                                     有効にします。
          resetruntime               フォールト挿入を動的に無効にし、以前に
                                     エラーが発生したスタック リストをクリアします。
          querystatistics            現在のフォールト挿入の統計情報を表示します。
          incrementcounter           フォールトが挿入されたタイミングを示すために使用
                                     されるテスト パス カウンターを増加させます。
          getstackid <カウンター>    挿入された指定のスタック ID を取得します。
          excludestack <スタック ID> フォールト挿入からスタックを除外します。

    /log <ファイル名> [/interval <>]
        指定した名前のログ ファイルを作成し、実行時の統計情報をこのファイルに
        定期的に書き込みます。ログ ファイルの更新間隔は '/interval'
        パラメーターで制御します。既定値は 30 秒です。ログを終了して戻るには、
        Ctrl + C キーを使用します。

    /volatile
        コンピューターを再起動せずにドライバーの検証ツールの設定を変更します。
        揮発性の設定は直ちに有効になり、次回のシステム再起動まで有効
        です。

    /volatile /adddriver <名前> [<名前> ...]
        指定した 1 つ以上のドライバーの検証を開始します。

    /volatile /removedriver <名前> [<名前> ...]
        指定した 1 つ以上のドライバーの検証を停止します。

    /domain {wdm | ndis | ks | audio} [rules.all | rules.default] /driver ...
        [/logging | /livedump | /onecheck]
        検証ツールの拡張設定を制御します。次の種類の検証ツール拡張がサポート
        されています。

          wdm               WDM ドライバー用の検証ツール拡張を有効にします。
          ndis              ネットワーク ドライバー用の検証ツール拡張を有効にします。
          ks                カーネル モードのストリーム ドライバー用の検証
                            ツール拡張を有効にします。
          audio             オーディオ ドライバー用の検証ツール拡張を有効にします。

        次の拡張オプションがサポートされています。

          rules.default     選択した検証ツール拡張の既定の検証規則を有効に
                            します。
          rules.all         選択した検証ツール拡張のすべての検証規則を有効に
                            します。

        /logging
          選択した検証ツール拡張によって検出された規則違反のログを有効に
          します。

        /livedump
          選択した検証ツール拡張によって検出された規則違反のライブ メモリ
          ダンプ収集を有効にします。

Copyright (c) Microsoft Corporation. All rights reserved.

SYNTAX:

    verifier {/? | /help}
    verifier /standard /all
    verifier /standard /driver <name> [<name> ...]
    verifier {/ruleclasses | /rc} <options> [<ruleclass_1> <ruleclass_2> ...] /all
    verifier /flags <options> [<options> ...] /all
    verifier /flags <options> [<options> ...] /driver <name> [<name> ...]
    verifier /rules {query | reset | default <id> | disable <id>}
    verifier /query
    verifier /querysettings
    verifier /bootmode {persistent | resetonbootfail | oneboot | resetonunusualshutdown}
    verifier /persistthroughupgrade
    verifier /reset
    verifier /faults [probability [pool_tags [applications [delay_minutes]]]]
    verifier /faultssystematic [<options> ...]
    verifier /log <file_name> [/interval <seconds>]
    verifier /volatile /flags <options> [<options> ...]
    verifier /volatile /adddriver <name> [<name> ...]
    verifier /volatile /removedriver <name> [<name> ...]
    verifier /volatile /faults [probability [pool_tags [applications
                [delay_minutes]]]]
    verifier /domain {wdm | ndis | ks | audio} [rules.all | rules.default ]
                /driver ... [/logging | /livedump]
    verifier /logging
    verifier /livedump

PARAMETERS:

    /? or /help
        Displays this help message.

    /standard
        Specifies standard Driver Verifier flags.

    /all
        Specifies that all installed drivers will be verified after the next
        boot.

    /driver <name> [<name> ...]
        Specifies one or more drivers (image names) that will be verified.
        Wildcard values (e.g. n*.sys) are not supported.

    /driver.exclude <name> [<name> ...]
        Specifies one or more drivers (image names) that will be excluded
        from verification. This parameter is applicable only if all drivers
        are selected for verification. Wildcard values (e.g. n*.sys) are not
        supported.

    /flags <options> [<options> ...]
        Specifies one or more options that should be enabled for verification.
        Flags are applied to all drivers being checked by Driver Verifier. The
        provided options values must be either in decimal, hexadecimal ("0x"
        prefix), octal ("0o" prefix) or binary ("0b" prefix) format.

        Standard Flags:
          Standard Driver Verifier options can be specified using '/standard'.
          WDF verification is included in /standard but is not shown here.

          0x00000001 (bit  0) - Special pool
          0x00000002 (bit  1) - Force IRQL checking
          0x00000008 (bit  3) - Pool tracking
          0x00000010 (bit  4) - I/O verification
          0x00000020 (bit  5) - Deadlock detection
          0x00000080 (bit  7) - DMA checking
          0x00000100 (bit  8) - Security checks
          0x00000800 (bit 11) - Miscellaneous checks
          0x00020000 (bit 17) - DDI compliance checking

        Additional Flags:
          These flags are intended for specific scenario testing. Flags marked
          with (*) require I/O Verification (bit 4) that will be automatically
          enabled. Flags marked with (**) support disabling of individual
          rules.

          0x00000004 (bit  2) - Randomized low resources simulation
          0x00000200 (bit  9) - Force pending I/O requests (*)
          0x00000400 (bit 10) - IRP logging (*)
          0x00002000 (bit 13) - Invariant MDL checking for stack (*)
          0x00004000 (bit 14) - Invariant MDL checking for driver (*)
          0x00008000 (bit 15) - Power framework delay fuzzing
          0x00010000 (bit 16) - Port/miniport interface checking
          0x00040000 (bit 18) - Systematic low resources simulation
          0x00080000 (bit 19) - DDI compliance checking (additional)
          0x00200000 (bit 21) - NDIS/WIFI verification (**)
          0x00800000 (bit 23) - Kernel synchronization delay fuzzing
          0x01000000 (bit 24) - VM switch verification
          0x02000000 (bit 25) - Code integrity checks

    /ruleclasses or /rc [<ruleclass_1> <ruleclass_2> ... <ruleclass_k>]
        This parameter is larger set of '/flags' above. While '/flags' is
        limited to 32 bit bitmap expression, this can include more than 32
        verification classes. Each positive decimal integer represents a
        verification class. Multiple classes can be expressed by separating
        each class id with space character. Following rule classes IDs are
        available and leading 0's can be omitted.

        Standard Rule Classes:

                   1 - Special pool
                   2 - Force IRQL checking
                   4 - Pool tracking
                   5 - I/O verification
                   6 - Deadlock detection
                   8 - DMA checking
                   9 - Security checks
                  12 - Miscellaneous checks
                  18 - DDI compliance checking
                  34 - WDF Verification

        Additional Rule Classes:
          These rule classes are intended for specific scenario testing. Rule
          classes are marked with (*) require I/O Verification (5) that will
          be automatically enabled. Flags marked with (**) support disabling
          of individual rules.

                   3 - Randomized low resources simulation
                  10 - Force pending I/O requests (*)
                  11 - IRP logging (*)
                  14 - Invariant MDL checking for stack (*)
                  15 - Invariant MDL checking for driver (*)
                  16 - Power framework delay fuzzing
                  17 - Port/miniport interface checking
                  19 - Systematic low resources simulation
                  20 - DDI compliance checking (additional)
                  22 - NDIS/WIFI verification (**)
                  24 - Kernel synchronization delay fuzzing
                  25 - VM switch verification
                  26 - Code integrity checks

    /log.code_integrity
        This option suppresses Code Integrity violation breaks and collects
        only statistics for verified drivers. Statistics could be extracted
        via /log option or kernel debugger. This parameter is applicable only
        if Code Integrity checks are enabled.

    /rules {query | reset | default <id> | disable <id>}
        Specifies rules level control (advanced).

          query           Shows current status of controllable rules.
          reset           Resets all rules to their default state.
          default <id>    Sets rule ID to its default state.
          disable <id>    Disables specified rule ID.

    /query
        Display runtime Driver Verifier statistics and settings.

    /querysettings
        Displays a summary of the options and drivers that are currently
        enabled, or options and drivers that will be verified after the
        next boot. The display does not include drivers and options added
        using /volatile.

    /bootmode
        Specifies the Driver Verifier boot mode. This option requires system
        reboot to take effect.

          persistent        Ensures that Driver Verifier settings are
                            persistent across reboots. This is the default
                            value.
          resetonbootfail   Disables Driver Verifier for subsequent reboots
                            if the system failed to start.
          resetonunusualshutdown
                            Driver Verifier persists until unusual shutdown
                            happens. Its abbrevation, 'rous', can be used.
          oneboot           Enables Driver Verifier only for the next boot.

    /persistthroughupgrade
        Makes the Driver Verifier settings persist through upgrade. Driver
        Verifier will be active during system upgrade.

    /reset
        Clears Driver Verifier flags and driver settings. This option requires
        system reboot to take effect.

    /faults [probability [pool_tags [applications [delay_minutes]]]]
        Enable the Randomized low resources simulation feature and optionally
        control parameters for the Randomized low resources simulation.

          Probability     Specifies the probability that Driver Verifier will
                          fail a given allocation. The value represents the
                          number of chances in 10,000 that Driver Verifier will
                          fail the allocation. The default value 600, means
                          600/10000 or 6.
          Pool Tags:      Specifies a space separated list of the pool tags to
                          be injected with faults. By default, any pool
                          allocation can be injected with faults.
          Applications    Specifies a space separated list of image file names
                          (an executable) that will be injected with faults. By
                          default, any pool allocation can be injected with
                          faults.
          DelayMinutes    Specifies the number of minutes after booting during
                          which Driver Verifier does not intentionally fail any
                          allocations. This delay allows the drivers to load
                          and the system to stabilize before the test begins.
                          The default value is 8 minutes.

    /faultssystematic [<options> ...]
        Controls the Systematic low resources simulation parameters.

          enableboottime          Enables fault injections across reboots.
          disableboottime         Disables fault injections across reboots.
                                  This is the default value.
          recordboottime          Enables fault injections in 'what if' mode
                                  across reboots.
          resetboottime           Disables fault injections across reboots and
                                  clears the stack exclusion list.
          enableruntime           Dynamically enables fault injections.
          disableruntime          Dynamically disables fault injections.
          recordruntime           Dynamically enables fault injections in
                                  'what if' mode.
          resetruntime            Dynamically disables fault injections and
                                  clears the previously faulted stack list.
          querystatistics         Shows the current fault injection statistics.
          incrementcounter        Increments the test pass counter used to
                                  identify when a fault was injected.
          getstackid <counter>    Retrieves the indicated injected stack id.
          excludestack <stack_id> Excludes the stack from fault injection.

    /log <file_name> [/interval <seconds>]
        Creates a log file with the specified name and periodically writes the
        runtime statistics to this file. The interval between log file updates
        is controlled by the '/interval' parameter. The default value is 30
        seconds. Use CTRL+C to close the log and return.

    /volatile
        Changes Driver Verifier settings without rebooting the computer.
        Volatile settings take effect immediately and are in effect until the
        next system reboot.

    /volatile /adddriver <name> [<name> ...]
        Starts the verification for the specified driver or drivers.

    /volatile /removedriver <name> [<name> ...]
        Stops the verification for the specified driver or drivers.

    /domain {wdm | ndis | ks | audio} [rules.all | rules.default] /driver ...
        [/logging | /livedump]
        Controls the verifier extension settings. The following verifier
        extension types are supported:

          wdm               Enabled verifier extension for WDM drivers.
          ndis              Enabled verifier extension for networking drivers.
          ks                Enabled verifier extension for kernel mode
                            streaming drivers.
          audio             Enabled verifier extension for audio drivers.

        The following extension options are supported:

          rules.default     Enables default validation rules for the selected
                            verifier extension.
          rules.all         Enables all validation rules for the selected
                            verifier extension.

        /logging
          Enables logging for violated rules detected by the selected verifier
          extensions.

        /livedump
          Enables live memory dump collection for violated rules detected by
          the selected verifier extensions.

Return Code: 0


C:\Windows\system32\verifier.exe
c:\>ver
Microsoft Windows [Version 10.0.19045.2075]
FileInfo
File Size177976bytes
Creation Time2019/12/07 18:08:37
LastWrite Time2019/12/07 18:08:37
ProductVersion10.0.19041.1889
FileVersion10.0.19041.1889 (WinBuild.160101.0800)
HashValue
MD52116190ae866163ed485c4fd3e13d03b
SHA1664654a40696f13dc8e23bd2df32ba55a6e0da20
SHA22444cdf3dcca8c626f53860c0401758ff1ea5d44c75f50212fee36b4a1
SHA256608af8aef15ba4f75996d46249a428ebbff1551de06f6eb6a053c2c330da6965
SHA384d79cf171a2a811e37fe36e297cb886a63ae79074b7a1afd90627ee09e2f55454e0dded9f1bbfd709350315ff535e67e0
SHA512d1215853879de73aa469563c4ba85c40e0b3fb09cc32e56a8eb70fb003bb62625291857fb51b9d9a16da8b977075aa1c96a154437b06065c672fa04d7f2c48c6
Built with Hugo
テーマ StackJimmy によって設計されています。