структура RECEIVE_TOKEN_INFORMATION_HEADER (storport.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
Сведения об ответе для команды "ЗАПОЛНИТЬ ТОКЕН".
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]

Количество сегментов, обработанных для операции передачи данных. Сегменты — это единицы длины копирования, используемые поставщиком копирования устройства хранения. В windowssystems это значение зарезервировано, и приложения должны игнорировать этот элемент.

Reserved3[6]

Зарезервировано.

SenseData[ANYSIZE_ARRAY]

Данные контроля, возвращаемые для операции копирования.

Комментарии

Если RECEIVE_TOKEN_INFORMATION_HEADER используется для операции команды POPULATE TOKEN и команда успешно завершена, после SenseData также будет присутствовать структура RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER со смещением SenseDataFieldLength от начала массива SenseDataData. Структура RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER будет содержать маркер, созданный в качестве представления данных (ROD) для параметров диапазона, отправляемых с помощью команды .

Все многобайтовые значения имеют формат big endian. Перед оценкой эти значения должны быть преобразованы в формат endian текущей платформы.

Требования

Требование Значение
Минимальная версия клиента Windows 8
Верхняя часть storport.h (включая Scsi.h, Minitape.h, Storport.h)

См. также раздел

RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER