MmIsDriverSuspectForVerifier 関数 (wdm.h)

MmIsDriverSuspectForVerifier ルーチンは、指定したドライバー オブジェクトによって表されるドライバーが、ドライバー検証ツールによって検証されるように選択されたドライバーの一覧に含まれているかどうかを示します。

構文

LOGICAL MmIsDriverSuspectForVerifier(
  [in] _DRIVER_OBJECT *DriverObject
);

パラメーター

[in] DriverObject

ドライバー オブジェクトへのポインター。 このオブジェクトは、読み込まれたドライバー イメージを表す DRIVER_OBJECT 構造体です。 ドライバーは、 DriverEntry ルーチンへの入力パラメーターとしてこのポインターを受け取ります。

戻り値

ドライバーが検証用に選択されている場合、MmIsDriverSuspectForVerifierTRUE を返します。 それ以外の場合、ルーチンは FALSE を返します

注釈

カーネル モード ドライバーは、ドライバー 検証ツールによって監視されているかどうかを判断するには、このルーチンを呼び出すことができます。 ドライバー検証ツールは、カーネル モード ドライバーを監視して、システムを破損させる可能性のある無効な関数呼び出しまたはアクションを検出します。 検証するドライバーを選択するには、 Verifier コマンド ライン または ドライバー検証ツール マネージャーを使用します。 ドライバー検証リストへのドライバーの追加の詳細については、「 検証対象のドライバーの選択」を参照してください。

関連するルーチン MmIsDriverVerifying は、指定したドライバーがドライバー検証リストにある場合、またはドライバー検証リストにあるドライバーのエントリ ポイントへの呼び出しをインポートする場合に TRUE を 返します。 それ以外の場合、 MmIsDriverVerifyingFALSE を返します。

たとえば、ドライバー A にドライバー B の 1 つ以上のエントリ ポイントを呼び出すインポート テーブルがあり、ドライバー B がドライバー検証リストに含まれている場合、TRUE を返しMmIsDriverSuspectForVerifier(B)MmIsDriverVerifying(A)TRUE を返します。 ドライバー A がドライバー検証リストにない場合は、 MmIsDriverSuspectForVerifier(A)FALSE を返します。 ドライバー B がドライバー検証リストに含まれるドライバーのエントリ ポイントを呼び出さない場合でも、 MmIsDriverVerifying(B) ドライバー B はドライバー検証リストに含まれているため 、TRUE を 返します。 ドライバー C がドライバー検証リストに含まれていない場合、ドライバー検証リストに含まれるドライバーのエントリ ポイントが呼び出されず、 MmIsDriverVerifying(C)MmIsDriverSuspectForVerifier(C) 両方とも FALSE が返されます。

別の関連ルーチン である MmIsDriverVerifyingByAddress は、ドライバー イメージ アドレスによって識別されたドライバーが検証されているか、検証中のドライバーを呼び出しているかを示します。 MmIsDriverVerifyingByAddress は、Windows Vista 以降で使用できます。

要件

要件
サポートされている最小のクライアント Windows 8 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= APC_LEVEL

こちらもご覧ください

DRIVER_OBJECT

DriverEntry

MmIsDriverVerifying

MmIsDriverVerifyingByAddress