BY_HANDLE_FILE_INFORMATION structure (fileapi.h)

Contient les informations que la fonction GetFileInformationByHandle récupère.

Syntaxe

typedef struct _BY_HANDLE_FILE_INFORMATION {
  DWORD    dwFileAttributes;
  FILETIME ftCreationTime;
  FILETIME ftLastAccessTime;
  FILETIME ftLastWriteTime;
  DWORD    dwVolumeSerialNumber;
  DWORD    nFileSizeHigh;
  DWORD    nFileSizeLow;
  DWORD    nNumberOfLinks;
  DWORD    nFileIndexHigh;
  DWORD    nFileIndexLow;
} BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION;

Membres

dwFileAttributes

Attributs de fichier. Pour connaître les valeurs possibles et leurs descriptions, consultez Constantes d’attributs de fichier.

ftCreationTime

Structure FILETIME qui spécifie quand un fichier ou un répertoire est créé. Si le système de fichiers sous-jacent ne prend pas en charge l’heure de création, ce membre est égal à zéro (0).

ftLastAccessTime

Structure FILETIME . Pour un fichier, la structure spécifie la dernière fois qu’un fichier est lu ou dans lequel il est écrit. Pour un répertoire, la structure spécifie quand le répertoire est créé. Pour les fichiers et les répertoires, la date spécifiée est correcte, mais l’heure de la journée est toujours définie sur minuit. Si le système de fichiers sous-jacent ne prend pas en charge l’heure du dernier accès, ce membre est égal à zéro (0).

ftLastWriteTime

Structure FILETIME . Pour un fichier, la structure spécifie la dernière fois où un fichier est écrit. Pour un répertoire, la structure spécifie quand le répertoire est créé. Si le système de fichiers sous-jacent ne prend pas en charge l’heure de la dernière écriture, ce membre est égal à zéro (0).

dwVolumeSerialNumber

Numéro de série du volume qui contient un fichier.

nFileSizeHigh

Partie d’ordre élevé de la taille de fichier.

nFileSizeLow

Partie d’ordre inférieur de la taille de fichier.

nNumberOfLinks

Nombre de liens vers ce fichier. Pour le système de fichiers FAT, ce membre est toujours 1. Pour le système de fichiers NTFS, il peut être supérieur à 1.

nFileIndexHigh

Partie d’ordre élevé d’un identificateur unique associé à un fichier. Pour plus d’informations, consultez nFileIndexLow.

nFileIndexLow

Partie d’ordre inférieur d’un identificateur unique associé à un fichier.

L’identificateur (parties basse et élevée) et le numéro de série du volume identifient de manière unique un fichier sur un seul ordinateur. Pour déterminer si deux handles ouverts représentent le même fichier, combinez l’identificateur et le numéro de série du volume pour chaque fichier et comparez-les.

Le système de fichiers ReFS, introduit avec Windows Server 2012, inclut des identificateurs de fichier 128 bits. Pour récupérer l’identificateur de fichier 128 bits, utilisez la fonction GetFileInformationByHandleEx avec FileIdInfo pour récupérer la structure FILE_ID_INFO . Il n’est pas garanti que l’identificateur 64 bits de cette structure soit unique sur ReFS.

Remarques

L’identificateur stocké dans les membres nFileIndexHigh et nFileIndexLow est appelé ID de fichier. La prise en charge des ID de fichier est spécifique au système de fichiers. Il n’est pas garanti que les ID de fichier soient uniques au fil du temps, car les systèmes de fichiers sont libres de les réutiliser. Dans certains cas, l’ID de fichier d’un fichier peut changer au fil du temps.

Dans le système de fichiers FAT, l’ID de fichier est généré à partir du premier cluster du répertoire conteneur et du décalage d’octets dans le répertoire de l’entrée pour le fichier. Certains produits de défragmentation modifient ce décalage d’octets. (La défragmentation in-box de Windows ne l’est pas.) Ainsi, un ID de fichier FAT peut changer au fil du temps. Le changement de nom d’un fichier dans le système de fichiers FAT peut également modifier l’ID de fichier, mais uniquement si le nouveau nom de fichier est plus long que l’ancien.

Dans le système de fichiers NTFS, un fichier conserve le même ID de fichier jusqu’à ce qu’il soit supprimé. Vous pouvez remplacer un fichier par un autre fichier sans modifier l’ID de fichier à l’aide de la fonction ReplaceFile . Toutefois, l’ID de fichier du fichier de remplacement, et non le fichier remplacé, est conservé en tant qu’ID de fichier du fichier résultant.

Tous les systèmes de fichiers ne peuvent pas enregistrer la création et l’heure du dernier accès, et tous les systèmes de fichiers ne les enregistrent pas de la même manière. Par exemple, sur un système de fichiers Windows FAT, l’heure de création a une résolution de 10 millisecondes, le temps d’écriture a une résolution de 2 secondes et le temps d’accès a une résolution de 1 jour (la date d’accès). Sur le système de fichiers NTFS, le temps d’accès a une résolution de 1 heure. Pour plus d’informations, consultez Heures de fichiers.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête fileapi.h (inclure Windows.h)

Voir aussi

FILETIME

FILE_ID_INFO

Constantes d'attributs de fichier

GetFileInformationByHandle

GetFileInformationByHandleEx