structure FILE_ID_BOTH_DIR_INFO (winbase.h)

Contient des informations sur les fichiers dans le répertoire spécifié. Utilisé pour les handles d’annuaire. Utilisez uniquement lors de l’appel de GetFileInformationByHandleEx. Le nombre de fichiers retournés pour chaque appel à GetFileInformationByHandleEx dépend de la taille de la mémoire tampon passée à la fonction. Tous les appels ultérieurs à GetFileInformationByHandleEx sur le même handle reprendront l’opération d’énumération une fois le dernier fichier retourné.

Syntaxe

typedef struct _FILE_ID_BOTH_DIR_INFO {
  DWORD         NextEntryOffset;
  DWORD         FileIndex;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER LastWriteTime;
  LARGE_INTEGER ChangeTime;
  LARGE_INTEGER EndOfFile;
  LARGE_INTEGER AllocationSize;
  DWORD         FileAttributes;
  DWORD         FileNameLength;
  DWORD         EaSize;
  CCHAR         ShortNameLength;
  WCHAR         ShortName[12];
  LARGE_INTEGER FileId;
  WCHAR         FileName[1];
} FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO;

Membres

NextEntryOffset

Décalage de la structure FILE_ID_BOTH_DIR_INFO suivante retournée. Contient zéro (0) 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

Heure à laquelle le fichier a été consulté pour la dernière fois.

LastWriteTime

Heure à laquelle le fichier a été écrit pour la dernière fois.

ChangeTime

Heure de la dernière modification du fichier.

EndOfFile

Nouvelle position absolue de fin de fichier en tant que décalage d’octet entre le début du fichier et 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.

AllocationSize

Nombre d’octets alloués pour le fichier. Cette valeur est généralement un multiple de la taille du secteur ou du cluster de l’appareil physique sous-jacent.

FileAttributes

Attributs de fichier. Ce membre peut être n’importe quelle combinaison valide des attributs suivants :

FILE_ATTRIBUTE_ARCHIVE (0x00000020)

FILE_ATTRIBUTE_COMPRESSED (0x00000800)

FILE_ATTRIBUTE_DIRECTORY (0x00000010)

FILE_ATTRIBUTE_HIDDEN (0x00000002)

FILE_ATTRIBUTE_NORMAL (0x00000080)

FILE_ATTRIBUTE_READONLY (0x00000001)

FILE_ATTRIBUTE_SYSTEM (0x00000004)

FILE_ATTRIBUTE_TEMPORARY (0x00000100)

FileNameLength

Longueur du nom de fichier.

EaSize

Taille des attributs étendus pour le fichier.

ShortNameLength

Longueur de ShortName.

ShortName[12]

La convention de nommage de fichier 8.3 (par exemple, « FILENAME.TXT ») du fichier.

FileId

ID de fichier.

FileName[1]

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

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 pour être 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 assurés 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’octet de l’enregistrement d’entrée de répertoire (DIRENT) du fichier 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. Le temps système absolu est le nombre d’intervalles de 100 nanosecondes depuis le début de l’année 1601.

Cette structure FILE_ID_BOTH_DIR_INFO doit être alignée sur une limite DWORDLONG (8 octets). Si une mémoire tampon contient au moins deux de ces structures, la valeur NextEntryOffset de 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 Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
En-tête winbase.h (inclure Windows.h)
Composant redistribuable SDK Windows sur Windows Server 2003 et Windows XP.

Voir aussi

FILE_INFO_BY_HANDLE_CLASS

Constantes d'attributs de fichier

GetFileInformationByHandleEx