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)

Consulte también

KeDeregisterNmiCallback