STORAGE_DEVICE_DESCRIPTOR 结构 (ntddstor.h)

STORAGE_DEVICE_DESCRIPTOR 结构与 IOCTL_STORAGE_QUERY_PROPERTY 请求结合使用,以检索设备的存储设备描述符数据。

语法

typedef struct _STORAGE_DEVICE_DESCRIPTOR {
  ULONG            Version;
  ULONG            Size;
  UCHAR            DeviceType;
  UCHAR            DeviceTypeModifier;
  BOOLEAN          RemovableMedia;
  BOOLEAN          CommandQueueing;
  ULONG            VendorIdOffset;
  ULONG            ProductIdOffset;
  ULONG            ProductRevisionOffset;
  ULONG            SerialNumberOffset;
  STORAGE_BUS_TYPE BusType;
  ULONG            RawPropertiesLength;
  UCHAR            RawDeviceProperties[1];
} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR;

成员

Version

指示 STORAGE_DEVICE_DESCRIPTOR 结构的大小。 当成员添加到 结构时,此成员的值将更改。

Size

指定描述符的总大小(以字节为单位),包括追加到 结构的 ID 字符串。

DeviceType

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

DeviceTypeModifier

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

RemovableMedia

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

CommandQueueing

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

VendorIdOffset

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

ProductIdOffset

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

ProductRevisionOffset

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

SerialNumberOffset

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

BusType

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

RawPropertiesLength

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

RawDeviceProperties[1]

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

注解

应用程序和存储类驱动程序发出设备控制请求,其中 I/O 控制代码 IOCTL_STORAGE_QUERY_PROPERTY 检索此结构,其中包含有关目标设备的信息。 只能从 FDO 检索 结构;尝试从适配器检索设备属性会导致错误。

应用程序或驱动程序可以通过将检索到的 STORAGE_DEVICE_DESCRIPTOR 结构强制转换为仅包含 Version 和 Size 的STORAGE_DESCRIPTOR_HEADER来确定所需的缓冲区大小

要求

要求
Header ntddstor.h (包括 Ntddstor.h)

另请参阅

IOCTL_STORAGE_QUERY_PROPERTY

IoBuildDeviceIoControlRequest

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_BUS_TYPE

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR