次の方法で共有


SRBEX_DATA_SCSI_CDB_VAR構造体 (srb.h)

SRBEX_DATA_SCSI_CDB_VAR 構造体には、可変長 SCSI コマンド データ ブロック (CDB) の拡張 SRB データが含まれています。

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 バッファーを含む可変長配列。

備考

CDB データ サイズが 32 バイト未満の場合は、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