STORAGE_ADAPTER_DESCRIPTOR 结构 (winioctl.h)
与 IOCTL_STORAGE_QUERY_PROPERTY 控制代码一起使用,用于索设备的存储适配器描述符数据。
语法
typedef struct _STORAGE_ADAPTER_DESCRIPTOR {
DWORD Version;
DWORD Size;
DWORD MaximumTransferLength;
DWORD MaximumPhysicalPages;
DWORD AlignmentMask;
BOOLEAN AdapterUsesPio;
BOOLEAN AdapterScansDown;
BOOLEAN CommandQueueing;
BOOLEAN AcceleratedTransfer;
#if ...
BOOLEAN BusType;
#else
BYTE BusType;
#endif
WORD BusMajorVersion;
WORD BusMinorVersion;
BYTE SrbType;
BYTE AddressType;
} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR;
成员
Version
包含此结构的大小(以字节为单位)。 当成员添加到 结构时,此成员的值将更改。
Size
指定返回的数据的总大小(以字节为单位)。 这可能包括遵循此结构的数据。
MaximumTransferLength
指定存储适配器在单个操作中可以传输的最大字节数。
MaximumPhysicalPages
指定存储适配器可在单个传输 (中管理的最大不连续物理页数,换句话说,即其散点/收集支持) 的范围。
AlignmentMask
指定存储适配器的传输对齐要求。 对齐掩码指示存储适配器传输操作所需的缓冲区的对齐限制。 有效掩码值还受不同版本 Windows 上的内存管理器特征的限制。
值 | 含义 |
---|---|
|
缓冲区必须在 BYTE 边界上对齐。 |
|
缓冲区必须在 WORD 边界上对齐。 |
|
缓冲区必须在 DWORD32 边界上对齐。 |
|
缓冲区必须在 DWORD64 边界上对齐。 |
AdapterUsesPio
如果此成员为 TRUE,则存储适配器使用编程的 I/O (PIO) ,并且需要使用映射到数据缓冲区物理内存的系统空间虚拟地址。 如果此成员为 FALSE,则存储适配器不使用 PIO。
AdapterScansDown
如果此成员为 TRUE,则存储适配器会向下扫描 BIOS 设备,也就是说,存储适配器开始扫描的设备编号是最高的,而不是最低的。 如果此成员为 FALSE,则存储适配器开始扫描设备编号最低的设备。 此成员保留给旧版微型端口驱动程序。
CommandQueueing
如果此成员为 TRUE,则存储适配器支持 SCSI 标记的队列和/或每个逻辑单元的内部队列,或非 SCSI 等效队列。 如果此成员为 FALSE,则存储适配器既不支持 SCSI 标记的队列,也不支持每个逻辑单元的内部队列。
AcceleratedTransfer
如果此成员为 TRUE,则存储适配器支持同步传输以加快 I/O 的速度。 如果此成员为 FALSE,则存储适配器不支持同步传输以加速 I/O。
BusType
指定 类型为 STORAGE_BUS_TYPE 的值,该值指示设备连接到的总线的类型。
BusMajorVersion
指定存储适配器的主版本号(如果有)。
BusMinorVersion
指定存储适配器的次要版本号(如果有)。
SrbType
指定 HBA 使用的 SCSI 请求块 (SRB) 类型。
值 | 含义 |
---|---|
|
HBA 使用 SCSI 请求块。 |
|
HBA 使用扩展的 SCSI 请求块。 |
此成员从 Windows 8 开始有效。
AddressType
指定 HBA 的地址类型。
值 | 含义 |
---|---|
|
HBA 使用 8 位总线、目标和 LUN 寻址。 |
此成员从 Windows 8 开始有效。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | winioctl.h (包括 Windows.h) |