不変な MDL のドライバー用検査Invariant MDL Checking for Driver

インバリアントな MDL チェックドライバーオプションは、ドライバーがドライバー単位で不変の MDL バッファーを処理する方法を監視します。The Invariant MDL Checking for Driver option monitors how the driver handles invariant MDL buffers on a per-driver basis. 不変の MDL バッファーに対する無効な改変が、このオプションによって検出されます。This option detects illegal modification of invariant MDL buffers. このオプションを使うには、少なくとも 1 つのドライバーで I/O の検証を有効にする必要があります。To use this option, you must enable I/O Verification on at least one driver.

  このオプションは、Windows 8 以降で使用できます。Note  This option is available starting with Windows 8.

インバリアントな MDL チェックドライバーオプションでは、インバリアントな mdl チェックスタックオプションよりもより多くの不変の mdl チェックが実行されます。The Invariant MDL Checking for Driver option performs a more intensive form of the invariant MDL checking than the Invariant MDL Checking for Stack option. ドライバーの不変の MDL チェックがアクティブになっている場合は、 IoCallDriverルーチンとIoCompleteRequestルーチンを呼び出すたびに、buffer 不変性が検証されます。When the Invariant MDL Checking for Driver is active, buffer invariance is validated across every call to the IoCallDriver and IoCompleteRequest routines.

新しい不変の MDL バッファーが IRP で認識されるたびに、ドライバー検証ツールはバッファーの内容の署名を計算し、内部データベースに格納します。Every time a new invariant MDL buffer is seen with an IRP, Driver Verifier computes a signature for the buffer contents and stores it in its internal database. Driver Verifier は、前に見た不変の MDL バッファーを検出すると、データベース内の署名を現在のインバリアントな MDL バッファーの内容に対して計算された署名と比較することによって、バッファーの内容が変更されていないことを検証します。When Driver Verifier encounters an invariant MDL buffer that it has seen earlier, it will validate that the contents of buffer has not changed, by comparing the signature in the database with the signature computed over current invariant MDL buffer contents.

このオプションはグローバルであり、一部のドライバーを選択的に適用することはできません。This option is global and cannot be enforced selectively some drivers.

このオプションをアクティブにするActivating this option

ドライバー検証ツールマネージャーまたは Verifier コマンドラインを使用して、1つまたは複数のドライバーのドライバー機能に対する不変の MDL チェックをアクティブ化できます。You can activate the Invariant MDL Checking for Driver feature for one or more drivers by using Driver Verifier Manager or the Verifier.exe command line. 詳細については、「ドライバーの検証オプションの選択」を参照してください。For details, see Selecting Driver Verifier Options. コンピューターを再起動して、インバリアントな MDL チェックドライバーオプションをアクティブ化または非アクティブ化する必要があります。You must restart the computer to activate or deactivate the Invariant MDL Checking for Driver option.

インバリアントな MDL チェックスタックオプションをアクティブにするには、 i/o 検証もアクティブ化する必要があります。To activate the Invariant MDL Checking for Stack option, you must also activate I/O Verification.

  • コマンドラインでAt the command line

    コマンドラインでは、ドライバーの不変な MDL チェックは、 verifier/flags 0x00004000 (ビット 14) によって表されます。At the command line, the Invariant MDL Checking for Driver is represented by verifier /flags 0x00004000 (Bit 14). ドライバーの不変の MDL チェックをアクティブにするには、フラグ値0x00004010 を使用するか、フラグ値に0x00004010 を追加します。To activate Invariant MDL Checking for Driver, use a flag value of 0x00004010 or add 0x00004010 to the flag value. この値は、i/o 検証 (0x10) とドライバーの不変の MDL チェック (0x00004000) をアクティブにします。This value activates I/O Verification (0x10) and the Invariant MDL Checking for Driver (0x00004000). 次に、例を示します。For example:

    verifier /flags 0x00004010 /driver MyDriver.sys
    

    この機能は、次回の起動時にアクティブになります。The feature will be active after the next boot.

  • ドライバー検証マネージャーの使用Using Driver Verifier Manager

    1. ドライバー検証マネージャーを起動します。Start Driver Verifier Manager. コマンドプロンプトウィンドウで「 Verifier 」と入力します。Type Verifier in a Command Prompt window.
    2. [カスタム設定の作成] (コード開発者向け) を選択し、 [次へ] をクリックします。Select Create custom settings (for code developers) and then click Next.
    3. [完全な一覧から個々の設定を選択] を選択します。Select Select individual settings from a full list.
    4. ドライバーのI/o 検証と不変の MDL チェックを選択 (チェック) します。Select (check)I/O Verification and Invariant MDL Checking for Driver.
    5. コンピューターを再起動します。Restart the computer.