structure FILE_VALID_DATA_LENGTH_INFORMATION (ntddk.h)

La structure FILE_VALID_DATA_LENGTH_INFORMATION est utilisée comme argument pour ZwSetInformationFile.

Syntaxe

typedef struct _FILE_VALID_DATA_LENGTH_INFORMATION {
  LARGE_INTEGER ValidDataLength;
} FILE_VALID_DATA_LENGTH_INFORMATION, *PFILE_VALID_DATA_LENGTH_INFORMATION;

Membres

ValidDataLength

Spécifie la nouvelle longueur de données valide pour le fichier. Ce paramètre doit être une valeur positive supérieure à la longueur de données valide actuelle, mais inférieure ou égale à la taille de fichier actuelle.

Remarques

La structure FILE_VALID_DATA_LENGTH_INFORMATION est utilisée pour définir une nouvelle longueur de données valide pour un fichier sur un volume NTFS. La longueur valide des données d’un fichier correspond à la longueur, en octets, des données qui ont été écrites dans le fichier. Ces données valides s’étendent du début du fichier au dernier octet du fichier qui n’a pas été zéro ou laissé non initialisé.

La définition de ces informations nécessite FILE_WRITE_DATA accès au fichier. En outre, les non-administrateurs et les utilisateurs distants doivent disposer de SeManageVolumePrivilege (SE_MANAGE_VOLUME_PRIVILEGE) pour le volume sur lequel réside le fichier.

Les pilotes de filtre de système de fichiers peuvent trouver utile de définir une longueur de données valide dans les scénarios suivants :

  • Lors de l’écriture de clusters bruts directement sur le disque via un canal matériel. Cela permet au pilote de filtre d’informer le système de fichiers que cette plage contient des données valides qui peuvent être retournées à l’utilisateur.
  • Lors de la création de fichiers volumineux où les performances sont un problème. Cela évite le temps nécessaire pour remplir le fichier avec des zéros lorsque le fichier est créé ou étendu.
  • Lors de l’extension à distance d’un fichier et de l’écriture sur un disque sur un système de fichiers de cluster de métadonnées servies.
La taille de la mémoire tampon FileInformation passée à ZwSetInformationFile doit être au moins sizeof(FILE_VALID_DATA_LENGTH_INFORMATION).

Cette structure doit être alignée sur une limite LONGLONG (8 octets).

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible sur Microsoft Windows XP et les versions ultérieures du système d’exploitation Windows.
En-tête ntddk.h (inclure Ntddk.h)

Voir aussi

ZwSetInformationFile