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).

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.
 

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)

See also

SRBEX_DATA_SCSI_CDB16

SRBEX_DATA_SCSI_CDB32

STORAGE_REQUEST_BLOCK