Structure BY_HANDLE_FILE_INFORMATION

 

 

La structure BY_HANDLE_FILE_INFORMATION contient différentes informations sur un fichier:

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;

 

Avec dwFileAttributes: Attribut d'un fichier:

ftCreationTime Structure de type FILETIME indiquant quand un fichier ou un répertoire a été créé (non supporté par tous les systèmes et peut donc retourner la valeur 0).

ftLastAccessTime Structure de type FILETIME indiquant pour un fichier la dernier fois que celui a été accédé en lecture ou écriture. Pour un répertoire, il s'agit de la date de création (non supporté par tous les systèmes et peut donc retourner la valeur 0).

ftLastWriteTime Structure de type FILETIME indiquant le dernier accès en écriture sur le fichier. Sinon, toujours la date de création d'un répertoire (non supporté par tous les systèmes et peut donc retourner la valeur 0).

dwVolumeSerialNumber Numéro de série du volume

nFileSizeHigh
nFileSizeLow Taille du fichier

nNumberOfLinks Nombre de lien, toujours à 1 sur un système FAT (l'information n'existait pas !!!)

nFileIndexHigh
nFileIndexLow Numéro d'index du fichier. Combiné au numéro de série d'un volume, peut permettre de vérifier que deux handles ne pointent pas sur le même fichier...

Image non trouvée !Voir le chapitre FILETIME pour une conversion en structure time_t.