Freigeben über


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