Partager via


GetFileSize, fonction (fileapi.h)

Récupère la taille du fichier spécifié, en octets.

Il est recommandé d’utiliser GetFileSizeEx.

Syntaxe

DWORD GetFileSize(
  [in]            HANDLE  hFile,
  [out, optional] LPDWORD lpFileSizeHigh
);

Paramètres

[in] hFile

Descripteur du fichier.

[out, optional] lpFileSizeHigh

Pointeur vers la variable dans laquelle le doubleword d’ordre élevé de la taille de fichier est retourné. Ce paramètre peut avoir la valeur NULL si l’application ne nécessite pas le doubleword d’ordre élevé.

Valeur retournée

Si la fonction réussit, la valeur de retour est le doubleword de faible ordre de la taille de fichier et, si lpFileSizeHigh n’a pas la valeur NULL, la fonction place le doubleword d’ordre élevé de la taille de fichier dans la variable pointée par ce paramètre.

Si la fonction échoue et que lpFileSizeHigh a la valeur NULL, la valeur de retour est INVALID_FILE_SIZE. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError. Lorsque lpFileSizeHigh a la valeur NULL, les résultats retournés pour les fichiers volumineux sont ambigus et vous ne pouvez pas déterminer la taille réelle du fichier. Il est recommandé d’utiliser GetFileSizeEx à la place.

Si la fonction échoue et que lpFileSizeHigh n’a pas la valeur NULL, la valeur de retour est INVALID_FILE_SIZE et GetLastError retourne une valeur autre que NO_ERROR.

Notes

Vous ne pouvez pas utiliser la fonction GetFileSize avec un handle d’un appareil non actif, tel qu’un canal ou un appareil de communication. Pour déterminer le type de fichier pour hFile, utilisez la fonction GetFileType .

La fonction GetFileSize récupère la taille non compressée d’un fichier. La fonction GetCompressedFileSize permet d’obtenir la taille compressée d’un fichier.

Notez que si la valeur de retour est INVALID_FILE_SIZE (0xffffffff), une application doit appeler GetLastError pour déterminer si la fonction a réussi ou échoué. La raison pour laquelle la fonction peut sembler échouer alors qu’elle ne l’a pas fait est que lpFileSizeHigh peut être non NULL ou que la taille du fichier peut être 0xffffffff. Dans ce cas, GetLastError retourne NO_ERROR (0) en cas de réussite. En raison de ce comportement, il est recommandé d’utiliser GetFileSizeEx à la place.

Opérations traitées : S’il existe une transaction liée au handle de fichier, la fonction retourne des informations pour l’affichage de fichiers isolé.

Dans Windows 8 et Windows Server 2012, cette fonction est prise en charge par les technologies suivantes.

Technologie Prise en charge
Protocole Server Message Block (SMB) 3.0 Oui
Basculement transparent SMB 3.0 (TFO) Oui
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) Oui
Système de fichiers du volume partagé de cluster (CsvFS) Oui
Système de fichiers résilient (ReFS) Oui
 

Exemples

Pour obtenir un exemple, consultez Création d’une vue dans un fichier.

Spécifications

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête fileapi.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

Fonctions de gestion des fichiers

GetCompressedFileSize

GetFileSizeEx

GetFileType