Condividi tramite


Costanti dell'attributo file

Le costanti degli attributi di file definiscono i valori dei metadati archiviati dal file system su disco e vengono usate dal sistema e disponibili per gli sviluppatori tramite varie API di I/O di file. Queste costanti consentono agli sviluppatori di controllare e impostare le proprietà dei file, ad esempio attributi compressi, di sola lettura, nascosti o compressi. Per un elenco di API e argomenti correlati, vedere anche la sezione Vedere anche .

Example

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 Description
FILE_ATTRIBUTE_READONLY
1 (0x00000001)
File di sola lettura. Le applicazioni possono leggere il file, ma non possono scriverlo o eliminarlo. Questo attributo non viene rispettato nelle directory.
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 di cui il sistema operativo usa una parte o usa esclusivamente.
FILE_ATTRIBUTE_DIRECTORY
16 (0x00000010)
Handle che identifica una directory.
FILE_ATTRIBUTE_ARCHIVE
32 (0x00000020)
Un file o una directory che è un file di archivio o una directory. 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 reparse 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 creati.
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, che è il software di gestione gerarchica dell'archiviazione. 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 creati.
FILE_ATTRIBUTE_INTEGRITY_STREAM
32768 (0x00008000)
La directory o il flusso di dati utente è configurato con integrità (supportato solo nei volumi ReFS). Non è incluso in un elenco di directory normale. L'impostazione di integrità viene mantenuta con il file, se 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 l'integrità impostata.
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)
Il flusso di dati utente non deve essere letto dallo scanner di integrità dei dati in background (scrubber AKA). Se impostata 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 deve essere mantenuto completamente presente in locale anche quando non si accede attivamente. Questo attributo è destinato all'uso con software di gestione gerarchica dell'archiviazione.
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 software di gestione gerarchica dell'archiviazione.
FILE_ATTRIBUTE_RECALL_ON_OPEN
262144 (0x00040000)
Questo attributo viene visualizzato solo nelle classi di enumerazione della 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 ne causerà il recupero di almeno alcuni 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 dati si trovano nella risorsa di archiviazione locale( ad esempio, potrebbe essere di tipo sparse con alcuni dati ancora 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 perché almeno alcuni dei contenuti di file/directory verranno recuperati 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 (FSFilter HSM Load Order Group) 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 Value
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Header WinNT.h (include Windows.h)

Vedere anche

Attributo di compressione

Creazione e apertura di file

CreateFile

CreateFileTransacted

GetFileAttributes

GetFileAttributesEx

GetFileAttributesTransacted

GetFileInformationByHandle

GetFileInformationByHandleEx

SetFileAttributes

SetFileAttributesTransacted

SetFileInformationByHandle

Esplora file in Windows