FILE_STAT_BASIC_INFORMATION structure (ntifs.h)

Important

Certaines informations se rapportent à un produit de préversion qui peut être considérablement modifié avant sa commercialisation. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.

FILE_STAT_BASIC_INFORMATION contient des métadonnées de base sur un fichier.

Syntaxe

typedef struct _FILE_STAT_BASIC_INFORMATION {
  LARGE_INTEGER FileId;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER LastWriteTime;
  LARGE_INTEGER ChangeTime;
  LARGE_INTEGER AllocationSize;
  LARGE_INTEGER EndOfFile;
  ULONG         FileAttributes;
  ULONG         ReparseTag;
  ULONG         NumberOfLinks;
  ULONG         DeviceType;
  ULONG         DeviceCharacteristics;
  ULONG         Reserved;
  LARGE_INTEGER VolumeSerialNumber;
  FILE_ID_128   FileId128;
} FILE_STAT_BASIC_INFORMATION, *PFILE_STAT_BASIC_INFORMATION;

Membres

FileId

Spécifie l’ID d’un fichier.

CreationTime

Spécifie l’heure de création d’un fichier.

LastAccessTime

Spécifie l’heure à laquelle un fichier a été consulté pour la dernière fois.

LastWriteTime

Spécifie l’heure de la dernière écriture d’un fichier.

ChangeTime

Spécifie l’heure de la dernière modification d’un fichier.

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.

EndOfFile

Nouvelle position absolue de fin du fichier en tant que décalage d’octets par rapport au début du fichier. EndOfFile spécifie le décalage d’octets à la fin du fichier. Étant donné que cette valeur est de base zéro, elle fait en fait référence au premier octet libre dans le fichier. En d’autres termes, EndOfFile est le décalage vers l’octet qui suit immédiatement le dernier octet valide dans le fichier.

FileAttributes

Attributs de fichier, qui peuvent être n’importe quelle combinaison valide des éléments suivants :

Attribut Valeur
FILE_ATTRIBUTE_READONLY 0x00000001
FILE_ATTRIBUTE_HIDDEN 0x00000002
FILE_ATTRIBUTE_SYSTEM 0x00000004
FILE_ATTRIBUTE_DIRECTORY 0x00000010
FILE_ATTRIBUTE_ARCHIVE 0x00000020
FILE_ATTRIBUTE_NORMAL 0x00000080

ReparseTag

Balise de point d’analyse. Pour plus d’informations, consultez À propos des points d’analyse.

NumberOfLinks

Spécifie le nombre de liens vers le fichier.

DeviceType

Défini lorsqu’un pilote appelle IoCreateDevice en fonction du type d’appareil sous-jacent. Pour plus d’informations, consultez Spécification des types d’appareils.

DeviceCharacteristics

Caractéristiques de l’appareil. Pour obtenir une description des valeurs pertinentes, consultez DEVICE_OBJECT.

Reserved

Réservé pour le système.

VolumeSerialNumber

Numéro de série du volume où se trouve le fichier.

FileId128

Numéro de référence de fichier de 128 octets pour le fichier. Ce nombre est généré et affecté au fichier par le système de fichiers.

Remarques

Ces informations peuvent être interrogées de l’une des manières suivantes :

  • Appelez ZwQueryDirectoryFile, en passant FileStatBasicInformation comme valeur de FileInformationClass et en passant une mémoire tampon FILE_ID_EXTD_DIR_INFORMATION-allouée à l’appelant comme valeur de FileInformation.

  • Créez un IRP avec le code de fonction principale IRP_MJ_DIRECTORY_CONTROL et le code de fonction secondaire IRP_MN_QUERY_DIRECTORY.

Aucun droit d’accès spécifique n’est requis pour interroger ces informations.

Les numéros de référence de fichier, également appelés ID de fichier, sont garantis comme uniques uniquement au sein d’un système de fichiers statique. Il n’est pas garanti qu’ils soient uniques au fil du temps, car les systèmes de fichiers sont libres de les réutiliser. Ils ne sont pas non plus garantis de rester constants. Par exemple, le système de fichiers FAT génère le numéro de référence d’un fichier à partir du décalage d’octets de l’enregistrement d’entrée de répertoire (DIRENT) du fichier sur le disque. La défragmentation peut modifier ce décalage d’octets. Ainsi, un numéro de référence de fichier FAT peut changer au fil du temps.

Toutes les dates et heures sont au format d’heure système absolu. L’heure système absolue est le nombre d’intervalles de 100 nanosecondes depuis le début de l’année 1601.

Cette structure doit être alignée sur une limite LONGLONG (8 octets). Si une mémoire tampon contient au moins deux de ces structures, la valeur NextEntryOffset dans chaque entrée, à l’exception de la dernière, se situe sur une limite de 8 octets.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 11, version 24H2
En-tête ntifs.h

Voir aussi

FILE_INFORMATION_CLASS

**ZwQueryInformationByName **