structure FSCTL_OFFLOAD_READ_OUTPUT (ntifs.h)
La structure FSCTL_OFFLOAD_READ_OUTPUT contient la sortie de la demande de code de contrôle FSCTL_OFFLOAD_READ .
Syntaxe
typedef struct _FSCTL_OFFLOAD_READ_OUTPUT {
ULONG Size;
ULONG Flags;
ULONGLONG TransferLength;
UCHAR Token[512];
} FSCTL_OFFLOAD_READ_OUTPUT, *PFSCTL_OFFLOAD_READ_OUTPUT;
Membres
Size
La taille de cette structure. Définissez ce membre sur sizeof(FSCTL_OFFLOAD_READ_OUTPUT).
Flags
Indicateurs de résultat. Cette valeur est une combinaison au niveau du bit OU de ces valeurs :
TransferLength
Longueur, en octets, des données représentées par Jeton.
Token[512]
Tableau d’octets qui contient une structure de jetons, STORAGE_OFFLOAD_TOKEN, représentant des données de fichier dans une plage spécifiée dans FSCTL_OFFLOAD_READ_INPUT. Le contenu du jeton ne doit pas être modifié entre les opérations de déchargement.
Remarques
Si l’opération de FSCTL_OFFLOAD_READ réussit, le fournisseur de copie de l’appareil de stockage retourne, dans FSCTL_OFFLOAD_READ_OUTPUT, une valeur de jeton unique identifiant la partie des données de fichier lues.
Le fournisseur de copie conserve les données lues pendant toute la durée dans le membre TokenTimeToLive de la structure FSCTL_OFFLOAD_READ_INPUT .
Le jeton représente une région contiguë du fichier commençant par le décalage demandé dans le membre FileOffset de FSCTL_OFFLOAD_READ_INPUT. La longueur copiée résultante, TransferLength, peut être inférieure à ce qui a été spécifié à l’origine dans le membre CopyLength de FSCTL_OFFLOAD_READ_INPUT. Une valeur plus petite indique que Token a pu représenter logiquement moins de données que ce qui a été demandé.
Si moins de données que celles demandées ont été transférées, l’opération de lecture peut être terminée en effectuant une autre FSCTL_OFFLOAD_READ demande. La requête suivante utilise le membre FileOffset mis à jour dans la structure FSCTL_OFFLOAD_READ_INPUT avec la valeur dans TransferLength et une longueur de lecture ajustée de la longueur précédente moins la valeur dans TransferLength. En outre, une opération de lecture incomplète peut être effectuée via une méthode de lecture non déchargée, à l’aide de la routine ZwReadFile , par exemple.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8. |
En-tête | ntifs.h (include Ntifs.h, Fltkernel.h) |