IRP_MN_CANCEL_REMOVE_DEVICE
Semua driver PnP harus menangani IRP ini.
Nilai
0x03
Kode Utama
Ketika Dikirim
Manajer PnP mengirimkan IRP ini untuk memberi tahu driver untuk perangkat bahwa perangkat tidak akan dihapus.
Manajer PnP mengirimkan IRP ini di IRQL PASSIVE_LEVEL dalam konteks utas sistem.
Parameter Input
Tidak ada
Parameter Output
Tidak ada
Blok Status I/O
Driver harus mengatur Irp-IoStatus.Status> ke STATUS_SUCCESS untuk IRP ini. Jika driver gagal dalam IRP ini, perangkat dibiarkan dalam keadaan tidak konsisten.
Operasi
IRP ini harus ditangani terlebih dahulu oleh driver bus induk untuk perangkat dan kemudian oleh setiap driver yang lebih tinggi di tumpukan perangkat.
Menanggapi IRP ini, driver mengembalikan perangkat ke status sebelum menerima permintaan IRP_MN_QUERY_REMOVE_DEVICE .
Jika perangkat sudah dimulai ketika driver menerima IRP ini, driver hanya mengatur status ke sukses dan meneruskan IRP ke driver berikutnya (atau menyelesaikan IRP jika driver adalah driver bus). Untuk IRP cancel-remove seperti itu, fungsi atau driver filter tidak perlu mengatur rutinitas penyelesaian. Perangkat mungkin tidak dalam status hapus-tertunda, karena, misalnya, driver gagal IRP_MN_QUERY_REMOVE_DEVICE sebelumnya.
Manajer PnP memanggil panggilan balik pemberitahuan EventCategoryTargetDeviceChange dengan GUID_TARGET_DEVICE_REMOVE_CANCELLED setelah permintaan IRP_MN_CANCEL_REMOVE_DEVICE selesai. Panggilan balik tersebut didaftarkan di perangkat dengan memanggil IoRegisterPlugPlayNotification. Manajer PnP juga memanggil komponen mode pengguna apa pun yang terdaftar untuk pemberitahuan pada perangkat dengan memanggil RegisterDeviceNotification.
Jika sistem file dipasang pada perangkat, sistem harus membatalkan operasi apa pun yang dilakukannya sebagai respons terhadap pemberitahuan penghapusan kueri.
Lihat Plug and Play untuk informasi terperinci tentang penanganan penghapusan RUN dan untuk aturan umum untuk menangani semua runtime integrasi Plug and Play kecil.
Mengirim IRP ini
Dicadangkan untuk penggunaan sistem. Driver tidak boleh mengirim IRP ini.
Persyaratan
Header |
Wdm.h (termasuk Wdm.h, Ntddk.h, atau Ntifs.h) |