// 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 reference
No 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.
Type
Data type indicator for the bidirectional extended SRB data structure. Set to SrbExDataTypeScsiCdbVar.
Length
Length 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.
ScsiStatus
The SCSI status code returned for the submitted SRB.
SenseInfoBufferLength
The length of the sense information returned in the buffer pointed to by SenseInfoBuffer.
Reserved
This member is reserved. Contains zeros.
CdbLength
The length of the CDB data, in bytes, of the Cdb array.
Reserved1
This member is reserved. Contains zeros.
SenseInfoBuffer
A pointer to a buffer containing any returned sense information.
Cdb
A 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.
Type
Data type indicator for the bidirectional extended SRB data structure. Set to SrbExDataTypeScsiCdbVar.
Length
Length 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.
ScsiStatus
The SCSI status code returned for the submitted SRB.
SenseInfoBufferLength
The length of the sense information returned in the buffer pointed to by SenseInfoBuffer.
Reserved
This member is reserved. Contains zeros.
CdbLength
The length of the CDB data, in bytes, of the Cdb array.
Reserved1
This member is reserved. Contains zeros.
SenseInfoBuffer
A pointer to a buffer containing any returned sense information.
Cdb
A 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.