IRP_MN_REMOVE_DEVICE
Semua driver PnP harus menangani IRP ini.
Nilai
0x02
Kode Utama
Ketika Dikirim
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 Lepaskan 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 juga mengirim IRP ini jika salah satu driver di tumpukan perangkat gagal permintaan IRP_MN_START_DEVICE untuk perangkat.
Untuk penghapusan perangkat yang teratur, manajer PnP mengirimkan IRP_MN_QUERY_REMOVE_DEVICE sebelum menghapus IRP. Dalam hal ini, perangkat berada dalam status hapus tertunda saat penghapusan IRP tiba. Untuk penghapusan perangkat kejutan pada Microsoft Windows 2000 atau yang lebih baru, manajer PnP mengirimkan IRP_MN_SURPRISE_REMOVAL sebelum menghapus IRP. Dalam hal ini, perangkat dalam keadaan terhapus secara mendadak ketika IRP penghapusan tiba. Driver juga dapat menerima hapus IRP sebelum perangkat dimulai. Dalam hal ini, perangkat berada dalam status tidak dimulai ketika IRP tiba.
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. Driver tidak boleh gagal dalam IRP ini.
Operasi
IRP ini ditangani terlebih dahulu oleh driver di bagian atas tumpukan perangkat dan kemudian oleh setiap driver yang lebih rendah di tumpukan.
Menanggapi IRP ini, driver melakukan tugas-tugas seperti mematikan perangkat, menghapus representasi perangkat lunak perangkat (objek perangkat, dan sebagainya), dan merilis sumber daya apa pun untuk perangkat.
Untuk informasi selengkapnya tentang menangani IRP ini, lihat Menangani Permintaan IRP_MN_REMOVE_DEVICE. Untuk informasi umum tentang mendukung penghapusan perangkat, lihat Menghapus Perangkat.
Mengirim IRP ini
Dicadangkan untuk penggunaan sistem. Driver tidak boleh mengirim IRP ini.
Jika driver bus mendeteksi bahwa satu (atau beberapa) perangkat anaknya (PDO anak) telah dihapus secara fisik dari komputer, driver bus memanggil IoInvalidateDeviceRelations untuk melaporkan perubahan ke manajer PnP. Manajer PnP kemudian mengirim hapus RUN untuk perangkat apa pun yang telah menghilang.
Persyaratan
Header |
Wdm.h (termasuk Wdm.h, Ntddk.h, atau Ntifs.h) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk