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) |