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 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. |
|
Il file o la directory è nascosta. Non è incluso in un elenco di directory normale. |
|
Un file o una directory utilizzata dal sistema operativo in modo esclusivo. |
|
Handle che identifica una directory. |
|
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. |
|
Questo valore è riservato per l'uso del sistema. |
|
File che non dispone di altri attributi impostati. Questo attributo è valido solo se usato da solo. |
|
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 di tipo sparse. |
|
Un file o una directory con un punto di ripristino associato o un file che è un collegamento simbolico. |
|
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. |
|
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. |
|
Il file o la directory non deve essere indicizzato dal servizio di indicizzazione del contenuto. |
|
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. |
|
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. |
|
Questo valore è riservato per l'uso del sistema. |
|
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. |
|
Un file o una directory con attributi estesi. IMPORTANTE: Questa costante è solo per uso interno. |
|
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. |
|
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. |
|
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. |
|
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) |