RECEIVE_TOKEN_INFORMATION_HEADER struttura (SCSI.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 e eventuali informazioni aggiuntive sui risultati.
ResponseToServiceAction
Codice di risposta che indica l'azione del comando per la risposta. I codici di azione del servizio sono i seguenti.
Valore | Significato |
---|---|
SERVICE_ACTION_POPULATE_TOKEN | Le informazioni sulla risposta sono per un comando POPOLAMENTO TOKEN. |
SERVICE_ACTION_WRITE_USING_TOKEN | Le informazioni sulla risposta sono per 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 negativo. |
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 in base a 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, per attendere 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 comando di copia.
SenseDataFieldLength
Lunghezza, in byte, dell'intera area dati disponibile per i dati di senso. 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 della 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 è in kilobyte. |
TRANSFER_COUNT_UNITS_MEBIBYTES | Il conteggio dei trasferimenti è in megabyte. |
TRANSFER_COUNT_UNITS_GIBIBYTES | Il numero di trasferimenti è in gigabyte. |
TRANSFER_COUNT_UNITS_TEBIBYTES | Il conteggio dei trasferimenti è in terabyte. |
TRANSFER_COUNT_UNITS_PEBIBYTES | Il conteggio dei trasferimenti è in petabyte. |
TRANSFER_COUNT_UNITS_EXBIBYTES | Il conteggio dei trasferimenti è 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 numero totale di byte.
SegmentsProcessed[2]
Numero di segmenti elaborati per l'operazione di trasferimento dei dati. I segmenti sono unità di lunghezza 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 di senso restituiti per l'operazione di copia.
Commenti
Se RECEIVE_TOKEN_INFORMATION_HEADER è per un'operazione di comando POPOLAMENTO TOKEN e il comando è stato completato correttamente, una struttura RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER sarà presente anche dopo SenseData in 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 | Disponibile a partire da Windows 8. |
Intestazione | SCSI.h (include SCSI.h, Minitape.h, Storport.h) |