Compartir a través de


estructura FSCTL_OFFLOAD_READ_OUTPUT (ntifs.h)

La estructura FSCTL_OFFLOAD_READ_OUTPUT contiene la salida de la solicitud de código de control de FSCTL_OFFLOAD_READ .

Sintaxis

typedef struct _FSCTL_OFFLOAD_READ_OUTPUT {
  ULONG     Size;
  ULONG     Flags;
  ULONGLONG TransferLength;
  UCHAR     Token[512];
} FSCTL_OFFLOAD_READ_OUTPUT, *PFSCTL_OFFLOAD_READ_OUTPUT;

Miembros

Size

Tamaño de esta estructura. Establezca este miembro en sizeof(FSCTL_OFFLOAD_READ_OUTPUT).

Flags

Marcas de resultado. Este valor es una combinación OR bit a bit de estos valores:

Valor Significado
OFFLOAD_READ_FLAG_FILE_TOO_SMALL
0x00000001
El archivo desde el que se va a leer es demasiado pequeño para una operación de descarga.
OFFLOAD_READ_FLAG_ALL_ZERO_BEYOND_CURRENT_RANGE
0x00000002
El intervalo que se extiende más allá del intervalo seleccionado contiene todos los ceros.
OFFLOAD_READ_FLAG_CANNOT_OFFLOAD_BEYOND_CURRENT_RANGE
0x00000004
La operación de descarga no se puede completar más allá del intervalo seleccionado. Se debe usar un método de lectura no descargado para completar la operación.

TransferLength

Longitud, en bytes, de datos representados por Token.

Token[512]

Matriz de bytes que contiene una estructura de tokens, STORAGE_OFFLOAD_TOKEN, que representa los datos de un archivo dentro de un intervalo especificado en FSCTL_OFFLOAD_READ_INPUT. El contenido del token debe permanecer sin modificar entre las operaciones de descarga.

Comentarios

Si la operación de FSCTL_OFFLOAD_READ se realiza correctamente, el proveedor de copia del dispositivo de almacenamiento devuelve, en FSCTL_OFFLOAD_READ_OUTPUT, un valor de token único que identifica la parte de los datos de archivo leídos.

El proveedor de copia conserva los datos leídos durante el miembro TokenTimeToLive de la estructura FSCTL_OFFLOAD_READ_INPUT .

El token representa una región contigua del archivo que comienza con el desplazamiento solicitado en el miembro FileOffset de FSCTL_OFFLOAD_READ_INPUT. La longitud resultante copiada, TransferLength, puede ser menor que la especificada originalmente en el miembro CopyLength de FSCTL_OFFLOAD_READ_INPUT. Un valor más pequeño indica que token pudo representar lógicamente menos datos de los solicitados.

Si se transfirieron menos datos de los solicitados, la operación de lectura se puede completar realizando otra solicitud de FSCTL_OFFLOAD_READ . La siguiente solicitud usa el miembro FileOffset actualizado en la estructura FSCTL_OFFLOAD_READ_INPUT con el valor de TransferLength y una longitud de lectura ajustada de la longitud anterior menos el valor de TransferLength. Además, se puede completar una operación de lectura incompleta a través de un método de lectura no descargado, mediante la rutina ZwReadFile , por ejemplo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8.
Encabezado ntifs.h (incluya Ntifs.h, Fltkernel.h)

Consulte también

FSCTL_OFFLOAD_READ

FSCTL_OFFLOAD_READ_INPUT

STORAGE_OFFLOAD_TOKEN