SRBEX_DATA_SCSI_CDB_VAR 结构 (srb.h)
SRBEX_DATA_SCSI_CDB_VAR 结构包含可变长度 SCSI 命令数据块 (CDB) 的扩展 SRB 数据。
注意 SCSI 端口驱动程序和 SCSI 微型端口驱动程序模型将来可能会更改或不可用。 相反,我们建议使用 Storport 驱动程序 和 Storport 微型端口 驱动程序模型。
语法
typedef struct _SRBEX_DATA_SCSI_CDB_VAR {
SRBEXDATATYPE Type;
ULONG Length;
UCHAR ScsiStatus;
UCHAR SenseInfoBufferLength;
UCHAR Reserved[2];
ULONG CdbLength;
ULONG Reserved1[2];
PVOID POINTER_ALIGN SenseInfoBuffer;
UCHAR POINTER_ALIGN Cdb[ANYSIZE_ARRAY];
} SRBEX_DATA_SCSI_CDB_VAR, *PSRBEX_DATA_SCSI_CDB_VAR;
成员
Type
双向扩展 SRB 数据结构的数据类型指示器。 设置为 SrbExDataTypeScsiCdbVar。
Length
此结构中以 ScsiStatus 成员开头的数据的长度。 此值的范围介于 SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MIN 和 SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MAX 之间。
ScsiStatus
为提交的 SRB 返回的 SCSI 状态代码。
SenseInfoBufferLength
SenseInfoBuffer 指向的缓冲区中返回的感知信息的长度。
Reserved[2]
此成员是保留的。 包含零。
CdbLength
Cdb 数组的 CDB 数据的长度(以字节为单位)。
Reserved1[2]
此成员是保留的。 包含零。
SenseInfoBuffer
指向包含任何返回的感知信息的缓冲区的指针。
Cdb[ANYSIZE_ARRAY]
包含 CDB 缓冲区的可变长度数组。
注解
对于小于 32 字节的 CDB 数据大小,可以改用 SRBEX_DATA_SCSI_CDB32 结构,也可能 使用 SRBEX_DATA_SCSI_CDB16 结构。 Cdb 数组中允许的最大 CDB 数据为 SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MAX - SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MIN + 1。 CdbLength 中指定的长度必须小于或等于此值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从Windows 8开始可用。 |
标头 | srb.h (包括 Storport.h、Srb.h、Minitape.h) |