KeBugCheckEx 関数 (wdm.h)

KeBugCheckEx ルーチンは、呼び出し元が呼び出し元の実行を継続した場合にシステムを破損する回復不能な不整合を検出したときに、制御された方法でシステムをダウンさせます。

構文

void KeBugCheckEx(
  [in] ULONG     BugCheckCode,
  [in] ULONG_PTR BugCheckParameter1,
  [in] ULONG_PTR BugCheckParameter2,
  [in] ULONG_PTR BugCheckParameter3,
  [in] ULONG_PTR BugCheckParameter4
);

パラメーター

[in] BugCheckCode

バグ チェックの理由を示す値を指定します。

[in] BugCheckParameter1

[in] BugCheckParameter2

[in] BugCheckParameter3

[in] BugCheckParameter4

4 つの BugCheckParameterX 値は、BugCheckCodeの値に応じて、メモリ破損エラーが発生したアドレスやデータなどの追加情報 提供します。

戻り値

何一つ

備考

バグ チェックは、システムが検出したエラーで、システムが直ちに制御されたシャットダウンを引き起こします。 さまざまなカーネル モード コンポーネントは、実行時の整合性チェックを実行します。 このようなコンポーネントが回復不能な不整合を検出すると、バグ チェックが生成されます。

可能な限り、すべてのカーネル モード コンポーネントは、KeBugCheckEx呼び出すのではなく、エラーをログに記録し、実行を続行する必要があります。 たとえば、ドライバーが必要なリソースを割り当てることができない場合、システムが引き続き実行されるようにエラーをログに記録する必要があります。バグ チェックを生成してはなりません。

ドライバーまたはその他のカーネル モード コンポーネントは、システム自体を破損する可能性がある致命的な回復不可能なエラーの場合にのみ、このルーチンを呼び出す必要があります。

KeBugCheckEx は、ドライバーの開発の初期段階やテスト中に役立ちます。 このような状況では、このルーチンに渡 BugCheckCode は、Windows またはそのドライバーで既に使用されているコードとは異なる必要があります。 これらのコードの一覧については、「バグ チェック コードの」を参照してください。

ただし、ドライバーの開発中でも、このルーチンは、システムの完全なシャットダウンが発生するため、限られたユーティリティにすぎません。 より効果的なデバッグ方法は、カーネル デバッガーをシステムにアタッチし、デバッガーにメッセージを送信したりデバッガーに中断したりするルーチンを使用することです。 詳細については、「WinDbg (カーネル モード)の概要」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 以降のバージョンの Windows で使用できます。
ターゲット プラットフォーム の 万国
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任意のレベル

関連項目

IoAllocateErrorLogEntry の

IoWriteErrorLogEntry

KeBugCheck

KeRegisterBugCheckCallback

KeRegisterBugCheckReasonCallback