Partager via


FILE_ALLOCATION_INFORMATION structure (ntifs.h)

La structure FILE_ALLOCATION_INFORMATION est utilisée pour définir la taille d’allocation d’un fichier.

Syntaxe

typedef struct _FILE_ALLOCATION_INFORMATION {
  LARGE_INTEGER AllocationSize;
} FILE_ALLOCATION_INFORMATION, *PFILE_ALLOCATION_INFORMATION;

Membres

AllocationSize

Taille de l’allocation de fichiers, en octets. En règle générale, cette valeur est un multiple de la taille du secteur ou du cluster de l’appareil physique sous-jacent.

Remarques

Cette opération peut être effectuée de l’une des manières suivantes :

  • Appelez FltSetInformationFile ou ZwSetInformationFile, en passant FileAllocationInformation comme valeur de FileInformationClass et en transmettant une mémoire tampon FILE_ALLOCATION_INFORMATION-allouée à l’appelant comme valeur de FileInformation. Le paramètre FileHandle spécifie le fichier dont la taille d’allocation doit être définie.

  • Créez un IRP avec le code de fonction principal IRP_MJ_SET_INFORMATION.

Cette opération est valide uniquement pour les fichiers. Il n’est pas défini pour les répertoires.

Les minifiltres du système de fichiers doivent utiliser FltSetInformationFile, et non ZwSetInformationFile, pour définir la taille d’allocation d’un fichier.

FILE_WRITE_DATA accès est nécessaire pour définir ces informations.

La taille d’allocation et la position de fin de fichier d’un fichier sont indépendantes les unes des autres, avec l’exception suivante : La position de fin de fichier doit toujours être inférieure ou égale à la taille d’allocation. Si la taille d’allocation est définie sur une valeur inférieure à la position de fin de fichier, la position de fin de fichier est automatiquement ajustée pour correspondre à la taille d’allocation.

La taille de la mémoire tampon FileInformation passée à FltSetInformationFile ou ZwSetInformationFile doit être >= sizeof(FILE_ALLOCATION_INFORMATION).

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

Configuration requise

Condition requise Valeur
En-tête ntifs.h (include Ntifs.h, Fltkernel.h)

Voir aussi

FILE_END_OF_FILE_INFORMATION

FltSetInformationFile

IRP_MJ_SET_INFORMATION

ZwSetInformationFile