GetFileAttributesA, fonction (fileapi.h)
Récupère les attributs du système de fichiers pour un fichier ou un répertoire spécifié.
Pour obtenir plus d’informations sur les attributs, utilisez la fonction GetFileAttributesEx.
Pour effectuer cette opération en tant qu’opération transactionnelle, utilisez la fonction GetFileAttributesTransacted.
Syntaxe
DWORD GetFileAttributesA(
[in] LPCSTR lpFileName
);
Paramètres
[in] lpFileName
Nom du fichier ou du répertoire.
Par défaut, le nom est limité à MAX_PATH caractères. Pour étendre cette limite à 32 767 caractères larges, ajoutez « \\ ?\ » au chemin d’accès. Pour plus d’informations, consultez nommage des fichiers, des chemins d’accès et des espaces de noms.
Pourboire
À compter de Windows 10, version 1607, vous pouvez choisir de supprimer la limitation MAX_PATH sans précéder « \\ ?\ ». Pour plus d’informations, consultez la section « Limite maximale de longueur de chemin » de noms, fichiers, chemin s et espaces de noms.
Valeur de retour
Si la fonction réussit, la valeur de retour contient les attributs du fichier ou du répertoire spécifié. Pour obtenir la liste des valeurs d’attribut et leurs descriptions, consultez constantes d’attributs de fichier.
Si la fonction échoue, la valeur de retour est INVALID_FILE_ATTRIBUTES. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Remarques
Lorsque GetFileAttributes est appelé sur un répertoire qui est un dossier monté, il retourne les attributs du système de fichiers du répertoire, et non ceux du répertoire racine dans le volume associé au dossier monté avec le répertoire. Pour obtenir les attributs de fichier du volume associé, appelez GetVolumeNameForVolumeMountPoint pour obtenir le nom du volume associé. Utilisez ensuite le nom résultant dans un appel pour GetFileAttributes. Les résultats sont les attributs du répertoire racine sur le volume associé.
Si vous appelez GetFileAttributes pour un partage réseau, la fonction échoue et GetLastError retourne ERROR_BAD_NETPATH. Vous devez spécifier un chemin d’accès à un sous-dossier sur ce partage.
Dans Windows 8 et Windows Server 2012, cette fonction est prise en charge par les technologies suivantes.
Technologie | Supporté |
---|---|
Protocole SMB (Server Message Block) 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 |
Cluster Shared Volume File System (CsvFS) | Oui |
Système de fichiers résilient (ReFS) | Oui |
Comportement de lien symbolique : si le chemin pointe vers un lien symbolique, la fonction retourne des attributs pour le lien symbolique.
opérations transactionnelles
Si un fichier est ouvert pour modification dans une transaction, aucun autre thread ne peut ouvrir le fichier pour modification tant que la transaction n’est pas validée. Par conséquent, si un thread traité ouvre d’abord le fichier, tous les threads suivants qui essaient de modifier le fichier avant que la transaction ne soit validée reçoit une violation de partage. Si un thread non traité modifie le fichier avant que le thread transactionnel ne le fasse et que le fichier est toujours ouvert lorsque la transaction tente de l’ouvrir, la transaction reçoit l’erreur ERROR_TRANSACTIONAL_CONFLICT.Exemples
Pour obtenir un exemple, consultez récupération et modification des attributs de fichier.
Note
L’en-tête fileapi.h définit GetFileAttributes en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP [applications de bureau | Applications UWP] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau | Applications UWP] |
plateforme cible | Windows |
d’en-tête | fileapi.h (include Windows.h) |
bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |
Voir aussi
constantes d’attribut de fichier