Freigeben über


KeBugCheckEx-Funktion (wdm.h)

Die KeBugCheckEx Routine führt das System kontrolliert herunter, wenn der Aufrufer eine nicht behebbare Inkonsistenz erkennt, die das System beschädigt, 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 Fehlerüberprü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

Nichts

Bemerkungen

Eine Fehlerüberprüfung ist ein vom System erkannter Fehler, der ein sofortiges, kontrolliertes Herunterfahren des Systems verursacht. Verschiedene Kernelmoduskomponenten führen eine Überprüfung der Laufzeitkonsistenz durch. Wenn eine solche Komponente eine nicht behebbare 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 beispielsweise ein Treiber die erforderlichen Ressourcen nicht zuordnen kann, sollte ein Fehler protokolliert werden, damit das System weiterhin ausgeführt wird. es darf keine Fehlerüberprü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 des Tests nützlich sein. Unter diesen Umständen sollte sich die BugCheckCode-, die an diese Routine übergeben werden, von diesen Codes unterscheiden, die bereits von Windows oder seinen Treibern verwendet werden. Eine Liste dieser Codes finden Sie unter Fehlerüberprüfungscodes.

Selbst bei der Treiberentwicklung ist diese Routine jedoch nur von begrenztem Dienstprogramm, da sie zu einem vollständigen System heruntergefahren wird. Eine effektivere Debuggingmethode besteht darin, einen Kerneldebugger an das System anzufügen und dann Routinen zu verwenden, die Nachrichten an den Debugger senden oder in den Debugger aufteilen. Weitere Informationen finden Sie unter Erste Schritte mit WinDbg (Kernelmodus).

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows 2000 und höheren Versionen von Windows.
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- Beliebige Ebene

Siehe auch

IoAllocateErrorLogEntry-

IoWriteErrorLogEntry-

KeBugCheck

KeRegisterBugCheckCallback-

KeRegisterBugCheckReasonCallback