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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für