Bagikan melalui


IRP_MN_CANCEL_REMOVE_DEVICE

Semua driver PnP harus menangani IRP ini.

Nilai

0x03

Kode Utama

IRP_MJ_PNP

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)

Lihat juga

IoRegisterPlugPlayNotification

IRP_MN_QUERY_REMOVE_DEVICE