次の方法で共有


MmIsDriverVerifyingByAddress 関数 (wdm.h)

MmIsDriverVerifyingByAddress ルーチンは、指定されたイメージ アドレスによって識別されるカーネル モード ドライバーが検証されているかどうかを確認するか、ドライバー検証ツール によって検証されているドライバー呼び出します。

構文

LOGICAL MmIsDriverVerifyingByAddress(
  [in] PVOID AddressWithinSection
);

パラメーター

[in] AddressWithinSection

ドライバー イメージ内の仮想アドレスへのポインター。 MmIsDriverVerifyingByAddress はこのアドレスを使用して、確認するドライバーを決定します。

戻り値

MmIsDriverVerifyingByAddress は、指定したドライバーがドライバー検証リストに含まれているか、ドライバー検証リストに含まれるドライバーのエントリ ポイントへの呼び出しをインポートする場合、TRUE を返します。 それ以外の場合、このルーチンは FALSE 返します。

備考

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

同様のルーチン MmIsDriverVerifyingは、ドライバー オブジェクト によって識別されたドライバーが検証されているか、検証中のドライバーを呼び出すかを示します。

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

たとえば、ドライバー A にドライバー B の 1 つ以上のエントリ ポイントを呼び出すインポート テーブルがあり、ドライバー B がドライバー検証リストに含まれている場合、MmIsDriverVerifyingByAddress(Aobj) は TRUE 返し、MmIsDriverSuspectForVerifier(Badr)TRUEを返します。ここで、Aobj は A のドライバー オブジェクトへのポインターであり、Badr はドライバー B のアドレスです。ドライバー A がドライバー検証リストにない場合、MmIsDriverSuspectForVerifier(Aobj) は FALSE 返します。 ドライバー B がドライバー検証リストに含まれるドライバーのエントリ ポイントを呼び出さない場合でも、ドライバー B がドライバー検証リストに含まれているため、MmIsDriverVerifyingByAddress(Badr) は TRUE 返します。 ドライバー C がドライバー検証リストに含まれていない場合、ドライバー検証リストに含まれるドライバーのエントリ ポイントを呼び出さない場合、MmIsDriverVerifyingByAddress(Cadr)MmIsDriverSuspectForVerifier(Cobj) はどちらも FALSE 返します。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=APC_LEVEL

関連項目

mmIsDriverSuspectForVerifier

MmIsDriverVerifying