Partager via


structure FSCTL_OFFLOAD_READ_OUTPUT (ntifs.h)

La structure FSCTL_OFFLOAD_READ_OUTPUT contient la sortie de la requête 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

Taille de cette structure. Définissez ce membre sur taille de(FSCTL_OFFLOAD_READ_OUTPUT).

Flags

Indicateurs de résultat. Cette valeur est une combinaison ou au niveau du bit de ces valeurs :

Valeur Signification
OFFLOAD_READ_FLAG_FILE_TOO_SMALL
0x00000001
Le fichier à lire est trop petit pour une opération de déchargement.
OFFLOAD_READ_FLAG_ALL_ZERO_BEYOND_CURRENT_RANGE
0x00000002
La plage qui s’étend au-delà de la plage sélectionnée contient tous les zéros.
OFFLOAD_READ_FLAG_CANNOT_OFFLOAD_BEYOND_CURRENT_RANGE
0x00000004
L’opération de déchargement ne peut pas se terminer au-delà de la plage sélectionnée. Une méthode de lecture non déchargée doit être utilisée pour terminer l’opération.

TransferLength

Longueur, en octets, des données représentées par Token.

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 de jeton doit rester inchangé 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 la durée du membre TokenTimeToLive de la structure FSCTL_OFFLOAD_READ_INPUT.

Token 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 obtenue copiée, TransferLength, peut être inférieure à ce qui a été initialement spécifié dans membre copyLength de FSCTL_OFFLOAD_READ_INPUT. Une valeur plus petite indique que jeton a pu représenter logiquement moins de données que demandées.

Si moins de données que demandées ont été transférées, l’opération de lecture peut être effectuée en effectuant une autre demande de FSCTL_OFFLOAD_READ. La requête suivante utilise 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 8.
d’en-tête ntifs.h (include Ntifs.h, Fltkernel.h)

Voir aussi

FSCTL_OFFLOAD_READ

FSCTL_OFFLOAD_READ_INPUT

STORAGE_OFFLOAD_TOKEN