KeRegisterNmiCallback-Funktion (wdm.h)
Die KeRegisterNmiCallback-Routine registriert eine Routine, die aufgerufen werden soll, wenn ein nicht maskierbarer Interrupt (NMI) auftritt.
Syntax
PVOID KeRegisterNmiCallback(
[in] PNMI_CALLBACK CallbackRoutine,
[in, optional] PVOID Context
);
Parameter
[in] CallbackRoutine
Zeiger auf eine Funktion des Formulars:
BOOLEAN
XxxNmiCallback(
IN PVOID Context,
IN BOOLEAN Handled
);
[in, optional] Context
Gibt den Wert an, der als Context-Parameter von XxxNmiCallback übergeben werden soll, wenn er aufgerufen wird.
Rückgabewert
Bei Erfolg gibt KeRegisterNmiCallback einen undurchsichtigen Zeiger zurück, den der Aufrufer an KeDeregisterNmiCallback übergibt, um die Registrierung des Rückrufs aufzuheben. Die Routine gibt NULL zurück, wenn der Rückruf nicht registriert werden kann.
Hinweise
Wenn ein nicht maskierbarer Interrupt auftritt, ruft das System jeden registrierten Rückruf in umgekehrter Reihenfolge aus der Reihenfolge auf, in der sie registriert wurden. Beim ersten Rückruf übergibt das System FALSE als Handled-Parameter . Wenn für jeden nachfolgenden Rückruf true zurückgegeben wurde, übergibt das System TRUE als Handled-Parameter , andernfalls wird FALSE übergeben. Wenn ein Rückruf den Wert TRUE zurückgibt, betrachtet das System den Interrupt als behandelt. Andernfalls ruft das System den Standardhandler der HAL für den Interrupt auf, was normalerweise zur Fehlerüberprüfung des Systems führt.
Die Rückrufroutine muss unter IRQL = HIGH_LEVEL ausgeführt werden können.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | IRQL <= APC_LEVEL (siehe Abschnitt Hinweise) |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), IrqlKeApcLte2(wdm) |