структура 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 используется для выполнения команды TOKEN ЗАПОЛНЕНИе, а команда успешно завершена, структура RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER также будет присутствовать после SenseData со смещением SenseDataFieldLength с начала массива SenseData. Структура RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER будет содержать маркер, созданный в виде представления данных (ROD) для параметров диапазона, отправленных с помощью команды.
Все многобайтовые значения находятся в формате big endian. Перед оценкой эти значения должны быть преобразованы в соответствие с конечным форматом текущей платформы.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 8. |
заголовка | scsi.h (include SCSI.h, Minitape.h, Storport.h) |