Bagikan melalui


IRP_MJ_CLEANUP

Driver yang mempertahankan informasi konteks khusus proses harus menangani permintaan pembersihan dalam rutinitas DispatchCleanup .

Ketika Dikirim

Tanda terima permintaan ini menunjukkan bahwa handel terakhir untuk objek file yang terkait dengan objek perangkat target telah ditutup (tetapi, karena permintaan I/O yang luar biasa, mungkin belum dirilis).

Parameter Input

Tidak ada

Parameter Output

Tidak ada

Operasi

IRP ini dikirim dalam konteks proses yang menutup handel objek file. Oleh karena itu, driver harus melepaskan sumber daya khusus proses, seperti memori pengguna, yang sebelumnya dikunci atau dipetakan driver.

Jika objek perangkat driver disiapkan sebagai eksklusif, sehingga hanya satu utas yang dapat menggunakan perangkat pada satu waktu, driver harus menyelesaikan setiap IRP yang saat ini diantrekan ke objek perangkat target dan mengatur STATUS_CANCELLED di setiap blok status I/O IRP.

Jika tidak, driver harus membatalkan dan menyelesaikan hanya IRP yang saat ini diantrekan yang terkait dengan handel objek file yang sedang dirilis. (Penunjuk ke objek file terletak di anggota FileObject dari IO_STACK_LOCATION driver IRP.) Setelah membatalkan IRP yang diantrekan ini, driver menyelesaikan IRP pembersihan dan mengatur STATUS_SUCCESS di blok status I/O-nya.

Untuk informasi selengkapnya tentang menangani permintaan ini, lihat Rutinitas DispatchCleanup.

Persyaratan

Header

Wdm.h (termasuk Wdm.h, Ntddk.h, atau Ntifs.h)

Lihat juga

DispatchCleanup

IO_STACK_LOCATION

IRP_MJ_CLOSE