次の方法で共有


RECEIVE_TOKEN_INFORMATION_HEADER構造体 (minitape.h)

RECEIVE_TOKEN_INFORMATION_HEADER 構造体には、オフロード データ転送操作から状態として返される情報が含まれています。

構文

typedef struct {
  UCHAR AvailableData[4];
  UCHAR ResponseToServiceAction : 5;
  UCHAR Reserved1 : 3;
  UCHAR OperationStatus : 7;
  UCHAR Reserved2 : 1;
  UCHAR OperationCounter[2];
  UCHAR EstimatedStatusUpdateDelay[4];
  UCHAR CompletionStatus;
  UCHAR SenseDataFieldLength;
  UCHAR SenseDataLength;
  UCHAR TransferCountUnits;
  UCHAR TransferCount[8];
  UCHAR SegmentsProcessed[2];
  UCHAR Reserved3[6];
  UCHAR SenseData[ANYSIZE_ARRAY];
} RECEIVE_TOKEN_INFORMATION_HEADER, *PRECEIVE_TOKEN_INFORMATION_HEADER;

メンバーズ

AvailableData[4]

SenseData 配列で使用できるデータの量と、追加の結果情報。

ResponseToServiceAction

応答の対象となるコマンド アクションを示す応答コード。 サービス アクション コードは次のとおりです。

価値 意味
SERVICE_ACTION_POPULATE_TOKEN 応答情報は、POPULATE TOKEN コマンド用です。
SERVICE_ACTION_WRITE_USING_TOKEN 応答情報は、WRITE USING TOKEN コマンド用です。

Reserved1

引っ込み思案。

OperationStatus

コピー操作の現在の状態。 状態には、次のいずれかの値を指定できます。

価値 意味
0x01 操作が正常に完了しました。
0x02 操作が正常に完了しませんでした。
0x04 操作は正常に完了しましたが、コピー イニシエーターはすべてのデータが転送されたことを確認する必要があります。
0x10 操作が進行中です。 フォアグラウンドまたはバックグラウンド操作の状態が不明です。
0x11 操作はフォアグラウンドで進行中です。
0x12 操作はバックグラウンドで進行中です。
0x60 操作が終了しました。 場合によっては、既存のリソース予約によって発生します。

Reserved2

引っ込み思案。

OperationCounter[2]

現在のコピー操作で処理されたコマンドの数。

EstimatedStatusUpdateDelay[4]

現在のコピー操作に関する更新された情報について、次の RECEIVE COPY STATUS コマンドを送信するまで待機する推奨時間 (ミリ秒単位)。

CompletionStatus

コピー コマンド操作の SCSI 状態コード。

SenseDataFieldLength

センス データに使用できるデータ領域全体の長さ (バイト単位)。 この値は常に >= SenseDataLength です。

SenseDataLength

SenseData 内のデータの長さ (バイト単位)指定します。

TransferCountUnits

TransferCountに適用されるバイト単位。 各ユニット拡張は、底 2 の指数です。 たとえば、TRANSFER_COUNT_UNITS_KIBIBYTESの乗数の値は 1024 であり、1000 ではありません。 定義されている単位は次のとおりです。

価値 意味
TRANSFER_COUNT_UNITS_BYTES 転送カウントはバイト単位です。
TRANSFER_COUNT_UNITS_KIBIBYTES 転送数はキロバイト単位です。
TRANSFER_COUNT_UNITS_MEBIBYTES 転送数はメガバイト単位です。
TRANSFER_COUNT_UNITS_GIBIBYTES 転送数はギガバイト単位です。
TRANSFER_COUNT_UNITS_TEBIBYTES 転送数はテラバイト単位です。
TRANSFER_COUNT_UNITS_PEBIBYTES 転送数はペタバイト単位です。
TRANSFER_COUNT_UNITS_EXBIBYTES 転送数はエクサバイト単位です。
TRANSFER_COUNT_UNITS_NUMBER_BLOCKS 転送カウントは指数ではなく、論理ブロック長の単位です。

TransferCount[8]

操作で転送されたデータの長さ。 TransferCountUnits の単位の種類がこの値に適用され、合計バイト数が返されます。

SegmentsProcessed[2]

データ転送操作で処理されたセグメントの数。 セグメントは、ストレージ デバイスのコピー プロバイダーによって内部的に使用されるコピー長の単位です。 Windows システムでは、この値は予約されており、アプリケーションはこのメンバーを無視する必要があります。

Reserved3[6]

引っ込み思案。

SenseData[ANYSIZE_ARRAY]

コピー操作で返されるデータを検出します。

備考

RECEIVE_TOKEN_INFORMATION_HEADER が POPULATE TOKEN コマンド操作用であり、コマンドが正常に完了した場合、SenseData SenseData 配列の先頭から SenseDataFieldLength のオフセットに した後も、RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER 構造体が存在します。 RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER 構造体には、コマンドで送信された範囲パラメーターのデータ表現 (ROD) として作成されたトークンが含まれます。

すべてのマルチバイト値はビッグ エンディアン形式です。 評価する前に、これらの値を現在のプラットフォームのエンディアン形式に一致するように変換する必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows 8 以降で使用できます。
ヘッダー minitape.h (Scsi.h、Minitape.h、Storport.h を含む)

関連項目

RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER