Bagikan melalui


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)

Lihat juga

Struktur Manajemen Disk

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR