Costanti di attributi file

Gli attributi dei file sono valori di metadati archiviati dal file system su disco e vengono usati dal sistema e sono disponibili per gli sviluppatori tramite varie API di I/O di file. Per un elenco di API e argomenti correlati, vedere anche la sezione Vedere anche .

Esempio

FILE_BASIC_INFO basicInfo;
    BOOL result;

    result = GetFileInformationByHandleEx( hFile,
                                               FileBasicInfo,
                                               &basicInfo,
                                               sizeof(basicInfo));

\\...

printf("  File Attributes: ");
    PrintFileAttributes(basicInfo.FileAttributes);

\\...
VOID
PrintFileAttributes(
    ULONG FileAttributes
    )
{
    
    if (FileAttributes & FILE_ATTRIBUTE_ARCHIVE) {
        printf("Archive ");
    }
    if (FileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
        printf("Directory ");
    }
    if (FileAttributes & FILE_ATTRIBUTE_READONLY) {
        printf("Read-Only ");
    }
}

Esempio tratto da un esempio classico di Windows in GitHub.

Costante/valore Descrizione
FILE_ATTRIBUTE_READONLY
1 (0x00000001)
File di sola lettura. Le applicazioni possono leggere il file, ma non possono scrivervi o eliminarle. Questo attributo non viene rispettato nelle directory. Per altre informazioni, vedere Non è possibile visualizzare o modificare gli attributi di sola lettura o di sistema delle cartelle in Windows Server 2003, in Windows XP, in Windows Vista o in Windows 7.
FILE_ATTRIBUTE_HIDDEN
2 (0x00000002)
Il file o la directory è nascosta. Non è incluso in un elenco di directory normale.
FILE_ATTRIBUTE_SYSTEM
4 (0x00000004)
Un file o una directory utilizzata dal sistema operativo in modo esclusivo.
FILE_ATTRIBUTE_DIRECTORY
16 (0x00000010)
Handle che identifica una directory.
FILE_ATTRIBUTE_ARCHIVE
32 (0x00000020)
Un file o una directory che è un file o una directory di archiviazione. Le applicazioni usano in genere questo attributo per contrassegnare i file per il backup o la rimozione.
FILE_ATTRIBUTE_DEVICE
64 (0x00000040)
Questo valore è riservato per l'uso del sistema.
FILE_ATTRIBUTE_NORMAL
128 (0x00000080)
File che non dispone di altri attributi impostati. Questo attributo è valido solo se usato da solo.
FILE_ATTRIBUTE_TEMPORARY
256 (0x00000100)
File utilizzato per l'archiviazione temporanea. I file system evitano di scrivere nuovamente i dati nell'archiviazione di massa se è disponibile memoria cache sufficiente, perché in genere un'applicazione elimina un file temporaneo dopo la chiusura dell'handle. In questo scenario, il sistema può evitare completamente di scrivere i dati. In caso contrario, i dati sono scritti dopo la chiusura dell'handle.
FILE_ATTRIBUTE_SPARSE_FILE
512 (0x00000200)
File di tipo sparse.
FILE_ATTRIBUTE_REPARSE_POINT
1024 (0x00000400)
Un file o una directory con un punto di ripristino associato o un file che è un collegamento simbolico.
FILE_ATTRIBUTE_COMPRESSED
2048 (0x00000800)
File o directory compressi. Per un file, tutti i dati nel file vengono compressi. Per una directory, la compressione è l'impostazione predefinita per i file e le sottodirectory appena create.
FILE_ATTRIBUTE_OFFLINE
4096 (0x00001000)
I dati di un file non sono immediatamente disponibili. Questo attributo indica che i dati del file vengono spostati fisicamente nell'archiviazione offline. Questo attributo viene usato da Archiviazione remota, ovvero il software di gestione dell'archiviazione gerarchica. Le applicazioni non devono modificare arbitrariamente questo attributo.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192 (0x00002000)
Il file o la directory non deve essere indicizzato dal servizio di indicizzazione del contenuto.
FILE_ATTRIBUTE_ENCRYPTED
16384 (0x00004000)
File o directory crittografati. Per un file, tutti i flussi di dati nel file vengono crittografati. Per una directory, la crittografia è l'impostazione predefinita per i file e le sottodirectory appena create.
FILE_ATTRIBUTE_INTEGRITY_STREAM
32768 (0x00008000)
Il flusso di dati della directory o dell'utente è configurato con l'integrità (supportato solo nei volumi ReFS). Non è incluso in un elenco di directory normale. L'impostazione di integrità viene mantenuta con il file se viene rinominato. Se un file viene copiato, il file di destinazione avrà l'integrità impostato se il file di origine o la directory di destinazione hanno impostato l'integrità.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo flag non è supportato fino a Windows Server 2012.
FILE_ATTRIBUTE_VIRTUAL
65536 (0x00010000)
Questo valore è riservato per l'uso del sistema.
FILE_ATTRIBUTE_NO_SCRUB_DATA
131072 (0x00020000)
Flusso di dati utente che non deve essere letto dallo scanner di integrità dei dati in background (scrubber AKA). Se impostato in una directory, fornisce solo l'ereditarietà. Questo flag è supportato solo nei volumi Spazi di archiviazione e ReFS. Non è incluso in un elenco di directory normale.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo flag non è supportato fino a Windows 8 e Windows Server 2012.
FILE_ATTRIBUTE_EA
262144 (0x00040000)
Un file o una directory con attributi estesi.

IMPORTANTE: Questa costante è solo per uso interno.
FILE_ATTRIBUTE_PINNED
524288 (0x00080000)
Questo attributo indica la finalità dell'utente che il file o la directory devono essere mantenuti completamente presenti in locale anche quando non si accede attivamente. Questo attributo è destinato all'uso con il software di gestione dell'archiviazione gerarchico.
FILE_ATTRIBUTE_UNPINNED
1048576 (0x00100000)
Questo attributo indica che il file o la directory non devono essere mantenuti completamente presenti localmente, tranne quando si accede attivamente. Questo attributo è destinato all'uso con il software di gestione dell'archiviazione gerarchico.
FILE_ATTRIBUTE_RECALL_ON_OPEN
262144 (0x00040000)
Questo attributo viene visualizzato solo nelle classi di enumerazione directory (FILE_DIRECTORY_INFORMATION, FILE_BOTH_DIR_INFORMATION e così via). Quando questo attributo è impostato, significa che il file o la directory non ha alcuna rappresentazione fisica nel sistema locale; l'elemento è virtuale. L'apertura dell'elemento sarà più costosa del normale, ad esempio causerà il recupero di almeno alcuni elementi da un archivio remoto.
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS
4194304 (0x00400000)
Quando questo attributo è impostato, significa che il file o la directory non è completamente presente in locale. Per un file che significa che non tutti i relativi dati si trovano nella risorsa di archiviazione locale, ad esempio potrebbe essere di tipo sparse con alcuni dati ancora presenti nell'archiviazione remota. Per una directory significa che alcuni contenuti della directory vengono virtualizzati da un'altra posizione. La lettura del file o l'enumerazione della directory sarà più costosa del normale, ad esempio causerà il recupero di almeno parte del contenuto di file/directory da un archivio remoto. Solo i chiamanti in modalità kernel possono impostare questo bit.

I mini filtri del file system al di sotto del 180000 : 189999 intervallo di altitudine (gruppo di ordini di carico HSM FSFilter) non devono emettere letture o scritture di destinazione memorizzate nella cache nei file con questo attributo impostato. Ciò potrebbe causare l'inquinamento della cache e il potenziale danneggiamento dei file. Per altre informazioni, vedere Gestione dei segnaposto.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione WinNT.h (include Windows.h)

Vedi anche

Attributo di compressione

Creazione e apertura di file

CreateFile

CreateFileTransacted

GetFileAttributes

GetFileAttributesEx

GetFileAttributesTransacted

GetFileInformationByHandle

GetFileInformationByHandleEx

SetFileAttributes

SetFileAttributesTransacted

SetFileInformationByHandle