struktur STORAGE_DEVICE_DESCRIPTOR (winioctl.h)
Digunakan bersama dengan kode kontrol IOCTL_STORAGE_QUERY_PROPERTY untuk mengambil data deskriptor perangkat penyimpanan untuk perangkat.
Sintaks
typedef struct _STORAGE_DEVICE_DESCRIPTOR {
DWORD Version;
DWORD Size;
BYTE DeviceType;
BYTE DeviceTypeModifier;
BOOLEAN RemovableMedia;
BOOLEAN CommandQueueing;
DWORD VendorIdOffset;
DWORD ProductIdOffset;
DWORD ProductRevisionOffset;
DWORD SerialNumberOffset;
STORAGE_BUS_TYPE BusType;
DWORD RawPropertiesLength;
BYTE RawDeviceProperties[1];
} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR;
Anggota
Version
Berisi ukuran struktur ini, dalam byte. Nilai anggota ini akan berubah saat anggota ditambahkan ke struktur.
Size
Menentukan ukuran total deskriptor, dalam byte, yang mungkin mencakup ID vendor, ID produk, revisi produk, string nomor seri perangkat, dan data khusus bus yang ditambahkan ke struktur.
DeviceType
Menentukan jenis perangkat seperti yang didefinisikan oleh spesifikasi Small Computer Systems Interface (SCSI).
DeviceTypeModifier
Menentukan pengubah jenis perangkat, jika ada, seperti yang ditentukan oleh spesifikasi SCSI. Jika tidak ada pengubah jenis perangkat, anggota ini adalah nol.
RemovableMedia
Menunjukkan kapan TRUE bahwa media perangkat (jika ada) dapat dilepas. Jika perangkat tidak memiliki media, anggota ini harus diabaikan. Ketika FALSE , media perangkat tidak dapat dilepas.
CommandQueueing
Menunjukkan kapan TRUE bahwa perangkat mendukung beberapa perintah yang luar biasa (antrean bertag SCSI atau setara). Ketika FALSE, perangkat tidak mendukung antrean bertag SCSI atau yang setara.
VendorIdOffset
Menentukan offset byte dari awal struktur ke string ASCII yang dihentikan null yang berisi ID vendor perangkat. Jika perangkat tidak memiliki ID vendor, anggota ini adalah nol.
ProductIdOffset
Menentukan offset byte dari awal struktur ke string ASCII yang dihentikan null yang berisi ID produk perangkat. Jika perangkat tidak memiliki ID produk, anggota ini adalah nol.
ProductRevisionOffset
Menentukan offset byte dari awal struktur ke string ASCII yang dihentikan null yang berisi string revisi produk perangkat. Jika perangkat tidak memiliki string revisi produk, anggota ini adalah nol.
SerialNumberOffset
Menentukan offset byte dari awal struktur ke string ASCII yang dihentikan null yang berisi nomor seri perangkat. Jika perangkat tidak memiliki nomor seri, anggota ini adalah nol.
BusType
Menentukan nilai enumerator jenis STORAGE_BUS_TYPE yang menunjukkan jenis bus yang tersambung dengan perangkat. Ini harus digunakan untuk menginterpretasikan properti perangkat mentah di akhir struktur ini (jika ada).
RawPropertiesLength
Menunjukkan jumlah byte data khusus bus yang telah ditambahkan ke deskriptor ini.
RawDeviceProperties[1]
Berisi array panjang yang berfungsi sebagai placehold untuk byte pertama dari data properti khusus bus.
Keterangan
Aplikasi dapat menentukan ukuran buffer yang diperlukan dengan mengeluarkan kode kontrol IOCTL_STORAGE_QUERY_PROPERTY melewati struktur STORAGE_DESCRIPTOR_HEADER untuk buffer output, lalu menggunakan anggota Ukuran yang dikembalikan dari struktur STORAGE_DESCRIPTOR_HEADER untuk mengalokasikan buffer dengan ukuran yang tepat.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Header | winioctl.h (termasuk Windows.h) |