estrutura RECEIVE_TOKEN_INFORMATION_HEADER (storport.h)

A estrutura RECEIVE_TOKEN_INFORMATION_HEADER contém informações retornadas como status de uma operação de transferência de dados de descarregamento.

Sintaxe

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;

Membros

AvailableData[4]

A quantidade de dados disponíveis na matriz SenseData e qualquer informação de resultado adicional.

ResponseToServiceAction

Um código de resposta que indica para qual ação de comando a resposta se destina. Os códigos de ação de serviço são os seguintes.

Valor Significado
SERVICE_ACTION_POPULATE_TOKEN
As informações de resposta são para um comando POPULATE TOKEN.
SERVICE_ACTION_WRITE_USING_TOKEN
As informações de resposta são para um comando WRITE USING TOKEN.

Reserved1

Reservado.

OperationStatus

O status atual da operação de cópia. O status pode ser um dos valores a seguir.

Valor Significado
0x01
A operação foi concluída com sucesso.
0x02
A operação foi concluída sem êxito.
0x04
A operação foi concluída com êxito, mas o iniciador de cópia deve verificar se todos os dados foram transferidos.
0x10
A operação está em andamento. O estado da operação em primeiro plano ou em segundo plano é desconhecido.
0x11
A operação está em andamento em primeiro plano.
0x12
A operação está em andamento em segundo plano.
0x60
A operação foi encerrada. Possivelmente por uma reserva de recursos existente.

Reserved2

Reservado.

OperationCounter[2]

O número de comandos processados para a operação de cópia atual.

EstimatedStatusUpdateDelay[4]

O tempo recomendado, em milissegundos, para aguardar antes de enviar o próximo comando RECEIVE COPY STATUS para obter informações atualizadas sobre a operação de cópia atual.

CompletionStatus

O SCSI status código para a operação de comando de cópia.

SenseDataFieldLength

O comprimento, em bytes, de toda a área de dados disponível para dados de sensor. Esse valor é sempre >= SenseDataLength.

SenseDataLength

O comprimento, em bytes, dos dados no SenseData.

TransferCountUnits

As unidades de bytes aplicadas a TransferCount. Cada expansão de unidade é um expoente na base 2. O valor multiplicador de TRANSFER_COUNT_UNITS_KIBIBYTES, por exemplo, é 1024 e não 1000. As unidades definidas são as seguintes.

Valor Significado
TRANSFER_COUNT_UNITS_BYTES
A contagem de transferências está em bytes.
TRANSFER_COUNT_UNITS_KIBIBYTES
A contagem de transferência está em quilobytes.
TRANSFER_COUNT_UNITS_MEBIBYTES
A contagem de transferências está em megabytes.
TRANSFER_COUNT_UNITS_GIBIBYTES
A contagem de transferências está em gigabytes.
TRANSFER_COUNT_UNITS_TEBIBYTES
A contagem de transferências está em terabytes.
TRANSFER_COUNT_UNITS_PEBIBYTES
A contagem de transferências está em petabytes.
TRANSFER_COUNT_UNITS_EXBIBYTES
A contagem de transferências está em exabytes.
TRANSFER_COUNT_UNITS_NUMBER_BLOCKS
A contagem de transferência não é um expoente, mas em unidades de comprimento de bloco lógico.

TransferCount[8]

O comprimento dos dados transferidos na operação. O tipo de unidade em TransferCountUnits é aplicado a esse valor para dar a contagem total de bytes.

SegmentsProcessed[2]

O número de segmentos processados para a operação de transferência de dados. Segmentos são unidades de comprimento de cópia usadas internamente pelo provedor de cópia de um dispositivo de armazenamento. No Windowssystems, esse valor é reservado e os aplicativos devem ignorar esse membro.

Reserved3[6]

Reservado.

SenseData[ANYSIZE_ARRAY]

Detectar dados retornados para a operação de cópia.

Comentários

Se RECEIVE_TOKEN_INFORMATION_HEADER for para uma operação de comando POPULATE TOKEN e o comando for concluído com êxito, uma estrutura de RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER também estará presente após SenseData em um deslocamento de SenseDataFieldLength desde o início da matriz SenseData . A estrutura RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER conterá o token criado como uma representação de dados (ROD) para os parâmetros de intervalo enviados com o comando .

Todos os valores multibyte estão no formato big endian. Antes da avaliação, esses valores devem ser convertidos para corresponder ao formato endian da plataforma atual.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8
Cabeçalho storport.h (incluem Scsi.h, Minitape.h, Storport.h)

Confira também

RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER