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. Em sistemas Windows, 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) |