VOID
KeBugCheckEx(
IN ULONG BugCheckCode,
IN ULONG BugCheckParameter1,
IN ULONG BugCheckParameter2,
IN ULONG BugCheckParameter3,
IN ULONG BugCheckParameter4
);
KeBugCheckEx brings down the system in a controlled manner when the caller discovers an unrecoverable inconsistency that would corrupt the system if the caller continued to run.
A bug check is a system-detected error that causes an immediate, controlled shutdown of the system. Various kernel-mode components perform runtime consistency checking. When such a component discovers an unrecoverable inconsistency, it causes a bug check to be generated.
If possible, all kernel-mode components log an error and continue to run, rather than calling KeBugCheckEx, unless the system itself could become corrupted by the inconsistency discovered.
Callers of KeBugCheckEx can be running at any IRQL.
IoAllocateErrorLogEntry, IoWriteErrorLogEntry, KeBugCheck, KeRegisterBugCheckCallback