KeBugCheckEx

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.

Parameters

BugCheckCode
Specifies a value that indicates the reason for the bug check.
BugCheckParameterX
Supply additional information, such as the address and data where a memory-corruption error occurred, depending on the value of BugCheckCode.

Comments

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.

See Also

IoAllocateErrorLogEntry, IoWriteErrorLogEntry, KeBugCheck, KeRegisterBugCheckCallback