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 |