IRP_MJ_CLOSE
Setiap driver harus menangani permintaan tutup dalam rutinitas DispatchClose , dengan kemungkinan pengecualian driver yang perangkatnya tidak dapat dinonaktifkan atau dihapus dari komputer tanpa menurunkan sistem. Driver disk yang perangkatnya menyimpan file halaman sistem adalah contoh driver tersebut. Perhatikan bahwa driver perangkat tersebut juga tidak dapat dibongkar secara dinamis.
Ketika Dikirim
Tanda terima permintaan ini menunjukkan bahwa handel terakhir objek file yang terkait dengan objek perangkat target telah ditutup dan dirilis. Semua permintaan I/O yang beredar telah diselesaikan atau dibatalkan.
Parameter Input
Tidak ada
Parameter Output
Tidak ada
Operasi
Banyak perangkat dan driver perantara hanya mengatur STATUS_SUCCESS di blok status I/O IRP dan menyelesaikan permintaan penutupan. Namun, apa yang dilakukan driver tertentu pada penerimaan permintaan dekat tergantung pada desain driver. Secara umum, driver harus membatalkan tindakan apa pun yang dilakukan pada penerimaan permintaan IRP_MJ_CREATE . Driver perangkat yang objek perangkatnya eksklusif, seperti driver serial, juga dapat mengatur ulang perangkat keras pada penerimaan permintaan penutupan.
Permintaan IRP_MJ_CLOSE belum tentu dikirim dalam konteks proses yang menutup handel objek file. Jika driver harus merilis sumber daya khusus proses, seperti memori pengguna, yang sebelumnya dikunci atau dipetakan driver, driver harus melakukannya sebagai respons terhadap permintaan IRP_MJ_CLEANUP .
Permintaan IRP_MJ_CLOSE akan selalu dikirim pada PASSIVE_LEVEL.
Persyaratan
Header |
Wdm.h (termasuk Wdm.h, Ntddk.h, atau Ntifs.h) |