STORAGE_ADAPTER_DESCRIPTOR结构(ntddstor.h)

STORAGE_ADAPTER_DESCRIPTOR 结构与 IOCTL_STORAGE_QUERY_PROPERTY 请求结合使用来检索设备的存储适配器描述符数据。

语法

typedef struct _STORAGE_ADAPTER_DESCRIPTOR {
  ULONG   Version;
  ULONG   Size;
  ULONG   MaximumTransferLength;
  ULONG   MaximumPhysicalPages;
  ULONG   AlignmentMask;
  BOOLEAN AdapterUsesPio;
  BOOLEAN AdapterScansDown;
  BOOLEAN CommandQueueing;
  BOOLEAN AcceleratedTransfer;
#if ...
  BOOLEAN BusType;
#else
  UCHAR   BusType;
#endif
  USHORT  BusMajorVersion;
  USHORT  BusMinorVersion;
  UCHAR   SrbType;
  UCHAR   AddressType;
} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR;

成员

Version

包含结构 STORAGE_ADAPTER_DESCRIPTOR的版本。 当成员添加到结构时,此成员的值将发生更改。

Size

指定描述符的总大小(以字节为单位)。

MaximumTransferLength

指定主机总线适配器(HBA)可以在单个作中传输的最大字节数。

MaximumPhysicalPages

指定 HBA 可以在单个传输中管理的最大不连续物理页数(换句话说,其散点/收集支持的范围)。

AlignmentMask

指定 HBA 传输的对齐要求。 存储类驱动程序将其设备对象中的 AlignmentRequirement 字段设置为此值。 对齐掩码指示 HBA 对传输作所需的缓冲区的对齐限制。 有效掩码值为 0(字节对齐)、1(单词对齐)、3(DWORD 对齐)和 7(双 DWORD 对齐)。

AdapterUsesPio

指示何时 TRUE HBA 使用编程输入/输出(PIO),并且需要使用映射到数据缓冲区物理内存的系统空间虚拟地址。 FALSE时,HBA 不使用 PIO。

AdapterScansDown

指示当 TRUE HBA 扫描 BIOS 设备时,即 HBA 开始以最高设备编号(而不是最低)开始扫描。 FALSE时,HBA 开始扫描设备编号最低。 此成员是为旧式微型端口驱动程序保留的。

CommandQueueing

指示 HBA 何时 TRUE HBA 支持 SCSI 标记的队列和/或每逻辑单元内部队列或非 SCSI 等效队列。 FALSE时,HBA 既不支持 SCSI 标记的队列,也不支持每个逻辑单元的内部队列。

AcceleratedTransfer

指示何时 TRUE HBA 支持同步传输,以加快 I/O 的速度。 当 FALSE时,HBA 不支持同步传输,以加快 I/O 的速度。

BusType

指定 STORAGE_BUS_TYPE 类型的值,该值指示设备连接到的总线类型。

BusMajorVersion

指定 HBA 的主版本号(如果有)。

BusMinorVersion

指定 HBA 的次要版本号(如果有)。

SrbType

指定 HBA 使用的 SCSI 请求块 (SRB) 类型。 此成员从 Windows 8 开始有效。

价值 意义
SRB_TYPE_SCSI_REQUEST_BLOCK HBA 使用 SCSI 请求块。
SRB_TYPE_STORAGE_REQUEST_BLOCK HBA 使用扩展的 SCSI 请求块。

AddressType

指定 HBA 的地址类型。 此成员从 Windows 8 开始有效。

价值 意义
STORAGE_ADDRESS_TYPE_BTL8 HBA 使用 8 位总线、目标和 LUN 寻址。

言论

存储类驱动程序使用 I/O 控制代码发出设备控制请求,IOCTL_STORAGE_QUERY_PROPERTY 检索此结构,该结构包含 HBA 中的配置信息以执行数据传输作。 可以从总线的设备对象或功能设备对象(FDO)检索结构,该对象将请求转发到基础总线。

如果在支持同步传输的 HBA 上出现过多的协议错误(AcceleratedTransferTRUE),则存储类驱动程序可以通过在 SRB 中设置SRB_FLAGS_DISABLE_SYNCH_TRANSFER来禁用同步传输。

要求

要求 价值
标头 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