Bagikan melalui


Menangani Permintaan IRP_MN_REMOVE_DEVICE

Manajer PnP menggunakan IRP ini untuk mengarahkan driver untuk menghapus representasi perangkat lunak perangkat (objek perangkat, dan sebagainya). Manajer PnP mengirimkan IRP ini ketika perangkat telah dihapus dengan tertib (misalnya, dimulai oleh pengguna dalam program Cabut atau Keluarkan Perangkat Keras), secara mengejutkan (pengguna menarik perangkat dari slotnya tanpa peringatan sebelumnya), atau ketika pengguna meminta untuk memperbarui driver.

Pada sistem Windows 2000 dan yang lebih baru, manajer PnP mengirimkan IRP ini ketika Manajer Perangkat menonaktifkan perangkat. Pada Windows 98/Me, manajer PnP mengirim runtime integrasi yang dihentikan sebagai gantinya. Lihat Menghentikan Perangkat untuk detailnya.

Manajer PnP melakukan hal berikut sebelum mengirim IRP ini ke driver untuk perangkat:

  • Mengirim permintaan IRP_MN_REMOVE_DEVICE ke anak perangkat, jika ada.

  • Memberi tahu komponen mode pengguna dan driver mode kernel yang terdaftar untuk pemberitahuan bahwa perangkat sedang dihapus. Manajer PnP memanggil komponen mode pengguna apa pun yang terdaftar untuk pemberitahuan perangkat target pada handel ke perangkat dan memanggil driver mode kernel apa pun yang terdaftar untuk EventCategoryTargetDeviceChange.

  • (Pada sistem Windows 2000 dan yang lebih baru) Jika sistem file dipasang pada perangkat, manajer PnP mengirimkan permintaan hapus ke sistem file dan filter sistem file apa pun. Sebagai respons, sistem file biasanya melepas volume.

Driver teratas dalam tumpukan perangkat menangani hapus IRP dan meneruskannya ke driver bawah berikutnya. Driver bus induk untuk perangkat adalah driver terakhir yang melakukan operasi hapus perangkatnya. Driver menangani penghapusan RUNPS dalam rutinitas DispatchPnP-nya .

Sebelum driver mengembalikan keberhasilan untuk permintaan IRP_MN_REMOVE_DEVICE , driver harus memastikan bahwa semua sumber daya untuk perangkat telah dirilis. IRP ini bisa menjadi panggilan terakhir sebelum driver dibongkar.

Menghapus satu perangkat dapat membuat kebutuhan untuk menghapus serangkaian perangkat lain. Manajer PnP mengoordinasikan penghapusan objek perangkat tambahan dari tingkat atas ke tingkat perangkat akar.

Bagian ini menjelaskan:

Menghapus Perangkat dalam Driver Fungsi

Menghapus Perangkat di Driver Filter

Menghapus Perangkat di Driver Bus