KBUGCHECK_ADD_PAGES 構造体 (wdm.h)
KBUGCHECK_ADD_PAGES構造体は、KBUGCHECK_REASON_CALLBACK_ROUTINEコールバック関数によってクラッシュ ダンプ ファイルに書き込まれるドライバーが提供するデータの 1 つ以上のページを記述します。
構文
typedef struct _KBUGCHECK_ADD_PAGES {
PVOID Context;
ULONG Flags;
ULONG BugCheckCode;
ULONG_PTR Address;
ULONG_PTR Count;
} KBUGCHECK_ADD_PAGES, *PKBUGCHECK_ADD_PAGES;
メンバー
Context
コールバック ルーチンを排他的に使用するためのプライベート コンテキスト データが含まれます。 コールバック ルーチンは、このメンバーを任意の値に設定できます。 通常、コールバック ルーチンを複数回呼び出す必要がある場合、ルーチンは、最初の呼び出し中にドライバー指定のバッファーを指すようにこのメンバーを設定します。 後続の呼び出し中に、コールバック ルーチンは、このバッファーの以前の内容を読み取り、その内容を更新できます。 コールバック ルーチンの最初の呼び出しの前に、 Context は NULL です。
Flags
追加ページ要求を記述するフラグが含まれています。 コールバック ルーチンは、このメンバーの値を設定する必要があります。 このメンバーを、次のフラグ ビットの 1 つ以上のビットごとの OR に設定します。
KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS
Address メンバーに仮想アドレスが含まれていることを示します。
KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS
Address メンバーに物理アドレスが含まれていることを示します。
KB_ADD_PAGES_FLAG_ADDITIONAL_RANGES_EXIST
コールバック ルーチンが、ページを追加できるように、再度呼び出すように要求することを示します。
コールバック ルーチンは、KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS フラグまたはKB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS フラグを設定する必要がありますが、両方を設定する必要はありません。 コールバック ルーチンへのエントリでは、 Flags は 0 に初期化されます。
BugCheckCode
バグ チェックの理由を指定するバグ チェック コードが含まれています。 コールバック ルーチンは、この情報を使用して、クラッシュ ダンプ ファイルにページを追加するかどうかを決定できます。 バグ チェック コードの完全な一覧については、WDK に含まれている Bugcodes.h ヘッダー ファイルを参照してください。
Address
コールバック ルーチンがクラッシュ ダンプ ファイルに追加するように要求するページまたはページの物理アドレスまたは仮想アドレスを指定します。
Count
Address メンバーによって指定された仮想アドレスまたは物理アドレスから開始して、クラッシュ ダンプ ファイルに追加する連続するページの数を指定 します 。 Count> 1 と Address が仮想アドレスの場合、ページは仮想メモリ空間内で連続しています。 Count> 1 と Address が物理アドレスの場合、ページは物理メモリ空間内で連続しています。 コールバック ルーチンは、クラッシュ ダンプ ファイルにページを追加する必要がないことを示すために、このメンバーを 0 に設定できます。
注釈
KbCallbackAddPages コールバック ルーチンの呼び出しでは、オペレーティング システムによって Reason パラメーターが KbCallbackAddPages に設定され、ReasonSpecificData パラメーターがKBUGCHECK_ADD_PAGES構造体を指すように設定されます。
この構造体の使用方法の詳細については、「 バグ チェック コールバック ルーチンの記述 」および 「コールバック関数KBUGCHECK_REASON_CALLBACK_ROUTINE する」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Server 2008 以降のバージョンの Windows でサポートされています。 |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |