Función KeRegisterNmiCallback (wdm.h)
La rutina KeRegisterNmiCallback registra una rutina a la que se llamará cada vez que se produzca una interrupción no enmascarable (NMI).
Sintaxis
PVOID KeRegisterNmiCallback(
[in] PNMI_CALLBACK CallbackRoutine,
[in, optional] PVOID Context
);
Parámetros
[in] CallbackRoutine
Puntero a una función del formulario:
BOOLEAN
XxxNmiCallback(
IN PVOID Context,
IN BOOLEAN Handled
);
[in, optional] Context
Especifica el valor que se va a pasar como parámetro Context de XxxNmiCallback cuando se llama a él.
Valor devuelto
Si se ejecuta correctamente, KeRegisterNmiCallback devuelve un puntero opaco que el autor de la llamada pasa a KeDeregisterNmiCallback para anular el registro de la devolución de llamada. La rutina devuelve NULL si no puede registrar la devolución de llamada.
Comentarios
Cuando se produce una interrupción no enmascarable, el sistema llama a cada devolución de llamada registrada en orden inverso desde el orden en que se registraron. Para la primera devolución de llamada, el sistema pasa FALSE como parámetro Handled . Para cada devolución de llamada posterior, si alguna devolución de llamada anterior devolvió TRUE, el sistema pasa TRUE como el parámetro Handled ; de lo contrario, pasa FALSE. Si alguna devolución de llamada devuelve un valor true, el sistema considera que se ha controlado la interrupción. De lo contrario, el sistema llama al controlador predeterminado de HAL para la interrupción, lo que normalmente hace que el sistema compruebe errores.
La rutina de devolución de llamada debe poder ejecutarse en IRQL = HIGH_LEVEL.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | IRQL <= APC_LEVEL (consulte la sección Comentarios) |
Reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport), IrqlKeApcLte2(wdm) |