Compartir a través de


estructura de RECEIVE_TOKEN_INFORMATION_HEADER (storport.h)

La estructura RECEIVE_TOKEN_INFORMATION_HEADER contiene información devuelta como estado de una operación de transferencia de datos de descarga.

Sintaxis

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;

Miembros

AvailableData[4]

La cantidad de datos disponibles en la matriz SenseData y cualquier información adicional sobre los resultados.

ResponseToServiceAction

Código de respuesta que indica la acción de comando para la que es la respuesta. Los códigos de acción del servicio son los siguientes.

Valor Significado
SERVICE_ACTION_POPULATE_TOKEN La información de respuesta es para un comando POPULATE TOKEN.
SERVICE_ACTION_WRITE_USING_TOKEN La información de respuesta es para un comando WRITE USING TOKEN.

Reserved1

Reservado.

OperationStatus

Estado actual de la operación de copia. El estado puede ser uno de los valores siguientes.

Valor Significado
0x01 La operación se ha completado correctamente.
0x02 La operación se completó sin éxito.
0x04 La operación se completó correctamente, pero el iniciador de copia debe comprobar que se transfirieron todos los datos.
0x10 La operación está en curso. Se desconoce el estado de la operación en primer plano o en segundo plano.
0x11 La operación está en curso en primer plano.
0x12 La operación está en curso en segundo plano.
0x60 La operación finalizó. Posiblemente mediante una reserva de recursos existente.

Reserved2

Reservado.

OperationCounter[2]

Número de comandos procesados para la operación de copia actual.

EstimatedStatusUpdateDelay[4]

Tiempo recomendado, en milisegundos, para esperar antes de enviar el siguiente comando RECEIVE COPY STATUS para obtener información actualizada sobre la operación de copia actual.

CompletionStatus

Código de estado SCSI para la operación de comando de copia.

SenseDataFieldLength

Longitud, en bytes, de todo el área de datos disponible para los datos de detección. Este valor siempre >es = SenseDataLength.

SenseDataLength

Longitud, en bytes, de los datos de SenseData.

TransferCountUnits

Unidades de bytes aplicadas a TransferCount. Cada expansión de unidad es un exponente en base 2. El valor multiplicador de TRANSFER_COUNT_UNITS_KIBIBYTES, por ejemplo, es 1024 y no 1000. Las unidades definidas son las siguientes.

Valor Significado
TRANSFER_COUNT_UNITS_BYTES El recuento de transferencias está en bytes.
TRANSFER_COUNT_UNITS_KIBIBYTES El recuento de transferencias está en kilobytes.
TRANSFER_COUNT_UNITS_MEBIBYTES El recuento de transferencias está en megabytes.
TRANSFER_COUNT_UNITS_GIBIBYTES El recuento de transferencias está en gigabytes.
TRANSFER_COUNT_UNITS_TEBIBYTES El recuento de transferencias está en terabytes.
TRANSFER_COUNT_UNITS_PEBIBYTES El recuento de transferencias está en petabytes.
TRANSFER_COUNT_UNITS_EXBIBYTES El recuento de transferencias está en exabytes.
TRANSFER_COUNT_UNITS_NUMBER_BLOCKS El recuento de transferencias no es un exponente, pero en unidades de longitud de bloque lógico.

TransferCount[8]

Longitud de los datos transferidos en la operación. El tipo de unidad de TransferCountUnits se aplica a este valor para proporcionar el recuento total de bytes.

SegmentsProcessed[2]

Número de segmentos procesados para la operación de transferencia de datos. Los segmentos son unidades de longitud de copia usadas internamente por el proveedor de copia de un dispositivo de almacenamiento. En los sistemas Windows, este valor está reservado y las aplicaciones deben omitir este miembro.

Reserved3[6]

Reservado.

SenseData[ANYSIZE_ARRAY]

Detección de datos devueltos para la operación de copia.

Comentarios

Si RECEIVE_TOKEN_INFORMATION_HEADER es para una operación de comando POPULATE TOKEN y el comando se completó correctamente, una estructura de RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER también estará presente después de SenseData en un desplazamiento de SenseDataFieldLength desde el principio de la matriz SenseData . La estructura RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER contendrá el token creado como una representación de datos (ROD) para los parámetros de intervalo enviados con el comando .

Todos los valores multibyte están en formato big endian. Antes de la evaluación, estos valores se deben convertir para que coincidan con el formato endian de la plataforma actual.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Encabezado storport.h (include Scsi.h, Minitape.h, Storport.h)

Consulte también

RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER