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 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, según el valor de BugCheckCode.

Valor devuelto

None

Observaciones

Una comprobación de errores es un error detectado por el sistema que provoca un apagado inmediato y 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 continuar 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 siga ejecutándose; no debe generar una comprobación de errores.

Un controlador u otro componente de modo kernel debe llamar a esta rutina solo en los 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 está realizando pruebas. En estas circunstancias, el BugCheckCode pasado a esta rutina debe ser distinto de esos códigos ya usados 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 de controladores, 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 Uso del código de depuración en un controlador.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows 2000 y versiones posteriores de Windows.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL Cualquier nivel

Consulte también

IoAllocateErrorLogEntry

IoWriteErrorLogEntry

KeBugCheck

KeRegisterBugCheckCallback

KeRegisterBugCheckReasonCallback