Partager via


structure FILE_ID_64_EXTD_BOTH_DIR_INFORMATION (ntifs.h)

La structure FILE_ID_64_EXTD_BOTH_DIR_INFORMATION est utilisée pour interroger les informations de référence de fichier 64 bits pour les fichiers d’un répertoire.

Syntaxe

typedef struct _FILE_ID_64_EXTD_BOTH_DIR_INFORMATION {
  ULONG         NextEntryOffset;
  ULONG         FileIndex;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER LastWriteTime;
  LARGE_INTEGER ChangeTime;
  LARGE_INTEGER EndOfFile;
  LARGE_INTEGER AllocationSize;
  ULONG         FileAttributes;
  ULONG         FileNameLength;
  ULONG         EaSize;
  ULONG         ReparsePointTag;
  LARGE_INTEGER FileId;
  CCHAR         ShortNameLength;
  WCHAR         ShortName[12];
  WCHAR         FileName[1];
} FILE_ID_64_EXTD_BOTH_DIR_INFORMATION, *PFILE_ID_64_EXTD_BOTH_DIR_INFORMATION;

Membres

NextEntryOffset

Décalage d’octet de l’entrée de FILE_ID_64_EXTD_BOTH_DIR_INFORMATION suivante, si plusieurs entrées sont présentes dans une mémoire tampon. Ce membre est égal à zéro si aucune autre entrée ne suit celle-ci.

FileIndex

Décalage d’octet du fichier dans le répertoire parent. Ce membre n’est pas défini pour les systèmes de fichiers, tels que NTFS, dans lesquels la position d’un fichier dans le répertoire parent n’est pas fixe et peut être modifiée à tout moment pour maintenir l’ordre de tri.

CreationTime

Heure de création du fichier.

LastAccessTime

Dernière fois que le fichier a été accédé.

LastWriteTime

Dernière fois que les informations ont été écrites dans le fichier.

ChangeTime

Dernière fois que le fichier a été modifié.

EndOfFile

Nouvelle position de fin de fichier absolue en tant que décalage d’octet à partir du début du fichier. EndOfFile spécifie le décalage d’octet à la fin du fichier. Étant donné que cette valeur est basée sur zéro, elle fait référence au premier octet libre dans le fichier. En d’autres termes, EndOfFile correspond au décalage de l’octet immédiatement après le dernier octet valide dans le fichier.

AllocationSize

Taille d’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.

FileAttributes

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

  • FILE_ATTRIBUTE_READONLY
  • FILE_ATTRIBUTE_HIDDEN
  • FILE_ATTRIBUTE_SYSTEM
  • FILE_ATTRIBUTE_DIRECTORY
  • FILE_ATTRIBUTE_ARCHIVE
  • FILE_ATTRIBUTE_NORMAL
  • FILE_ATTRIBUTE_TEMPORARY
  • FILE_ATTRIBUTE_COMPRESSED

FileNameLength

Spécifie la longueur de la chaîne de nom de fichier.

EaSize

Longueur combinée, en octets, des attributs étendus (EA) du fichier.

ReparsePointTag

Valeur de balise pour le point d’analyse.

FileId

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

ShortNameLength

Spécifie la longueur de la chaîne de nom de fichier court.

ShortName[12]

Chaîne Unicode contenant le nom court (8.3) du fichier.

FileName[1]

Spécifie le premier caractère de la chaîne de nom de fichier. Ceci est suivi en mémoire par le reste de la chaîne.

Remarques

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

  • Appelez ZwQueryDirectoryFile, en passant FileId64ExtdBothDirectoryInformation comme valeur de FileInformationClass et en passant une mémoire tampon FILE_ID_64_EXTD_BOTH_DIR_INFORMATION-structurée allouée par l’appelant comme valeur de FileInformation.

  • Créez un IRP avec le code de fonction principal 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 d’être uniques uniquement dans un système de fichiers statique. Elles ne sont pas garanties d’être uniques au fil du temps, car les systèmes de fichiers sont libres de les réutiliser. Ils ne sont pas assurés de rester constants. Par exemple, le système de fichiers FAT génère le numéro de référence de fichier d’un fichier à partir du décalage d’octets de l’enregistrement d’entrée de répertoire du fichier (DIRENT) sur le disque. La défragmentation peut modifier ce décalage d’octet. 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 deux ou plusieurs de ces structures, la NextEntryOffset valeur dans chaque entrée, à l’exception du dernier, tombe sur une limite de 8 octets.

Exigences

Exigence Valeur
client minimum pris en charge Windows 11, version 23H2
d’en-tête ntifs.h

Voir aussi

FILE_INFORMATION_CLASS

FsRtlNotifyFullChangeDirectory

IRP_MJ_DIRECTORY_CONTROL

ZwQueryDirectoryFile