RECEIVE_TOKEN_INFORMATION_HEADER Struktur (storport.h)
Die RECEIVE_TOKEN_INFORMATION_HEADER Struktur enthält Informationen, die als Status eines Offload-Datenübertragungsvorgangs zurückgegeben werden.
Syntax
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;
Angehörige
AvailableData[4]
Die Im SenseData Array verfügbare Datenmenge sowie alle zusätzlichen Ergebnisinformationen.
ResponseToServiceAction
Ein Antwortcode, der angibt, für welche Befehlsaktion die Antwort gilt. Die Dienstaktionscodes sind die folgenden:
Wert | Bedeutung |
---|---|
SERVICE_ACTION_POPULATE_TOKEN | Die Antwortinformationen sind für einen BEFEHL "TOKEN AUFFÜLLEN" vorgesehen. |
SERVICE_ACTION_WRITE_USING_TOKEN | Die Antwortinformationen sind für einen BEFEHL "WRITE USING TOKEN" vorgesehen. |
Reserved1
Reserviert.
OperationStatus
Der aktuelle Status des Kopiervorgangs. Der Status kann einer der folgenden Werte sein:
Wert | Bedeutung |
---|---|
0x01 | Der Vorgang wurde erfolgreich abgeschlossen. |
0x02 | Der Vorgang wurde nicht erfolgreich abgeschlossen. |
0x04 | Der Vorgang wurde erfolgreich abgeschlossen, der Kopierinitiator sollte jedoch überprüfen, ob alle Daten übertragen wurden. |
0x10 | Der Vorgang wird ausgeführt. Der Zustand des Vordergrund- oder Hintergrundvorgangs ist unbekannt. |
0x11 | Der Vorgang wird im Vordergrund ausgeführt. |
0x12 | Der Vorgang wird im Hintergrund ausgeführt. |
0x60 | Der Vorgang wurde beendet. Möglicherweise durch eine vorhandene Ressourcenreservierung. |
Reserved2
Reserviert.
OperationCounter[2]
Die Anzahl der Befehle, die für den aktuellen Kopiervorgang verarbeitet wurden.
EstimatedStatusUpdateDelay[4]
Die empfohlene Zeit in Millisekunden, um zu warten, bevor der nächste BEFEHL EMPFANGEN KOPIEREN STATUS gesendet wird, um aktualisierte Informationen zum aktuellen Kopiervorgang zu erhalten.
CompletionStatus
SCSI-Statuscode für den Kopierbefehlsvorgang.
SenseDataFieldLength
Die Länge des gesamten Datenbereichs in Bytes, der für Sense-Daten verfügbar ist. Dieser Wert ist immer >= SenseDataLength.
SenseDataLength
Die Länge der Daten in Byte in SenseData-.
TransferCountUnits
Die Byteeinheiten, die auf TransferCountangewendet werden. Jede Einheitenerweiterung ist ein Exponent in Basis 2. Der Multiplikatorwert von TRANSFER_COUNT_UNITS_KIBIBYTESist z. B. 1024 und nicht 1000. Die definierten Einheiten sind die folgenden:
Wert | Bedeutung |
---|---|
TRANSFER_COUNT_UNITS_BYTES | Die Übertragungsanzahl befindet sich in Bytes. |
TRANSFER_COUNT_UNITS_KIBIBYTES | Die Übertragungsanzahl liegt in Kilobyte. |
TRANSFER_COUNT_UNITS_MEBIBYTES | Die Übertragungsanzahl liegt in Megabyte. |
TRANSFER_COUNT_UNITS_GIBIBYTES | Die Übertragungsanzahl liegt in Gigabyte. |
TRANSFER_COUNT_UNITS_TEBIBYTES | Die Übertragungsanzahl liegt in Terabyte. |
TRANSFER_COUNT_UNITS_PEBIBYTES | Die Übertragungsanzahl befindet sich in Petabytes. |
TRANSFER_COUNT_UNITS_EXBIBYTES | Die Übertragungsanzahl liegt in Exabytes. |
TRANSFER_COUNT_UNITS_NUMBER_BLOCKS | Die Übertragungsanzahl ist kein Exponent, sondern in Einheiten der logischen Blocklänge. |
TransferCount[8]
Die Länge der übertragenen Daten im Vorgang. Der Einheitentyp in TransferCountUnits wird auf diesen Wert angewendet, um die Gesamtbyteanzahl zu geben.
SegmentsProcessed[2]
Die Anzahl der Segmente, die für den Datenübertragungsvorgang verarbeitet wurden. Segmente sind Kopierlängeneinheiten, die intern vom Kopieranbieter eines Speichergeräts verwendet werden. Auf Windows-Systemen ist dieser Wert reserviert, und Anwendungen müssen dieses Element ignorieren.
Reserved3[6]
Reserviert.
SenseData[ANYSIZE_ARRAY]
Für den Kopiervorgang zurückgegebene Sense-Daten.
Bemerkungen
Wenn RECEIVE_TOKEN_INFORMATION_HEADER für einen POPULATE TOKEN-Befehlsvorgang vorgesehen ist und der Befehl erfolgreich abgeschlossen wurde, wird auch eine RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER Struktur vorhanden sein, nachdem SenseData bei einem Offset von SenseDataFieldLength von Anfang des SenseData Arrays vorhanden ist. Die RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER Struktur enthält das Token, das als Darstellung von Daten (ROD) für die Bereichsparameter erstellt wurde, die mit dem Befehl gesendet werden.
Alle Multibytewerte sind im Big Endian-Format. Vor der Auswertung müssen diese Werte in das endische Format der aktuellen Plattform konvertiert werden.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 8 |
Header- | storport.h (enthalten Scsi.h, Minitape.h, Storport.h) |