Поделиться через


структура STORAGE_DEVICE_DESCRIPTOR (winioctl.h)

Используется в сочетании с кодом элемента управления IOCTL_STORAGE_QUERY_PROPERTY для получения данных дескриптора устройства хранения для устройства.

Синтаксис

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;

Члены

Version

Содержит размер этой структуры в байтах. Значение этого элемента изменится по мере добавления элементов в структуру.

Size

Указывает общий размер дескриптора в байтах, который может включать идентификатор поставщика, идентификатор продукта, редакцию продукта, строки серийного номера устройства и данные шины, которые добавляются в структуру.

DeviceType

Указывает тип устройства, определенный в спецификации SCSI.

DeviceTypeModifier

Указывает модификатор типа устройства , если он есть, в соответствии со спецификацией SCSI. Если модификатор типа устройства не существует, этот элемент равен нулю.

RemovableMedia

Указывает, что носитель устройства (если таковой имеется) является съемным, если имеется значение TRUE . Если на устройстве нет носителя, этот элемент следует игнорировать. При значении FALSE носитель устройства не удаляется.

CommandQueueing

Указывает, если значение TRUE , устройство поддерживает несколько невыполненных команд (постановка в очередь с тегом SCSI или эквивалент). При значении FALSE устройство не поддерживает постановку в очередь с тегами SCSI или эквивалентное.

VendorIdOffset

Задает смещение байтов от начала структуры до строки ASCII, завершаемой null, содержащей идентификатор поставщика устройства. Если у устройства нет идентификатора поставщика, этот элемент равен нулю.

ProductIdOffset

Задает смещение байтов от начала структуры до строки ASCII, завершающейся null, которая содержит идентификатор продукта устройства. Если у устройства нет идентификатора продукта, этот элемент равен нулю.

ProductRevisionOffset

Задает смещение байтов от начала структуры до строки ASCII, завершающейся null, которая содержит строку редакции продукта устройства. Если на устройстве нет строки редакции продукта, этот элемент равен нулю.

SerialNumberOffset

Задает смещение байтов от начала структуры до строки ASCII, завершающейся null, которая содержит серийный номер устройства. Если устройство не имеет серийного номера, этот элемент равен нулю.

BusType

Задает значение перечислителя типа STORAGE_BUS_TYPE , указывающее тип шины, к которой подключено устройство. (следует использовать для интерпретации необработанных свойств устройства в конце этой структуры, если имеется).

RawPropertiesLength

Указывает количество байтов данных, относящихся к шине, которые были добавлены в этот дескриптор.

RawDeviceProperties[1]

Содержит массив длиной один, который служит в качестве заполнителя для первого байта данных свойств шины.

Комментарии

Приложение может определить требуемый размер буфера, выпустив код элемента управления IOCTL_STORAGE_QUERY_PROPERTY , передав структуру STORAGE_DESCRIPTOR_HEADER для выходного буфера, а затем используя возвращаемый элемент Sizeструктуры STORAGE_DESCRIPTOR_HEADER для выделения буфера соответствующего размера.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть winioctl.h (включая Windows.h)

См. также раздел

Структуры управления дисками

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR