Share via


storport.h) RECEIVE_TOKEN_INFORMATION_HEADER 結構 (

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
傳輸計數以 KB 為單位。
TRANSFER_COUNT_UNITS_MEBIBYTES
傳輸計數以 MB 為單位。
TRANSFER_COUNT_UNITS_GIBIBYTES
傳輸計數以 GB 為單位。
TRANSFER_COUNT_UNITS_TEBIBYTES
傳輸計數以 TB 為單位。
TRANSFER_COUNT_UNITS_PEBIBYTES
傳輸計數以 PB 為單位。
TRANSFER_COUNT_UNITS_EXBIBYTES
傳輸計數以 GB 為單位。
TRANSFER_COUNT_UNITS_NUMBER_BLOCKS
傳輸計數不是指數,而是以邏輯區塊長度的單位表示。

TransferCount[8]

作業中傳輸的數據長度。 TransferCountUnits 中的單位類型會套用至此值,以提供位元組總數。

SegmentsProcessed[2]

針對數據傳輸作業處理的區段數目。 區段是由存儲設備的複製提供者在內部使用的複製長度單位。 在 Windowssystems 上,這個值是保留的,而且應用程式必須忽略這個成員。

Reserved3[6]

保留的。

SenseData[ANYSIZE_ARRAY]

為複製作業傳回的感知數據。

備註

如果RECEIVE_TOKEN_INFORMATION_HEADER用於POPULATE TOKEN命令作業,而且命令已順利完成,則從SenseData陣列開頭的 SenseDataFieldLength 位移時,也會在 SenseData 之後出現RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER結構。 RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER結構會包含令牌,此令牌會以數據表示方式建立, (ROD) 使用 命令傳送的範圍參數。

所有多位元組值都是大位元組格式。 在評估之前,必須轉換這些值,以符合目前平台的結束格式。

規格需求

需求
最低支援的用戶端 Windows 8
標頭 storport.h (包括 Scsi.h、Minitape.h、Storport.h)

另請參閱

RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER