SRBEX_DATA_SCSI_CDB_VAR structure (srb.h)
The SRBEX_DATA_SCSI_CDB_VAR structure contains the extended SRB data for a variable length SCSI command data block (CDB).
Syntax
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;
Members
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[2]
This member is reserved. Contains zeros.
CdbLength
The length of the CDB data, in bytes, of the Cdb array.
Reserved1[2]
This member is reserved. Contains zeros.
SenseInfoBuffer
A pointer to a buffer containing any returned sense information.
Cdb[ANYSIZE_ARRAY]
A variable length array containing the CDB buffer.
Remarks
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.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 8. |
Header | srb.h (include Storport.h, Srb.h, Minitape.h) |