次の方法で共有


KBUGCHECK_REMOVE_PAGES 構造体 (wdm.h)

KBUGCHECK_REMOVE_PAGES構造体は、クラッシュ ダンプ ファイルからKBUGCHECK_REASON_CALLBACK_ROUTINEコールバック ルーチンによって削除されるドライバー提供のデータの 1 つまたは複数のページを記述します。

構文

typedef struct _KBUGCHECK_REMOVE_PAGES {
  PVOID     Context;
  ULONG     Flags;
  ULONG     BugCheckCode;
  ULONG_PTR Address;
  ULONG_PTR Count;
} KBUGCHECK_REMOVE_PAGES, *PKBUGCHECK_REMOVE_PAGES;

メンバー

Context

コールバック ルーチンを排他的に使用するためのプライベート コンテキスト データが含まれます。 コールバック ルーチンは、このメンバーを任意の値に設定できます。 通常、コールバック ルーチンを複数回呼び出す必要がある場合、ルーチンは、最初の呼び出し中にドライバー指定のバッファーを指すようにこのメンバーを設定します。 後続の呼び出し中に、コールバック ルーチンは、このバッファーの前の内容を読み取り、その内容を更新できます。 コールバック ルーチンの最初の呼び出しの前に、 ContextNULL です

Flags

ページの削除要求を記述するフラグが含まれます。 コールバック ルーチンは、このメンバーの値を設定する必要があります。 このメンバーを、次のフラグ ビットの 1 つ以上のビットごとの OR に設定します。

KB_ADD_PAGES_FEATURE_SHIFT       4

KB_REMOVE_PAGES_FEATURE_SHIFT    4

KB_ADD_PAGES_FEATURE_MASK        (0xF << KB_ADD_PAGES_FEATURE_SHIFT)

KB_REMOVE_PAGES_FEATURE_MASK     (0xF << (KB_ADD_PAGES_FEATURE_SHIFT + KB_REMOVE_PAGES_FEATURE_SHIFT))

BugCheckCode

バグ チェックコードが含まれており、バグ チェックの理由を指定します。 コールバック ルーチンは、この情報を使用して、クラッシュ ダンプ ファイルにページを追加するかどうかを決定できます。 バグ チェック コードの完全な一覧については、WDK に含まれる Bugcodes.h ヘッダー ファイルを参照してください。

Address

コールバック ルーチンがクラッシュ ダンプ ファイルから削除することを要求するページまたはページの物理アドレスまたは仮想アドレスを指定します。

Count

Address メンバーによって指定された仮想アドレスまたは物理アドレスから開始して、クラッシュ ダンプ ファイルから削除する連続するページの数を指定 しますCount> 1 と Address が仮想アドレスの場合、ページは仮想メモリ空間内で連続しています。 Count> 1 と Address が物理アドレスの場合、ページは物理メモリ空間内で連続しています。 コールバック ルーチンは、クラッシュ ダンプ ファイルからページを削除する必要がないことを示すために、このメンバーを 0 に設定できます。

注釈

KBUGCHECK_REASON_CALLBACK_ROUTINE コールバック ルーチンの呼び出しでは、オペレーティング システムによって Reason パラメーターが KbCallbackRemovePages に設定され、ReasonSpecificData パラメーターがKBUGCHECK_REMOVE_PAGES構造体を指すように設定されます。

バグ チェックコールバック ルーチンの詳細については、「バグ チェック コールバック ルーチンの記述」を参照してください。

要件

要件
Header wdm.h