Freigeben über


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 beim Aufrufen als Context Parameter von XxxNmiCallback übergeben werden soll.

Rückgabewert

Bei Erfolg gibt KeRegisterNmiCallback einen undurchsichtigen Zeiger zurück, den der Aufrufer an KeDeregisterNmiCallback zurückgibt, um die Registrierung des Rückrufs aufzurufen. Die Routine gibt NULL- zurück, wenn der Rückruf nicht registriert werden kann.

Bemerkungen

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. Für den ersten Rückruf übergibt das System FALSE- als Handled Parameter. Bei jedem nachfolgenden Rückruf, wenn ein vorheriger Rückruf TRUEzurückgegeben wurde, übergibt das System TRUE als Handled Parameter, andernfalls wird FALSEübergeben. Wenn ein Rückruf einen Wert von TRUEzurückgibt, wird der Interrupt vom System als behandelt betrachtet. Andernfalls ruft das System den Standardhandler der HAL für den Interrupt auf, was normalerweise dazu führt, dass das System fehlercheckt.

Die Rückrufroutine muss unter IRQL = HIGH_LEVEL ausgeführt werden können.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- IRQL-<= APC_LEVEL (siehe Abschnitt "Hinweise")
DDI-Complianceregeln HwStorPortProhibitedDDIs(storport), IrqlKeApcLte2(wdm)

Siehe auch

KeDeregisterNmiCallback