[インバリアント MDL Checking for Driver]\(ドライバーのインバリアント MDL チェック\) オプションは、ドライバーがドライバーごとに不変の MDL バッファーを処理する方法を監視します。 このオプションは、インバリアント MDL バッファーの不正な変更を検出します。 このオプションを使用するには、少なくとも 1 つのドライバーで I/O 検証を有効にする必要があります。
手記 このオプションは、Windows 8 以降で使用できます。
[インバリアント MDL チェッキング for Driver] オプションは、インバリアント MDL チェッキング for Stack オプションよりも、インバリアント MDL チェッキングのより集中的な形式を実行します。 インバリアント MDL Checking for Driver がアクティブな場合、 IoCallDriver ルーチンと IoCompleteRequest ルーチンを呼び出すたびにバッファーインバリアントが検証されます。
新しい不変の MDL バッファーが IRP で表示されるたびに、ドライバー検証ツールは、バッファーの内容の署名を計算し、内部データベースに格納します。 ドライバー検証ツールは、前に確認した不変の MDL バッファーを検出すると、データベース内の署名と、現在の不変の MDL バッファーの内容で計算された署名を比較することによって、バッファーの内容が変更されていないことを検証します。
このオプションはグローバルであり、一部のドライバーを選択的に適用することはできません。
このオプションのアクティブ化
ドライバー検証ツール マネージャーまたは Verifier.exe コマンド ラインを使用して、1 つ以上のドライバーの不変 MDL チェック機能をアクティブ化できます。 詳細については、「 ドライバー検証ツールオプションの選択」を参照してください。 インバリアント MDL のドライバー チェック オプションをアクティブ化または非アクティブ化するには、コンピューターを再起動する必要があります。
[インバリアント MDL Checking for Stack]\(スタックのインバリアント MDL チェック\) オプションをアクティブにするには、I/O 検証もアクティブにする必要があります。
コマンド ラインで
コマンド ラインでは、インバリアント MDL Checking for Driver は verifier /flags 0x00004000 (ビット 14) で表されます。 ドライバーのインバリアント MDL チェックをアクティブにするには、0x00004010のフラグ値を使用するか、フラグ値に0x00004010を追加します。 この値により、I/O 検証 (0x10) とインバリアント MDL Checking for Driver (0x00004000) がアクティブになります。 例えば次が挙げられます。
verifier /flags 0x00004010 /driver MyDriver.sysこの機能は、次の起動時にアクティブになります。
ドライバー検証ツール マネージャーの使用
- ドライバー検証ツール マネージャーを起動します。 コマンド プロンプト ウィンドウに 「Verifier 」と入力します。
- (コード開発者向けの) [カスタム設定の作成] を選択し、[次へ] をクリックします。
- 完全な一覧から [個々の設定を選択] を選択します。
- [I/O 検証 ] と [インバリアント MDL Checking for Driver]\(ドライバーのインバリアント MDL チェック\) を選択 (チェック) します。
- コンピューターを再起動します。