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 |