// srb.h
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;
View the official Windows Driver Kit DDI reference// storport.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
The SRBEX_DATA_SCSI_CDB_VAR structure contains the extended SRB data for a variable length SCSI command data block (CDB).
Note The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future. Instead, we recommend using the Storport driver and Storport miniport driver models.
TypeData type indicator for the bidirectional extended SRB data structure. Set to SrbExDataTypeScsiCdbVar.
LengthLength of the data in this structure starting with the ScsiStatus member. This value ranges between SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MIN and SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MAX.
ScsiStatusThe SCSI status code returned for the submitted SRB.
SenseInfoBufferLengthThe length of the sense information returned in the buffer pointed to by SenseInfoBuffer.
ReservedThis member is reserved. Contains zeros.
CdbLengthThe length of the CDB data, in bytes, of the Cdb array.
Reserved1This member is reserved. Contains zeros.
SenseInfoBufferA pointer to a buffer containing any returned sense information.
CdbA variable length array containing the CDB buffer.
For CDB data sizes less than 32 bytes, the SRBEX_DATA_SCSI_CDB32 structure, and possibly the SRBEX_DATA_SCSI_CDB16 structure, may be used instead. The maximum CDB data allowed in the Cdb array is SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MAX - SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MIN + 1. The length specified in CdbLength must be less than or equal to this value.
The SRBEX_DATA_SCSI_CDB_VAR structure contains the extended SRB data for a variable length SCSI command data block (CDB).
Note The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future. Instead, we recommend using the Storport driver and Storport miniport driver models.
TypeData type indicator for the bidirectional extended SRB data structure. Set to SrbExDataTypeScsiCdbVar.
LengthLength of the data in this structure starting with the ScsiStatus member. This value ranges between SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MIN and SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MAX.
ScsiStatusThe SCSI status code returned for the submitted SRB.
SenseInfoBufferLengthThe length of the sense information returned in the buffer pointed to by SenseInfoBuffer.
ReservedThis member is reserved. Contains zeros.
CdbLengthThe length of the CDB data, in bytes, of the Cdb array.
Reserved1This member is reserved. Contains zeros.
SenseInfoBufferA pointer to a buffer containing any returned sense information.
CdbA variable length array containing the CDB buffer.
For CDB data sizes less than 32 bytes, the SRBEX_DATA_SCSI_CDB32 structure, and possibly the SRBEX_DATA_SCSI_CDB16 structure, may be used instead. The maximum CDB data allowed in the Cdb array is SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MAX - SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MIN + 1. The length specified in CdbLength must be less than or equal to this value.