Sdílet prostřednictvím


Konstanty atributů souboru

Konstanty atributu souboru definují hodnoty metadat uložené systémem souborů na disku a používají se systémem a jsou dostupné vývojářům prostřednictvím různých rozhraní API pro vstupně-výstupní operace souborů. Tyto konstanty umožňují vývojářům kontrolovat a nastavovat vlastnosti souboru, jako jsou jen pro čtení, skryté nebo komprimované atributy. Seznam souvisejících rozhraní API a témat najdete v části Viz také .

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

Příklad z klasické ukázky Windows na GitHubu

Konstanta/hodnota Description
FILE_ATTRIBUTE_READONLY
1 (0x00000001)
Soubor, který je jen pro čtení. Aplikace můžou soubor číst, ale nemůžou do něj zapisovat ani je odstraňovat. Tento atribut není dodržen u adresářů.
FILE_ATTRIBUTE_HIDDEN
2 (0x00000002)
Soubor nebo adresář je skrytý. Není součástí běžného seznamu adresářů.
FILE_ATTRIBUTE_SYSTEM
4 (0x00000004)
Soubor nebo adresář, na který operační systém používá část nebo používá výhradně.
FILE_ATTRIBUTE_DIRECTORY
16 (0x00000010)
Popisovač, který identifikuje adresář.
FILE_ATTRIBUTE_ARCHIVE
32 (0x00000020)
Soubor nebo adresář, který je archivní soubor nebo adresář. Aplikace obvykle tento atribut používají k označení souborů pro zálohování nebo odebrání.
FILE_ATTRIBUTE_DEVICE
64 (0x00000040)
Tato hodnota je vyhrazena pro použití systému.
FILE_ATTRIBUTE_NORMAL
128 (0x00000080)
Soubor, který nemá nastavené další atributy. Tento atribut je platný pouze při použití samostatně.
FILE_ATTRIBUTE_TEMPORARY
256 (0x00000100)
Soubor, který se používá pro dočasné úložiště. Systémy souborů se vyhýbají zápisu dat zpět do velkokapacitního úložiště, pokud je k dispozici dostatek paměti mezipaměti, protože aplikace obvykle po zavření popisovače odstraní dočasný soubor. V tomto scénáři se systém může úplně vyhnout zápisu dat. V opačném případě se data zapíšou po zavření popisovače.
FILE_ATTRIBUTE_SPARSE_FILE
512 (0x00000200)
Soubor, který je zhuštěný soubor.
FILE_ATTRIBUTE_REPARSE_POINT
1024 (0x00000400)
Soubor nebo adresář, který má přidružený spojovací bod, nebo soubor, který je symbolický odkaz.
FILE_ATTRIBUTE_COMPRESSED
2048 (0x00000800)
Soubor nebo adresář, který je komprimovaný. U souboru jsou všechna data v souboru komprimovaná. U adresáře je komprese výchozí hodnotou pro nově vytvořené soubory a podadresáře.
FILE_ATTRIBUTE_OFFLINE
4096 (0x00001000)
Data souboru nejsou k dispozici okamžitě. Tento atribut označuje, že data souboru jsou fyzicky přesunuta do offline úložiště. Tento atribut používá vzdálené úložiště, což je hierarchický software pro správu úložiště. Aplikace by neměly libovolně měnit tento atribut.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192 (0x00002000)
Soubor nebo adresář nelze indexovat službou indexování obsahu.
FILE_ATTRIBUTE_ENCRYPTED
16384 (0x00004000)
Soubor nebo adresář, který je šifrovaný. U souboru jsou všechny datové proudy v souboru zašifrované. U adresáře je šifrování výchozí hodnotou pro nově vytvořené soubory a podadresáře.
FILE_ATTRIBUTE_INTEGRITY_STREAM
32768 (0x00008000)
Adresář nebo datový proud uživatelů je nakonfigurovaný s integritou (podporuje se jenom u svazků ReFS). Není součástí běžného seznamu adresářů. Pokud se přejmenuje, nastavení integrity se souborem zůstane zachováno. Pokud se soubor zkopíruje, bude mít cílový soubor nastavenou integritu, pokud má zdrojový nebo cílový adresář nastavenou integritu.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 a Windows XP: Tento příznak není podporován až do Windows Serveru 2012.
FILE_ATTRIBUTE_VIRTUAL
65536 (0x00010000)
Tato hodnota je vyhrazena pro použití systému.
FILE_ATTRIBUTE_NO_SCRUB_DATA
131072 (0x00020000)
Datový proud uživatelů, který nemá číst skener integrity dat na pozadí (scrubber AKA). Při nastavení v adresáři poskytuje pouze dědičnost. Tento příznak se podporuje jenom u prostorů úložiště a svazků ReFS. Není součástí běžného seznamu adresářů.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 a Windows XP: Tento příznak není podporován až do Windows 8 a Windows Serveru 2012.
FILE_ATTRIBUTE_EA
262144 (0x00040000)
Soubor nebo adresář s rozšířenými atributy.

