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 を返した場合、システムは Handled パラメーターとして TRUE を渡し、それ以外の場合は FALSE を渡します。 コールバックが TRUE の値を返した場合、システムは割り込みが処理されたと見なします。 それ以外の場合、システムは割り込みに対して HAL の既定のハンドラーを呼び出します。これにより、通常、システムはバグ チェックします。
コールバック ルーチンは、IRQL = HIGH_LEVELで実行できる必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | IRQL <= APC_LEVEL (「解説」セクションを参照) |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs(storport), IrqlKeApcLte2(wdm) |