EngBugCheckEx-Funktion (winddi.h)
Die EngBugCheckEx-Funktion schaltet das System kontrolliert herunter, wenn der Aufrufer einen nicht behebbaren Fehler erkennt, der das System beschädigen würde, wenn der Aufrufer weiterhin ausgeführt wird.
Syntax
ENGAPI VOID EngBugCheckEx(
[in] ULONG BugCheckCode,
[in] ULONG_PTR P1,
[in] ULONG_PTR P2,
[in] ULONG_PTR P3,
[in] ULONG_PTR P4
);
Parameter
[in] BugCheckCode
Gibt einen Wert an, der den Grund für die Fehlerprüfung angibt.
[in] P1
Zeiger auf einen Wert, der zusätzliche Informationen bereitstellt, z. B. die Adresse und die Daten, bei denen ein Speicherbeschädigungsfehler aufgetreten ist. Der Wert hängt vom Wert des BugCheckCode-Parameters ab.
[in] P2
Zeiger auf einen Wert, der zusätzliche Informationen bereitstellt, z. B. die Adresse und die Daten, bei denen ein Speicherbeschädigungsfehler aufgetreten ist. Der Wert hängt vom Wert des BugCheckCode-Parameters ab.
[in] P3
Zeiger auf einen Wert, der zusätzliche Informationen bereitstellt, z. B. die Adresse und die Daten, bei denen ein Speicherbeschädigungsfehler aufgetreten ist. Der Wert hängt vom Wert des BugCheckCode-Parameters ab.
[in] P4
Zeiger auf einen Wert, der zusätzliche Informationen bereitstellt, z. B. die Adresse und die Daten, bei denen ein Speicherbeschädigungsfehler aufgetreten ist. Der Wert hängt vom Wert des BugCheckCode-Parameters ab.
Rückgabewert
Keine
Bemerkungen
Eine Fehlerüberprüfung ist ein vom System erkannter Fehler, der zu einem sofortigen, kontrollierten Herunterfahren des Systems führt. Wenn ein Grafiktreiber einen nicht behebbaren Fehler erkennt, sollte er eine Fehlerüberprüfung generieren.
Ein Grafiktreiber sollte EngBugCheckEx nur im Falle eines schwerwiegenden, nicht behebbaren Fehlers aufrufen, der das System beschädigen könnte. Nach Möglichkeit sollten alle Grafiktreiber einen Fehler protokollieren und weiterhin ausgeführt werden. 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.
EngBugCheckEx kann in den frühen Phasen der Entwicklung eines Grafiktreibers oder während der Tests nützlich sein. Unter diesen Umständen sollte sich der an diese Funktion übergebene BugCheckCode-Wert 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) | Diese Funktion ist in Microsoft Windows Server 2003 und höher verfügbar. |
Zielplattform | Universell |
Header | winddi.h (einschließlich Winddi.h) |
Bibliothek | Win32k.lib |
DLL | Win32k.sys |