Share via


Funzione KeRegisterNmiCallback (wdm.h)

La routine KeRegisterNmiCallback registra una routine da chiamare ogni volta che si verifica un interruzione non mascherabile .NMI.

Sintassi

PVOID KeRegisterNmiCallback(
  [in]           PNMI_CALLBACK CallbackRoutine,
  [in, optional] PVOID         Context
);

Parametri

[in] CallbackRoutine

Puntatore a una funzione del modulo:

BOOLEAN
 XxxNmiCallback(
 IN PVOID Context,
  IN BOOLEAN Handled
 );

[in, optional] Context

Specifica il valore da passare come parametro Context di XxxNmiCallback quando viene chiamato.

Valore restituito

In caso di esito positivo, KeRegisterNmiCallback restituisce un puntatore opaco che il chiamante passa a KeDeregisterNmiCallback per annullare la registrazione del callback. La routine restituisce NULL se non è in grado di registrare il callback.

Commenti

Quando si verifica un interruzione non mascherabile, il sistema chiama ogni callback registrato in ordine inverso dall'ordine in cui sono stati registrati. Per il primo callback, il sistema passa FALSE come parametro gestito . Per ogni callback successivo, se un callback precedente ha restituito TRUE, il sistema passa TRUE come parametro gestito , in caso contrario passa FALSE. Se un callback restituisce un valore true, il sistema considera che l'interruzione sia stata gestita. In caso contrario, il sistema chiama il gestore predefinito di HAL per l'interruzione, che normalmente causa la verifica del bug del sistema.

La routine di callback deve essere in grado di essere eseguita in IRQL = HIGH_LEVEL.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL IRQL <= APC_LEVEL (vedere la sezione Osservazioni)
Regole di conformità DDI HwStorPortProhibitedDDDIs(storport), IrqlKeApcLte2(wdm)

Vedi anche

KeDeregisterNmiCallback