Leggere in inglese

Condividi tramite


struttura FSCTL_OFFLOAD_READ_OUTPUT (ntifs.h)

La struttura FSCTL_OFFLOAD_READ_OUTPUT contiene l'output per la richiesta di codice di controllo FSCTL_OFFLOAD_READ.

Sintassi

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

Membri

Size

Dimensione di questa struttura. Impostare questo membro su sizeof(FSCTL_OFFLOAD_READ_OUTPUT).

Flags

Flag di risultato. Questo valore è una combinazione di OR bit per bit di questi valori:

Valore Significato
OFFLOAD_READ_FLAG_FILE_TOO_SMALL
0x00000001
Il file da cui leggere è troppo piccolo per un'operazione di offload.
OFFLOAD_READ_FLAG_ALL_ZERO_BEYOND_CURRENT_RANGE
0x00000002
L'intervallo che si estende oltre l'intervallo selezionato contiene tutti gli zeri.
OFFLOAD_READ_FLAG_CANNOT_OFFLOAD_BEYOND_CURRENT_RANGE
0x00000004
L'operazione di offload non può essere completata oltre l'intervallo selezionato. Per completare l'operazione, è necessario usare un metodo di lettura non caricato.

TransferLength

Lunghezza, in byte, dei dati rappresentati da Token.

Token[512]

Matrice di byte che contiene una struttura di token, STORAGE_OFFLOAD_TOKEN, che rappresenta i dati di un file all'interno di un intervallo specificato in FSCTL_OFFLOAD_READ_INPUT. Il contenuto di token deve rimanere invariato tra le operazioni di offload.

Osservazioni

Se l'operazione di FSCTL_OFFLOAD_READ ha esito positivo, il provider di copia del dispositivo di archiviazione restituisce, in FSCTL_OFFLOAD_READ_OUTPUT, un valore token univoco che identifica la parte dei dati dei file letti.

Il provider di copia mantiene i dati letti per la durata nel membro TokenTimeToLive della struttura FSCTL_OFFLOAD_READ_INPUT.

Token rappresenta un'area contigua del file che inizia con l'offset richiesto nel membro FileOffset di FSCTL_OFFLOAD_READ_INPUT. La lunghezza risultante copiata, TransferLength, può essere inferiore a quella specificata in origine in membro copyLength di FSCTL_OFFLOAD_READ_INPUT. Un valore inferiore indica che Token è stato in grado di rappresentare in modo logico meno dati di quanto richiesto.

Se sono stati trasferiti meno dati di quelli richiesti, l'operazione di lettura può essere completata eseguendo un'altra richiesta di FSCTL_OFFLOAD_READ. La richiesta successiva usa membro FileOffset aggiornato nella struttura FSCTL_OFFLOAD_READ_INPUT con il valore in TransferLength e una lunghezza di lettura modificata della lunghezza precedente meno il valore in TransferLength. Inoltre, un'operazione di lettura incompleta può essere completata tramite un metodo di lettura non caricato, usando ad esempio la routine ZwReadFile.

Fabbisogno

Requisito Valore
client minimo supportato Windows 8.
intestazione ntifs.h (include Ntifs.h, Fltkernel.h)

Vedere anche

FSCTL_OFFLOAD_READ

FSCTL_OFFLOAD_READ_INPUT

STORAGE_OFFLOAD_TOKEN