Compartir a través de


Función KeBugCheck (ntddk.h)

El KeBugCheck rutina 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 KeBugCheck(
  [in] ULONG BugCheckCode
);

Parámetros

[in] BugCheckCode

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

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 KeBugCheck. 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.

KeBugCheck 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).

Cuando una comprobación de errores es inevitable, la mayoría de los componentes del sistema llaman a KeBugCheckEx, que proporciona más información sobre la causa de esa incoherencia que KeBugCheck.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows 2000.
de la plataforma de destino de Universal
encabezado de ntddk.h (incluya Ntddk.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL Cualquier nivel

Consulte también

IoAllocateErrorLogEntry

IoWriteErrorLogEntry

KeBugCheckEx

KeRegisterBugCheckCallback

keRegisterBugCheckReasonCallback