GetFileAttributesA |
kernel32.dll |
Demande l'attribut fichier |
|
Syntaxe
DWORD GetFileAttributesA(LPCTSTR lpFileName);
|
Paramètres
Nom |
Description |
lpFileName |
Ce paramètre permet d'indiquer l'adresse du nom d'un fichier ou du répertoire. |
Retour
Valeur |
Description |
INVALID_FILE_ATTRIBUTES |
Cette valeur permet d'indiquer que la fonction a échoué. Pour obtenir des informations d'erreur étendues, appelez la fonction GetLastError. |
INVALID_FILE_ATTRIBUTES != |
Ces valeurs permettent d'indiquer que l'opération a réussi, et la valeur de retour est un descripteur ouvert du fichier, du périphérique, du canal nommé ou de l'emplacement de courrier spécifié. |
Description
Cette fonction permet de demander les attributs d'un fichier ou d'un répertoire.
Remarques
- Lorsque la fonction GetFileAttributesA est appelé sur un répertoire étant un dossier monté, il renvoie les attributs du système de fichiers du répertoire, pas ceux du répertoire racine du
volume que le dossier monté associe au répertoire. Pour obtenir les attributs de fichier du volume associé, appelez GetVolumeNameForVolumeMountPoint pour obtenir le nom du volume
associé. Puis utilisez le nom résultant dans un appel à la fonction GetFileAttributesA. Les résultats sont les attributs du répertoire racine sur le volume associé.
- Si vous appelez GetFileAttributesA pour un partage réseau, la fonction échoue et GetLastError renvoie ERROR_BAD_NETPATH. Vous devez
spécifier un chemin d'accès à un sous-dossier sur ce partage.
- A partir de Windows 8 et Windows Server 2012, cette fonction est prise en charge par
les technologies suivantes :
Technologie |
Supporté |
Protocole SMB (Server Message Block) version 3.0 |
Oui |
TFO (SMB 3.0 Transparent Failover) |
Selon certaines conditions |
SMB 3.0 avec SO (Scale-out File Share) |
Selon certaines conditions |
CsvFS (Cluster Shared Volume File System) |
Oui |
ReFS (Resilient File System) |
Oui |
- Comportement du lien symbolique : si le chemin pointe vers un lien symbolique, la fonction renvoie les attributs du lien symbolique.
- Opérations Transactées : Si un fichier est ouvert pour modification dans une transaction, aucun autre processus léger ne peut l'ouvrir pour modification jusqu'à
ce que la transaction soit validée. Ainsi, si un fil traité ouvre d'abord le fichier, tous les fils suivants essayant de modifier le fichier avant que la transaction soit validée reçoivent
une violation de partage. Si un processus léger non transactionné modifie le fichier avant le processus léger transacté et qu'il est toujours ouvert lorsque la transaction tente de l'ouvrir,
la transaction reçoit l'erreur ERROR_TRANSACTIONAL_CONFLICT.
Dernière mise à jour : Dimanche, le 6 décembre 2015