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 開始提供。
標頭 srb.h (包含 Storport.h、Srb.h、Minitape.h)

另請參閱

SRBEX_DATA_SCSI_CDB16

SRBEX_DATA_SCSI_CDB32

STORAGE_REQUEST_BLOCK