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