Fungsi IoRegisterLastChanceShutdownNotification (wdm.h)

Rutinitas IoRegisterLastChanceShutdownNotification mendaftarkan driver untuk menerima IRP IRP_MJ_SHUTDOWN ketika sistem dimatikan, setelah semua sistem file dihapus.

Sintaks

NTSTATUS IoRegisterLastChanceShutdownNotification(
  [in] PDEVICE_OBJECT DeviceObject
);

Parameter

[in] DeviceObject

Arahkan ke objek perangkat perangkat tempat driver meminta pemberitahuan matikan. Sistem meneruskan pointer ini ke rutinitas DispatchShutdown driver.

Nilai kembali

IoRegisterLastChanceShutdownNotification mengembalikan STATUS_SUCCESS pada keberhasilan, atau kode kesalahan NTSTATUS yang sesuai tentang kegagalan.

Keterangan

Rutinitas IoRegisterLastChanceShutdownNotification mendaftarkan driver untuk menerima IRP IRP_MJ_SHUTDOWN untuk perangkat yang ditentukan saat sistem dimatikan. Driver menerima satu IRP seperti itu untuk setiap perangkat yang terdaftar untuk menerima pemberitahuan. Driver menangani IRP_MJ_SHUTDOWN RUN dalam rutinitas DispatchShutdown mereka.

Untuk perangkat apa pun yang terdaftar dengan rutinitas ini, sistem mengirimkan IRP_MJ_SHUTDOWN IRP setelah semua sistem file dibersihkan. Hanya satu driver dalam tumpukan perangkat yang harus mendaftar untuk menerima pemberitahuan matikan, dengan memanggil IoRegisterShutdownNotification atau IoRegisterLastChanceShutdownNotification.

Jika driver berhenti memerlukan pemberitahuan matikan untuk perangkat tersebut, gunakan IoUnregisterShutdownNotification untuk menghapus driver dari antrean pemberitahuan matikan.

Driver yang memanggil IoRegisterLastChanceShutdownNotification harus memenuhi batasan berikut dalam rutinitas DispatchShutdown-nya :

  • Rutinitas DispatchShutdown tidak boleh memanggil rutinitas yang dapat dipaginasi.
  • Rutinitas DispatchShutdown tidak boleh mengakses memori yang dapat dipaginasi.
  • Rutinitas DispatchShutdown tidak boleh melakukan operasi I/O file apa pun.
Sebagian besar driver yang memerlukan pemberitahuan matikan harus memanggil rutinitas IoRegisterShutdownNotification , yang tidak memberlakukan batasan ini pada rutinitas DispatchShutdown , dan yang menyebabkan rutinitas DispatchShutdown dipanggil sebelum sistem file dihapus. Hanya driver yang harus melakukan pembersihan setelah sistem file dihapus, seperti driver untuk perangkat penyimpanan massal, yang harus menggunakan IoRegisterLastChanceShutdownNotification.

Rutinitas DispatchShutdown terdaftar dipanggil sebelum manajer daya mengirim permintaan IRP_MN_SET_POWER untuk PowerSystemShutdown. Rutinitas DispatchShutdown tidak dipanggil untuk transisi ke status daya lainnya.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows 2000 dan versi Windows yang lebih baru. Tidak tersedia di Microsoft Windows 98/Me.
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Lihat juga

DispatchShutdown

IoRegisterShutdownNotification

IoUnregisterShutdownNotification