KeBugCheckEx-Funktion (wdm.h)

Die KeBugCheckEx-Routine schaltet das System kontrolliert herunter, wenn der Aufrufer eine nicht behebbare Inkonsistenz erkennt, die das System beschädigen würde, wenn der Aufrufer weiterhin ausgeführt wird.

Syntax

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

Parameter

[in] BugCheckCode

Gibt einen Wert an, der den Grund für die Fehlerprüfung angibt.

[in] BugCheckParameter1

[in] BugCheckParameter2

[in] BugCheckParameter3

[in] BugCheckParameter4

Die vier BugCheckParameterX-Werte liefern zusätzliche Informationen, z. B. die Adresse und die Daten, bei denen ein Speicherbeschädigungsfehler aufgetreten ist, abhängig vom Wert von BugCheckCode.

Rückgabewert

Keine

Bemerkungen

Eine Fehlerüberprüfung ist ein vom System erkannter Fehler, der zu einem sofortigen, kontrollierten Herunterfahren des Systems führt. Verschiedene Kernelmoduskomponenten führen eine Laufzeitkonsistenzüberprüfung durch. Wenn eine solche Komponente eine nicht wiederherstellbare Inkonsistenz erkennt, wird eine Fehlerüberprüfung generiert.

Wenn möglich, sollten alle Kernelmoduskomponenten einen Fehler protokollieren und weiterhin ausgeführt werden, anstatt KeBugCheckEx aufzurufen. Wenn ein Treiber beispielsweise die erforderlichen Ressourcen nicht zuordnen kann, sollte er einen Fehler protokollieren, damit das System weiterhin ausgeführt wird. Es darf keine Fehlerprüfung generieren.

Ein Treiber oder eine andere Kernelmoduskomponente sollte diese Routine nur in Fällen eines schwerwiegenden, nicht behebbaren Fehlers aufrufen, der das System selbst beschädigen könnte.

KeBugCheckEx kann in den frühen Phasen der Entwicklung eines Treibers oder während der Tests nützlich sein. Unter diesen Umständen sollte sich der an diese Routine übergebene BugCheckCode von den Codes unterscheiden, die bereits von Windows oder seinen Treibern verwendet werden. Eine Liste dieser Codes finden Sie unter Fehlerprüfungscodes.

Aber auch während der Treiberentwicklung ist diese Routine nur von begrenztem Nutzen, da sie zu einem vollständigen Herunterfahren des Systems führt. Eine effektivere Debugmethode besteht darin, einen Kerneldebugger an das System anzufügen und dann Routinen zu verwenden, die Nachrichten an den Debugger senden oder in den Debugger unterbrechen. Weitere Informationen finden Sie unter Verwenden von Debugcode in einem Treiber.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows 2000 und höheren Versionen von Windows.
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Beliebige Ebene

Weitere Informationen

IoAllocateErrorLogEntry

IoWriteErrorLogEntry

KeBugCheck

KeRegisterBugCheckCallback

KeRegisterBugCheckReasonCallback