KeRegisterBugCheckReasonCallback 関数は、オペレーティング システムがバグ チェックを発行したときに実行されるコールバック ルーチンを登録します。
構文
BOOLEAN KeRegisterBugCheckReasonCallback(
[out] PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord,
[in] PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine,
[in] KBUGCHECK_CALLBACK_REASON Reason,
[in] PUCHAR Component
);
パラメーター
[out] CallbackRecord
Windows カーネル マクロで説明されている KeInitializeCallbackRecord ルーチンの呼び出しによって初期化された KBUGCHECK_REASON_CALLBACK_RECORD 構造体へのポインター。
[in] CallbackRoutine
登録する KBUGCHECK_REASON_CALLBACK_ROUTINE 型のコールバック ルーチンへのポインター。 このコールバック ルーチンを実装する方法については、「バグ チェック コールバック ルーチンの作成を参照してください。
[in] Reason
CallbackRoutine が指 コールバック ルーチンの型を指定する KBUGCHECK_CALLBACK_REASON 型の列挙型。
[in] Component
呼び出し元を識別する null で終わる ANSI 文字列へのポインター。 たとえば、デバイス ドライバーを説明する文字列、またはデバイス名を含む文字列を選択できます。 !bugdump デバッガー拡張機能を使用して、この文字列に関連付けられているクラッシュ ダンプ データを表示できます。
戻り値
KeRegisterBugCheckReasonCallback は、コールバック ルーチンが正常に登録された場合 TRUE を返します。それ以外の場合は、FALSE 返します。
備考
ドライバーは、KeRegisterBugCheckReasonCallback を使用して、システム バグ チェック中に実行されるルーチンを登録できます。
コールバックの各種類の説明については、KBUGCHECK_CALLBACK_REASONを参照してください。
ドライバーは、KeDeregisterBugCheckReasonCallback ルーチンを使用して、バグ チェックコールバック登録を削除できます。 アンロードできるドライバーは、Unload ルーチン内のすべてのコールバックの登録を削除する必要があります。
これらのコールバック ルーチンを実装する方法については、「バグ チェック コールバック ルーチンを記述する」を参照してください。
セカンダリ ダンプ データを表示するには、デバッガー拡張機能で IDebugDataSpaces3::ReadTagged** メソッドを使用できます。 もう 1 つのオプションは、バグ チェック コールバック ルーチン自体をデバッグすることです。 デバッガーとデバッガー拡張機能の詳細については、「Windows デバッグ」を参照してください。
必要条件
| 要件 | 価値 |
|---|---|
| サポートされる最小クライアント | Windows XP Service Pack 1 (SP1)、Windows Server 2003、およびそれ以降のバージョンの Windows で使用できます。 |
| ターゲット プラットフォーム の | 万国 |
| ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
| ライブラリ | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | 任意のレベル |
関連項目
バグ チェック コールバック ルーチンの を記述する
KBUGCHECK_REASON_CALLBACK_RECORD
KeDeregisterBugCheckReasonCallbackの
KeRegisterBugCheckCallbackの