Función KeBugCheckEx (wdm.h)

La rutina KeBugCheckEx reduce el sistema de forma controlada cuando el autor de la llamada detecta una incoherencia irrecuperable que dañaría el sistema si el autor de la llamada continuaba ejecutándose.

Sintaxis

void KeBugCheckEx(
  [in] ULONG     BugCheckCode,
  [in] ULONG_PTR BugCheckParameter1,
  [in] ULONG_PTR BugCheckParameter2,
  [in] ULONG_PTR BugCheckParameter3,
  [in] ULONG_PTR BugCheckParameter4
);

Parámetros

[in] BugCheckCode

Especifica un valor que indica el motivo de la comprobación de errores.

[in] BugCheckParameter1

[in] BugCheckParameter2

[in] BugCheckParameter3

[in] BugCheckParameter4

Los cuatro valores de BugCheckParameterX proporcionan información adicional, como la dirección y los datos en los que se produjo un error de daños en la memoria, en función del valor de BugCheckCode.

Valor devuelto

Ninguno

Observaciones

Una comprobación de errores es un error detectado por el sistema que provoca un apagado inmediato controlado del sistema. Varios componentes del modo kernel realizan la comprobación de coherencia en tiempo de ejecución. Cuando este componente detecta una incoherencia irrecuperable, hace que se genere una comprobación de errores.

Siempre que sea posible, todos los componentes en modo kernel deben registrar un error y seguir ejecutándose, en lugar de llamar a KeBugCheckEx. Por ejemplo, si un controlador no puede asignar los recursos necesarios, debe registrar un error para que el sistema continúe ejecutándose; no debe generar una comprobación de errores.

Un controlador u otro componente en modo kernel debe llamar a esta rutina solo en casos de un error irrecuperable irrecuperable irrecuperable que podría dañar el propio sistema.

KeBugCheckEx puede ser útil en las primeras fases del desarrollo de un controlador o mientras se está realizando pruebas. En estas circunstancias, el BugCheckCode pasado a esta rutina debe ser distinto de esos códigos que ya están en uso por Windows o sus controladores. Para obtener una lista de estos códigos, consulte códigos de comprobación de errores.

Sin embargo, incluso durante el desarrollo del controlador, esta rutina es de solo utilidad limitada, ya que da como resultado un apagado completo del sistema. Un método de depuración más eficaz consiste en adjuntar un depurador de kernel al sistema y, a continuación, usar rutinas que envían mensajes al depurador o se dividen en el depurador. Para obtener más información, consulte Introducción a WinDbg (modo kernel).

Requisitos

Requisito Valor
cliente mínimo admitido Disponible en Windows 2000 y versiones posteriores de Windows.
de la plataforma de destino de Universal
encabezado de wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL Cualquier nivel

Consulte también

IoAllocateErrorLogEntry

IoWriteErrorLogEntry

keBugCheck

KeRegisterBugCheckCallback

keRegisterBugCheckReasonCallback