KeRegisterNmiCallback 函式 (wdm.h)

KeRegisterNmiCallback 例程會註冊每當發生無法遮罩的中斷 (NMI) 時呼叫的例程。

語法

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

參數

[in] CallbackRoutine

表單函式的指標:

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

[in, optional] Context

指定要在呼叫 XxxNmiCallback 時當做 Context 參數傳遞的值。

傳回值

成功時, KeRegisterNmiCallback 會傳回呼叫端傳遞給 KeDeregisterNmiCallback 以取消註冊回呼的不透明指標。 如果例程無法註冊回呼,則會傳回 NULL

備註

發生不可遮罩的中斷時,系統會依註冊的順序,以反向順序呼叫每個已註冊的回呼。 針對第一個回呼,系統會傳遞 FALSE 作為 Handled 參數。 針對每個後續回呼,如果先前的任何回呼傳回 TRUE,則系統會將 TRUE 當做 Handled 參數傳遞,否則會傳遞 FALSE。 如果有任何回呼傳回 TRUE 值,系統會將中斷視為已處理。 否則,系統會針對中斷呼叫 HAL 的默認處理程式,這通常會導致系統進行錯誤檢查。

回呼例程必須能夠在 IRQL = HIGH_LEVEL執行。

規格需求

需求
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL IRQL <= APC_LEVEL (请参阅一节)
DDI 合規性規則 HwStorPortProhibitedDIS (storport) IrqlKeApcLte2 (wdm)

另請參閱

KeDeregisterNmiCallback