FSCTL_OFFLOAD_READ_OUTPUT struttura (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;
Members
Size
Dimensione della struttura. Impostare questo membro su sizeof(FSCTL_OFFLOAD_READ_OUTPUT).
Flags
Flag dei risultati. Questo valore è una combinazione OR bit per bit di questi valori:
TransferLength
Lunghezza, in byte, di 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 del token deve rimanere invariato tra le operazioni di offload.
Commenti
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 del file letti.
Il provider di copia mantiene i dati letti per la durata nel membro TokenTimeToLive della struttura FSCTL_OFFLOAD_READ_INPUT .
Il token rappresenta un'area contigua del file a partire dall'offset richiesto nel membro FileOffset di FSCTL_OFFLOAD_READ_INPUT. La lunghezza risultante copiata, TransferLength, può essere inferiore a quella originariamente specificata nel membro CopyLength di FSCTL_OFFLOAD_READ_INPUT. Un valore più piccolo indica che token è stato in grado di rappresentare logicamente meno dati di quanto richiesto.
Se sono stati trasferiti meno dati richiesti, l'operazione di lettura può essere completata eseguendo un'altra richiesta di FSCTL_OFFLOAD_READ . La richiesta successiva usa il 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 la routine ZwReadFile , ad esempio.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 |
Intestazione | ntifs.h (include Ntifs.h, Fltkernel.h) |