EngBugCheckEx 関数 (winddi.h)
EngBugCheckEx 関数は、呼び出し元が呼び出し元の実行を続けた場合にシステムが破損する回復不可能なエラーを検出したときに、制御された方法でシステムをダウンさせます。
構文
ENGAPI VOID EngBugCheckEx(
[in] ULONG BugCheckCode,
[in] ULONG_PTR P1,
[in] ULONG_PTR P2,
[in] ULONG_PTR P3,
[in] ULONG_PTR P4
);
パラメーター
[in] BugCheckCode
バグチェックの理由を示す値を指定します。
[in] P1
メモリ破損エラーが発生したアドレスやデータなどの追加情報を提供する値へのポインター。 値は 、BugCheckCode パラメーターの値によって異なります。
[in] P2
メモリ破損エラーが発生したアドレスやデータなどの追加情報を提供する値へのポインター。 値は 、BugCheckCode パラメーターの値によって異なります。
[in] P3
メモリ破損エラーが発生したアドレスやデータなどの追加情報を提供する値へのポインター。 値は 、BugCheckCode パラメーターの値によって異なります。
[in] P4
メモリ破損エラーが発生したアドレスやデータなどの追加情報を提供する値へのポインター。 値は 、BugCheckCode パラメーターの値によって異なります。
戻り値
なし
解説
バグ チェックは、システムが検出したエラーで、システムが直ちに制御されたシャットダウンを引き起こします。 グラフィックス ドライバーが回復不可能なエラーを検出すると、バグ チェックが生成されます。
グラフィックス ドライバーは、システムを破損する可能性がある致命的で回復不可能なエラーが発生した場合にのみ、EngBugCheckEx を呼び出す必要があります。 可能な限り、すべてのグラフィックス ドライバーでエラーをログに記録し、実行を続ける必要があります。 たとえば、ドライバーが必要なリソースを割り当てることができない場合は、システムが引き続き実行されるようにエラーをログに記録する必要があります。バグチェックを生成してはなりません。
EngBugCheckEx は、グラフィックス ドライバーの開発の初期段階やテスト中に役立ちます。 このような状況では、この関数に渡される BugCheckCode 値は、Windows またはそのドライバーで既に使用されているコードとは異なる必要があります。 これらのコードの一覧については、「 バグ チェック コード」を参照してください。
ただし、ドライバーの開発中でも、このルーチンはシステムの完全なシャットダウンが発生するため、使用は限られています。 より効果的なデバッグ方法は、システムにカーネル デバッガーをアタッチし、デバッガーにメッセージを送信するルーチンを使用するか、デバッガーに分割することです。 詳細については、「 ドライバーでのデバッグ コードの使用」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | この関数は、Microsoft Windows Server 2003 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | winddi.h (Winddi.h を含む) |
Library | Win32k.lib |
[DLL] | Win32k.sys |