Dela via


Filattributkonstanter

Filattributkonstanter definierar metadatavärden som lagras av filsystemet på disken och används av systemet och är tillgängliga för utvecklare via olika fil-I/O-API:er. Med de här konstanterna kan utvecklare kontrollera och ange filegenskaper som skrivskyddade, dolda eller komprimerade attribut. En lista över relaterade API:er och ämnen finns i avsnittet Se även .

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 ");
    }
}

Exempel taget från ett klassiskt Windows-exempel på GitHub.

Konstant/värde Description
FILE_ATTRIBUTE_READONLY
1 (0x00000001)
En fil som är skrivskyddad. Program kan läsa filen, men kan inte skriva till den eller ta bort den. Det här attributet respekteras inte för kataloger.
FILE_ATTRIBUTE_HIDDEN
2 (0x00000002)
Filen eller katalogen är dold. Den ingår inte i en vanlig kataloglista.
FILE_ATTRIBUTE_SYSTEM
4 (0x00000004)
En fil eller katalog som operativsystemet använder en del av eller endast använder.
FILE_ATTRIBUTE_DIRECTORY
16 (0x00000010)
Referensen som identifierar en katalog.
FILE_ATTRIBUTE_ARCHIVE
32 (0x00000020)
En fil eller katalog som är en arkivfil eller katalog. Program använder vanligtvis det här attributet för att markera filer för säkerhetskopiering eller borttagning.
FILE_ATTRIBUTE_DEVICE
64 (0x00000040)
Det här värdet är reserverat för systemanvändning.
FILE_ATTRIBUTE_NORMAL
128 (0x00000080)
En fil som inte har andra attribut angivna. Det här attributet är endast giltigt när det används ensamt.
FILE_ATTRIBUTE_TEMPORARY
256 (0x00000100)
En fil som används för tillfällig lagring. Filsystem undviker att skriva tillbaka data till masslagring om tillräckligt med cacheminne är tillgängligt, eftersom ett program vanligtvis tar bort en tillfällig fil när handtaget har stängts. I det scenariot kan systemet helt undvika att skriva data. Annars skrivs data när handtaget har stängts.
FILE_ATTRIBUTE_SPARSE_FILE
512 (0x00000200)
En fil som är en gles fil.
FILE_ATTRIBUTE_REPARSE_POINT
1024 (0x00000400)
En fil eller katalog som har en associerad referenspunkt eller en fil som är en symbolisk länk.
FILE_ATTRIBUTE_COMPRESSED
2048 (0x00000800)
En fil eller katalog som är komprimerad. För en fil komprimeras alla data i filen. För en katalog är komprimering standard för nyligen skapade filer och underkataloger.
FILE_ATTRIBUTE_OFFLINE
4096 (0x00001000)
Data för en fil är inte tillgängliga omedelbart. Det här attributet anger att fildata flyttas fysiskt till offlinelagring. Det här attributet används av Remote Storage, som är den hierarkiska programvaran för lagringshantering. Program bör inte godtyckligt ändra det här attributet.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192 (0x00002000)
Filen eller katalogen ska inte indexeras av innehållsindexeringstjänsten.
FILE_ATTRIBUTE_ENCRYPTED
16384 (0x00004000)
En fil eller katalog som är krypterad. För en fil krypteras alla dataströmmar i filen. För en katalog är kryptering standard för nyligen skapade filer och underkataloger.
FILE_ATTRIBUTE_INTEGRITY_STREAM
32768 (0x00008000)
Katalogen eller användardataströmmen är konfigurerad med integritet (stöds endast på ReFS-volymer). Den ingår inte i en vanlig kataloglista. Integritetsinställningen bevaras med filen om den har bytt namn. Om en fil kopieras har målfilen integritetsuppsättning om antingen källfilen eller målkatalogen har integritetsuppsättning.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 och Windows XP: Den här flaggan stöds inte förrän Windows Server 2012.
FILE_ATTRIBUTE_VIRTUAL
65536 (0x00010000)
Det här värdet är reserverat för systemanvändning.
FILE_ATTRIBUTE_NO_SCRUB_DATA
131072 (0x00020000)
Användardataströmmen ska inte läsas av bakgrundsdataintegritetsskannern (AKA Scrubber). När den anges i en katalog ger den bara arv. Den här flaggan stöds endast på lagringsutrymmen och ReFS-volymer. Den ingår inte i en vanlig kataloglista.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 och Windows XP: Den här flaggan stöds inte förrän Windows 8 och Windows Server 2012.
FILE_ATTRIBUTE_EA
262144 (0x00040000)
En fil eller katalog med utökade attribut.

VIKTIG: Den här konstanten är endast avsedd för internt bruk.
FILE_ATTRIBUTE_PINNED
524288 (0x00080000)
Det här attributet anger användarens avsikt att filen eller katalogen ska vara helt närvarande lokalt även när den inte används aktivt. Det här attributet är till för användning med hierarkisk programvara för lagringshantering.
FILE_ATTRIBUTE_UNPINNED
1048576 (0x00100000)
Det här attributet anger att filen eller katalogen inte ska finnas helt lokalt förutom när den används aktivt. Det här attributet är till för användning med hierarkisk programvara för lagringshantering.
FILE_ATTRIBUTE_RECALL_ON_OPEN
262144 (0x00040000)
Det här attributet visas bara i kataloguppräkningsklasser (FILE_DIRECTORY_INFORMATION, FILE_BOTH_DIR_INFORMATION osv.). När det här attributet har angetts innebär det att filen eller katalogen inte har någon fysisk representation i det lokala systemet. objektet är virtuellt. Att öppna objektet blir dyrare än normalt, t.ex. det gör att åtminstone en del av det hämtas från ett fjärrarkiv.
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS
4194304 (0x00400000)
När det här attributet har angetts innebär det att filen eller katalogen inte finns helt lokalt. För en fil innebär det att inte alla dess data finns på lokal lagring (t.ex. kan det vara sparsamt med vissa data som fortfarande finns i fjärrlagring). För en katalog innebär det att en del av kataloginnehållet virtualiseras från en annan plats. Att läsa filen/räkna upp katalogen blir dyrare än normalt, t.ex. det gör att åtminstone en del av fil-/kataloginnehållet hämtas från ett fjärrarkiv. Endast anropare i kernelläge kan ange den här biten.

Filsystemets minifilter under intervallet 180000 – 189999 höjd (FSFilter HSM Load Order Group) får inte utfärda riktade cachelagrade läsningar eller skrivningar till filer som har den här attributuppsättningen. Detta kan leda till cacheföroreningar och potentiell filskada. Mer information finns i Hantera platshållare.

Kravspecifikation

Krav Värde
Lägsta klient som stöds Windows XP [endast skrivbordsappar]
Lägsta server som stöds Windows Server 2003 [endast skrivbordsappar]
Header WinNT.h (inkludera Windows.h)

Se även

Komprimeringsattribut

Skapa och öppna filer

CreateFile

CreateFileTransacted

GetFileAttributes

GetFileAttributesEx

GetFileAttributesTransacted

GetFileInformationByHandle

GetFileInformationByHandleEx

SetFileAttributes

SetFileAttributesTransacted

SetFileInformationByHandle

Utforskaren i Windows