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

指定描述符的总大小(以字节为单位),可能包括供应商 ID、产品 ID、产品修订版、设备序列号字符串和追加到结构中的特定于总线的数据。

DeviceType

指定由小型计算机系统接口 (SCSI) 规范定义的设备类型。

DeviceTypeModifier

指定 SCSI 规范定义的设备类型修饰符(如果有)。 如果不存在设备类型修饰符,则此成员为零。

RemovableMedia

指示如果任何) 可移动,则设备的媒体 (为 TRUE 。 如果设备没有媒体,则应忽略此成员。 如果 为 FALSE ,则设备的媒体不可移动。

CommandQueueing

指示当设备支持多个未完成的命令 (SCSI 标记的队列或等效) 时为 TRUE 。 如果 为 FALSE,则设备不支持 SCSI 标记的队列或等效项。

VendorIdOffset

指定从结构开头到包含设备供应商 ID 的以 null 结尾的 ASCII 字符串的字节偏移量。 如果设备没有供应商 ID,则此成员为零。

ProductIdOffset

指定从结构开头到包含设备产品 ID 的以 null 结尾的 ASCII 字符串的字节偏移量。 如果设备没有产品 ID,则此成员为零。

ProductRevisionOffset

指定从结构开头到包含设备产品修订字符串的以 null 结尾的 ASCII 字符串的字节偏移量。 如果设备没有产品修订字符串,则此成员为零。

SerialNumberOffset

指定从结构开头到包含设备序列号的以 null 结尾的 ASCII 字符串的字节偏移量。 如果设备没有序列号,则此成员为零。

BusType

指定 类型为 STORAGE_BUS_TYPE 的枚举器值,该值指示设备连接到的总线类型。 这应用于解释此结构末尾的原始设备属性(如存在)。

RawPropertiesLength

指示已追加到此描述符的特定于总线的数据的字节数。

RawDeviceProperties[1]

包含长度为 1 的数组,用作总线特定属性数据的第一个字节的占位符。

注解

应用程序可以通过发出IOCTL_STORAGE_QUERY_PROPERTY控制代码,为输出缓冲区传递STORAGE_DESCRIPTOR_HEADER结构,然后使用返回的 STORAGE_DESCRIPTOR_HEADER 结构的 Size 成员来分配适当大小的缓冲区,从而确定所需的缓冲区大小。

要求

要求
最低受支持的客户端 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