Condividi tramite


struttura RECEIVE_TOKEN_INFORMATION_HEADER (storport.h)

La struttura RECEIVE_TOKEN_INFORMATION_HEADER contiene informazioni restituite come stato da un'operazione di trasferimento dati offload.

Sintassi

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;

Members

AvailableData[4]

Quantità di dati disponibili nella matrice SenseData ed eventuali informazioni aggiuntive sui risultati.

ResponseToServiceAction

Codice di risposta che indica l'azione del comando per cui è destinata la risposta. I codici di azione del servizio sono i seguenti.

Valore Significato
SERVICE_ACTION_POPULATE_TOKEN Le informazioni sulla risposta sono relative a un comando POPULATE TOKEN.
SERVICE_ACTION_WRITE_USING_TOKEN Le informazioni sulla risposta sono relative a un comando WRITE USING TOKEN.

Reserved1

Riservato.

OperationStatus

Stato corrente dell'operazione di copia. Lo stato può essere uno dei valori seguenti.

Valore Significato
0x01 Operazione riuscita.
0x02 Operazione completata senza esito positivo.
0x04 L'operazione è stata completata correttamente, ma l'iniziatore di copia deve verificare che tutti i dati siano stati trasferiti.
0x10 L'operazione è in corso. Lo stato dell'operazione in primo piano o in background è sconosciuto.
0x11 L'operazione è in corso in primo piano.
0x12 L'operazione è in corso in background.
0x60 L'operazione è stata terminata. Possibilmente da una prenotazione di risorse esistente.

Reserved2

Riservato.

OperationCounter[2]

Numero di comandi elaborati per l'operazione di copia corrente.

EstimatedStatusUpdateDelay[4]

Tempo consigliato, in millisecondi, di attesa prima di inviare il successivo comando RECEIVE COPY STATUS per informazioni aggiornate sull'operazione di copia corrente.

CompletionStatus

Codice di stato SCSI per l'operazione di copia del comando.

SenseDataFieldLength

Lunghezza, in byte, dell'intera area dati disponibile per i dati sense. Questo valore è sempre >= SenseDataLength.

SenseDataLength

Lunghezza, in byte, dei dati in SenseData.

TransferCountUnits

Unità di byte applicate a TransferCount. Ogni espansione di unità è un esponente in base 2. Il valore moltiplicatore di TRANSFER_COUNT_UNITS_KIBIBYTES, ad esempio, è 1024 e non 1000. Le unità definite sono le seguenti.

Valore Significato
TRANSFER_COUNT_UNITS_BYTES Il conteggio dei trasferimenti è in byte.
TRANSFER_COUNT_UNITS_KIBIBYTES Il conteggio dei trasferimenti è espresso in kilobyte.
TRANSFER_COUNT_UNITS_MEBIBYTES Il conteggio dei trasferimenti è in megabyte.
TRANSFER_COUNT_UNITS_GIBIBYTES Il numero di trasferimenti è espresso in gigabyte.
TRANSFER_COUNT_UNITS_TEBIBYTES Il conteggio dei trasferimenti è espresso in terabyte.
TRANSFER_COUNT_UNITS_PEBIBYTES Il conteggio dei trasferimenti è in petabyte.
TRANSFER_COUNT_UNITS_EXBIBYTES Il conteggio dei trasferimenti è espresso in exabyte.
TRANSFER_COUNT_UNITS_NUMBER_BLOCKS Il conteggio dei trasferimenti non è un esponente, ma in unità di lunghezza del blocco logico.

TransferCount[8]

Lunghezza dei dati trasferiti nell'operazione. Il tipo di unità in TransferCountUnits viene applicato a questo valore per assegnare il conteggio totale dei byte.

SegmentsProcessed[2]

Numero di segmenti elaborati per l'operazione di trasferimento dei dati. I segmenti sono unità di lunghezza di copia usate internamente dal provider di copia di un dispositivo di archiviazione. Nei sistemi Windows questo valore è riservato e le applicazioni devono ignorare questo membro.

Reserved3[6]

Riservato.

SenseData[ANYSIZE_ARRAY]

Dati sense restituiti per l'operazione di copia.

Commenti

Se RECEIVE_TOKEN_INFORMATION_HEADER è per un'operazione di comando POPULATE TOKEN e il comando è stato completato correttamente, una struttura RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER sarà presente anche dopo SenseData in corrispondenza di un offset di SenseDataFieldLength dall'inizio della matrice SenseData. La struttura RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER conterrà il token creato come rappresentazione dei dati (ROD) per i parametri di intervallo inviati con il comando .

Tutti i valori multibyte sono in formato big endian. Prima della valutazione, questi valori devono essere convertiti in modo che corrispondano al formato endian della piattaforma corrente.

Requisiti

Requisito Valore
Client minimo supportato Windows 8
Intestazione storport.h (include Scsi.h, Minitape.h, Storport.h)

Vedi anche

RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER