Fungsi KeRegisterNmiCallback (wdm.h)

Rutinitas KeRegisterNmiCallback mendaftarkan rutinitas yang akan dipanggil setiap kali gangguan yang tidak dapat dimasak (NMI) terjadi.

Sintaks

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

Parameter

[in] CallbackRoutine

Penunjuk ke fungsi formulir:

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

[in, optional] Context

Menentukan nilai yang akan diteruskan sebagai parameter KonteksXxxNmiCallback saat dipanggil.

Nilai kembali

Setelah berhasil, KeRegisterNmiCallback mengembalikan pointer buram yang diteruskan pemanggil ke KeDeregisterNmiCallback untuk membatalkan pendaftaran panggilan balik. Rutinitas mengembalikan NULL jika tidak dapat mendaftarkan panggilan balik.

Keterangan

Ketika interupsi yang tidak dapat dibuka terjadi, sistem memanggil setiap panggilan balik terdaftar dalam urutan terbalik dari urutan pendaftarannya. Untuk panggilan balik pertama, sistem meneruskan FALSE sebagai parameter Yang Ditangani . Untuk setiap panggilan balik berikutnya, jika panggilan balik sebelumnya mengembalikan TRUE, sistem meneruskan TRUE sebagai parameter Yang Ditangani , jika tidak, sistem meneruskan FALSE. Jika ada panggilan balik yang mengembalikan nilai TRUE, sistem menganggap gangguan telah ditangani. Jika tidak, sistem memanggil handler default HAL untuk interupsi, yang biasanya menyebabkan sistem memeriksa bug.

Rutinitas panggilan balik harus dapat dijalankan di IRQL = HIGH_LEVEL.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL IRQL <= APC_LEVEL (lihat bagian Keterangan)
Aturan kepatuhan DDI HwStorPortProhibitedDDIs(storport), IrqlKeApcLte2(wdm)

Lihat juga

KeDeregisterNmiCallback