次の方法で共有


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]

このメンバーは予約されています。 0 を含みます。

CdbLength

CDB 配列の CDB データの長さ (バイト単位)。

Reserved1[2]

このメンバーは予約されています。 0 を含みます。

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以降で使用できます。
Header srb.h (Storport.h、Srb.h、Minitape.h を含む)

こちらもご覧ください

SRBEX_DATA_SCSI_CDB16

SRBEX_DATA_SCSI_CDB32

STORAGE_REQUEST_BLOCK