структура 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) |