DŮLEŽITÝ: Tato konstanta je určená pouze pro interní použití.
FILE_ATTRIBUTE_PINNED
524288 (0x00080000)
Tento atribut označuje záměr uživatele, že soubor nebo adresář by se měl plně prezentovat místně i v případě, že k němu aktivně nemáte přístup. Tento atribut se používá se softwarem pro správu hierarchického úložiště.
FILE_ATTRIBUTE_UNPINNED
1048576 (0x00100000)
Tento atribut označuje, že soubor nebo adresář by neměly být plně přítomny místně, s výjimkou případů, kdy se aktivně přistupuje. Tento atribut se používá se softwarem pro správu hierarchického úložiště.
FILE_ATTRIBUTE_RECALL_ON_OPEN
262144 (0x00040000)
Tento atribut se zobrazí pouze v třídách výčtu adresáře (FILE_DIRECTORY_INFORMATION, FILE_BOTH_DIR_INFORMATION atd.). Pokud je tento atribut nastaven, znamená to, že soubor nebo adresář nemá v místním systému žádnou fyzickou reprezentaci; položka je virtuální. Otevření položky bude dražší než normální, například to způsobí, že se alespoň některé položky načítají ze vzdáleného úložiště.
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS
4194304 (0x00400000)
Pokud je tento atribut nastavený, znamená to, že soubor nebo adresář nejsou plně k dispozici místně. U souboru, který znamená, že ne všechna data jsou v místním úložišti (např. může být zhuštěná s některými daty stále ve vzdáleném úložišti). U adresáře to znamená, že se část obsahu adresáře virtualizuje z jiného umístění. Čtení souboru / výčet adresáře bude dražší než normální, například způsobí, že se ze vzdáleného úložiště načte alespoň část obsahu souboru nebo adresáře. Tento bit můžou nastavit jenom volající v režimu jádra.

Minifiltry systému souborů pod rozsahem výšky 180000 – 189999 (FSFilter HSM Load Order Group) nesmí vydávat cílené čtení nebo zápisy do mezipaměti souborů, které mají tuto sadu atributů. To může vést k znečištění mezipaměti a potenciálnímu poškození souborů. Další informace najdete v tématu Zpracování zástupných symbolů.

Požadavky

Požadavek Hodnota
Minimální podporovaný klient Windows XP [pouze desktopové aplikace]
Minimální podporovaný server Windows Server 2003 [pouze desktopové aplikace]
Header WinNT.h (včetně Windows.h)

Viz také

Atribut komprese

Vytváření a otevírání souborů

CreateFile

CreateFileTransacted

GetFileAttributes

GetFileAttributesEx

GetFileAttributesTransacted

GetFileInformationByHandle

GetFileInformationByHandleEx

SetFileAttributes

SetFileAttributesTransacted

SetFileInformationByHandle

Průzkumník souborů ve Windows