IOCTL_STORAGE_EJECTION_CONTROL IOCTL (ntddstor.h)
Mengunci perangkat untuk mencegah penghapusan media. Jika pengandar dapat mencegah media dihapus saat kandar sedang digunakan, driver akan menonaktifkan atau memfungsikan mekanisme yang mengeluarkan media, sehingga mengunci kandar. Penelepon harus membuka perangkat dengan FILE_READ_ATTRIBUTES untuk mengirim permintaan ini.
Tidak seperti IOCTL_STORAGE_MEDIA_REMOVAL, driver melacak IOCTL_STORAGE_EJECTION_CONTROL permintaan oleh pemanggil dan mengabaikan permintaan buka kunci yang belum menerima permintaan kunci dari penelepon yang sama, sehingga mencegah penelepon lain membuka kunci drive.
Driver untuk perangkat media yang dapat dilepas - dapat mendukung IOCTL ini harus melakukan hal berikut:
- Pertahankan jumlah kunci, ditandai oleh pemanggil, di ekstensi objek perangkat.
- Pertahankan jumlah kunci per perangkat fisik.
- Ketika dipanggil dengan IOCTL ini, jika bendera untuk mencegah penghapusan media diatur, meningkatkan jumlah; jika bendera jelas dan driver sebelumnya telah menerima permintaan kunci dari pemanggil yang sama, kurangi jumlahnya.
- Cegah penghapusan media kecuali semua jumlah kunci adalah nol.
Untuk memastikan bahwa kunci penghapusan media dilepas dengan benar, driver kelas melacak penelepon yang mengunci media dengan IOCTL_STORAGE_EJECTION_CONTROL. Jika penelepon mengakhiri tanpa membuka kunci perangkat, driver kelas membuka kunci perangkat.
Kode utama
Buffer input
Buffer di Irp-AssociatedIrp.SystemBuffer> berisi nilai Boolean, dengan TRUE menunjukkan bahwa driver harus mengunci media di drive.
Panjang buffer input
Panjang Boolean.
Buffer output
Tidak ada.
Panjang buffer output
Tidak ada.
Blok status
Bidang Informasi diatur ke nol. Bidang Status diatur ke STATUS_SUCCESS, atau mungkin ke STATUS_INVALID_DEVICE_REQUEST, STATUS_NO_MEDIA_IN_DEVICE, atau STATUS_DEVICE_NOT_CONNECTED.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ntddstor.h (termasuk Ntddstor.h) |