次の方法で共有


KBUGCHECK_REASON_CALLBACK_ROUTINE コールバック関数 (wdm.h)

バグ チェックを発行するときにシステムが実行するドライバー実装コールバック関数。

使用可能 コールバックの種類については、「KBUGCHECK_CALLBACK_REASON」を参照してください。

構文

KBUGCHECK_REASON_CALLBACK_ROUTINE KbugcheckReasonCallbackRoutine;

void KbugcheckReasonCallbackRoutine(
  [in]      KBUGCHECK_CALLBACK_REASON Reason,
  [in]      _KBUGCHECK_REASON_CALLBACK_RECORD *Record,
  [in, out] PVOID ReasonSpecificData,
  [in]      ULONG ReasonSpecificDataLength
)
{...}

パラメーター

[in] Reason

コールバック ルーチンの呼び出しの理由を指定する KBUGCHECK_CALLBACK_REASON 型の列挙。

[in] Record

ドライバーがこのコールバックを登録したときに指定した KBUGCHECK_REASON_CALLBACK_RECORD 構造体へのポインター。 詳細については、KeRegisterBugCheckReasonCallbackCallbackRecord パラメーターの説明を参照してください。

[in, out] ReasonSpecificData

次の表で決定される型の構造体を含むバッファーへのポインター。 この構造体の特定のメンバーは、コールバック ルーチンを呼び出す前にオペレーティング システムによって入力され、他のメンバーはコールバック ルーチンによって入力される必要があります。 詳細については、「 バグ チェック コールバック ルーチンの記述」を参照してください。

データ構造
KbCallbackSecondaryDumpData KBUGCHECK_SECONDARY_DUMP_DATA
KbCallbackDumpIo KBUGCHECK_DUMP_IO
KbCallbackAddPages KBUGCHECK_ADD_PAGES
KbCallbackSecondaryMultiPartDumpData KBUGCHECK_SECONDARY_DUMP_DATA_EX
KbCallbackRemovePages KBUGCHECK_REMOVE_PAGES
KbCallbackTriageDumpData KBUGCHECK_TRIAGE_DUMP_DATA

[in] ReasonSpecificDataLength

ReasonSpecificData パラメーターが指すバッファーのサイズをバイト単位で指定します。

戻り値

なし

解説

このコールバック ルーチンを実装する方法については、「 バグ チェック コールバック ルーチンの記述」を参照してください。

クラッシュ ダンプ ファイルにデータを書き込む方法を示すサンプル コードについては、「 DMF_CrashDump」を参照してください。

要件

要件
対象プラットフォーム デスクトップ
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
IRQL HIGH_LEVELで呼び出されます。

こちらもご覧ください

KBUGCHECK_ADD_PAGES

KBUGCHECK_CALLBACK_REASON

KBUGCHECK_REASON_CALLBACK_RECORD

KeRegisterBugCheckReasonCallback

KeDeregisterBugCheckReasonCallback

バグ チェック コールバック ルーチンの記述