Поделиться через


структура RECEIVE_TOKEN_INFORMATION_HEADER (scsi.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 и команда успешно выполнена, RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER структура также будет присутствовать после SenseData в смещении SenseDataFieldLength от начала массива SenseDataData . Структура RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER будет содержать маркер, созданный в качестве представления данных (ROD) для параметров диапазона, отправленных с помощью команды .

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

Требования

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

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

RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER