структура 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 | Сведения об ответе — для команды 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 |
Верхняя часть | storport.h (включая Scsi.h, Minitape.h, Storport.h) |