SRBEX_DATA_SCSI_CDB_VAR结构 (srb.h)

SRBEX_DATA_SCSI_CDB_VAR结构包含可变长度 SCSI 命令数据块的扩展 SRB 数据, (CDB) 。

注意 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开始可用。
Header srb.h (包括 Storport.h、Srb.h、Minitape.h)

另请参阅

SRBEX_DATA_SCSI_CDB16

SRBEX_DATA_SCSI_CDB32

STORAGE_REQUEST_BLOCK