Funzione GetFileAttributesA (fileapi.h)
Recupera gli attributi del file system per un file o una directory specificata.
Per ottenere altre informazioni sull'attributo, usare la funzione GetFileAttributesEx
Per eseguire questa operazione come operazione transazionata, usare la funzione getFileAttributesTransacted
Sintassi
DWORD GetFileAttributesA(
[in] LPCSTR lpFileName
);
Parametri
[in] lpFileName
Nome del file o della directory.
Per impostazione predefinita, il nome è limitato a MAX_PATH caratteri. Per estendere questo limite a 32.767 caratteri wide, anteporre "\\?\" al percorso. Per altre informazioni, vedere denominazione di file, percorsi e spazi dei nomi.
Mancia
A partire da Windows 10, versione 1607, è possibile acconsentire esplicitamente alla rimozione della limitazione MAX_PATH senza anteporre "\\?\". Per informazioni dettagliate, vedere la sezione "Limitazione massima della lunghezza del percorso" di nomi, percorsi e spazi dei nomi.
Valore restituito
Se la funzione ha esito positivo, il valore restituito contiene gli attributi del file o della directory specificati. Per un elenco dei valori degli attributi e delle relative descrizioni, vedere Costanti attributo file.
Se la funzione ha esito negativo, il valore restituito è INVALID_FILE_ATTRIBUTES. Per ottenere informazioni estese sull'errore, chiamare GetLastError.
Osservazioni
Quando GetFileAttributes viene chiamato su una directory che è una cartella montata, restituisce gli attributi del file system della directory, non quelli della directory radice nel volume associato alla directory montata. Per ottenere gli attributi di file del volume associato, chiamare GetVolumeNameForVolumeMountPoint per ottenere il nome del volume associato. Usare quindi il nome risultante in una chiamata a GetFileAttributes. I risultati sono gli attributi della directory radice nel volume associato.
Se si chiama GetFileAttributes per una condivisione di rete, la funzione ha esito negativo e GetLastError restituisce ERROR_BAD_NETPATH. È necessario specificare un percorso di una sottocartella in tale condivisione.
In Windows 8 e Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.
Tecnologia | Sostenuto |
---|---|
Protocollo SMB (Server Message Block) 3.0 | Sì |
SMB 3.0 Transparent Failover (TFO) | Sì |
SMB 3.0 con condivisioni file con scalabilità orizzontale (SO) | Sì |
Cluster Shared Volume File System (CsvFS) | Sì |
Resilient File System (ReFS) | Sì |
Comportamento del collegamento simbolico: se il percorso punta a un collegamento simbolico, la funzione restituisce attributi per il collegamento simbolico.
operazioni transazionate
Se un file è aperto per la modifica in una transazione, nessun altro thread può aprire il file per la modifica finché non viene eseguito il commit della transazione. Pertanto, se un thread transazionale apre prima il file, tutti i thread successivi che tentano di modificare il file prima che venga eseguito il commit della transazione ricevano una violazione di condivisione. Se un thread non transazionale modifica il file prima che il thread transazionale e il file sia ancora aperto quando la transazione tenta di aprirlo, la transazione riceve l'errore ERROR_TRANSACTIONAL_CONFLICT.Esempi
Per un esempio, vedere Recupero e modifica degli attributi di file.
Nota
L'intestazione fileapi.h definisce GetFileAttributes come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows XP [app desktop | App UWP] |
server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
piattaforma di destinazione | Finestre |
intestazione |
fileapi.h (include Windows.h) |
libreria |
Kernel32.lib |
dll | Kernel32.dll |
Vedere anche
costanti dell'attributo file