Bagikan melalui


Aturan PnpSurpriseRemove (wdm)

Aturan PnpSurpriseRemove menentukan bahwa driver tidak memanggil IoDeleteDevice atau IoDetachDevice saat memproses permintaan IRP_MN_SURPRISE_REMOVAL .

Manajer PnP mengirimkan permintaan IRP_MN_SURPRISE_REMOVAL untuk memberi tahu driver bahwa perangkat tidak lagi tersedia untuk operasi I/O dan mungkin telah dihapus secara tiba-tiba dari komputer.

  • Semua driver PnP harus menangani permintaan IRP_MN_SURPRISE_REMOVAL .
  • Driver tidak boleh memanggil IoDeleteDevice atau IoDetachDevice pada objek perangkat sampai IRP IRP_MN_SURPRISE_REMOVAL berhasil dan semua handel terbuka ke perangkat ditutup.
  • Manajer PnP kemudian mengirim permintaan IRP_MN_REMOVE_DEVICE ke tumpukan perangkat. Sebagai respons terhadap hapus IRP, driver melepaskan objek perangkat mereka dari tumpukan dan menghapusnya.

Untuk informasi selengkapnya tentang bagaimana driver harus menanggapi permintaan IRP_MN_SURPRISE_REMOVAL , lihat Menangani Permintaan IRP_MN_SURPRISE_REMOVAL

Model driver: WDM

Cara menguji

Pada waktu kompilasi

Jalankan Pemverifikasi Driver Statis dan tentukan aturan PnpSurpriseRemove .

Gunakan langkah-langkah berikut untuk menjalankan analisis kode Anda:
  1. Siapkan kode Anda (gunakan deklarasi jenis peran).
  2. Jalankan Pemverifikasi Driver Statis.
  3. Lihat dan analisis hasilnya.

Untuk informasi selengkapnya, lihat Menggunakan Pemverifikasi Driver Statis untuk Menemukan Cacat pada Driver.

Berlaku untuk

IoDeleteDeviceIoDetachDevice

Lihat juga

Menangani permintaan IRP_MN_SURPRISE_REMOVALMenganalisis Driver Menggunakan Alat Verifikasi dan Analisis KodeIRP_MN_SURPRISE_REMOVALIRP_MN_REMOVE_DEVICE