IOCTL_STORAGE_QUERY_PROPERTY IOCTL (ntddstor.h)
Driver dapat menggunakan IOCTL_STORAGE_QUERY_PROPERTY untuk mengembalikan properti perangkat penyimpanan atau adaptor. Permintaan menunjukkan jenis informasi yang akan diambil, seperti data pertanyaan untuk perangkat atau kemampuan dan batasan adaptor. IOCTL_STORAGE_QUERY_PROPERTY juga dapat digunakan untuk menentukan apakah driver port mendukung properti tertentu atau bidang mana dalam deskriptor properti yang dapat dimodifikasi dengan permintaan properti perubahan berikutnya.
Parameters.DeviceIoControl.InputBufferLength menunjukkan ukuran, dalam byte, buffer parameter pada Irp->AssociatedIrp.SystemBuffer, yang harus >= sizeof(STORAGE_PROPERTY_QUERY).
Irp->AssociatedIrp.SystemBuffer berisi data STORAGE_PROPERTY_QUERY yang menentukan apakah akan mengkueri perangkat atau adaptor, jenis kueri yang akan dilakukan, dan parameter tambahan apa pun yang diperlukan untuk kueri, seperti kode halaman untuk halaman pengertian mode SCSI tertentu. Properti perangkat harus diambil hanya dari perangkat; mencoba mengambil properti perangkat dari adaptor akan menyebabkan kesalahan.
Parameters.DeviceIoControl.OutputBufferLength menunjukkan jumlah byte yang dapat ditulis ke Irp->AssociatedIrp.SystemBuffer. OutputBufferLength bisa nol untuk menentukan apakah properti ada tanpa mengambil datanya.
Parameters.DeviceIoControl.InputBufferLength menunjukkan ukuran, dalam byte, buffer parameter pada Irp->AssociatedIrp.SystemBuffer, yang harus >= sizeof(STORAGE_PROPERTY_QUERY).
Driver mengembalikan data kueri ke buffer di Irp->AssociatedIrp.SystemBuffer. Berbagai jumlah data khusus bus dapat ditambahkan ke struktur.
Transmisikan struktur yang dikembalikan ke STORAGE_DESCRIPTOR_HEADER dan periksa anggota Ukuran untuk menentukan jumlah byte yang sebenarnya diperlukan struktur.
Bidang Informasi diatur ke jumlah byte yang dikembalikan. Bidang Status diatur ke STATUS_SUCCESS, atau mungkin ke STATUS_INVALID_DEVICE_REQUEST, STATUS_INVALID_PARAMETER, atau STATUS_NOT_SUPPORTED.
Syarat | Nilai |
---|---|
Header | ntddstor.h (termasuk Ntddstor.h) |