Delen via


Constanten van bestandskenmerken

Bestandskenmerkconstanten definiëren metagegevenswaarden die zijn opgeslagen door het bestandssysteem op schijf en worden gebruikt door het systeem en beschikbaar voor ontwikkelaars via verschillende I/O-API's voor bestanden. Met deze constanten kunnen ontwikkelaars bestandseigenschappen controleren en instellen, zoals alleen-lezen, verborgen of gecomprimeerde kenmerken. Zie de sectie Zie ook voor een lijst met verwante API's en onderwerpen.

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

Voorbeeld uit een klassiek Windows-voorbeeld op GitHub.

Constante/waarde Description
FILE_ATTRIBUTE_READONLY
1 (0x00000001)
Een bestand dat het kenmerk Alleen-lezen heeft. Toepassingen kunnen het bestand lezen, maar kunnen er niet naar schrijven of verwijderen. Dit kenmerk wordt niet gehonoreerd in directory's.
FILE_ATTRIBUTE_HIDDEN
2 (0x00000002)
Het bestand of de map is verborgen. Het is niet opgenomen in een gewone lijst met mappen.
FILE_ATTRIBUTE_SYSTEM
4 (0x00000004)
Een bestand of map waarvan het besturingssysteem een deel van of uitsluitend gebruikt.
FILE_ATTRIBUTE_DIRECTORY
16 (0x00000010)
De ingang die een map identificeert.
FILE_ATTRIBUTE_ARCHIVE
32 (0x00000020)
Een bestand of map die een archiefbestand of map is. Toepassingen gebruiken dit kenmerk doorgaans om bestanden te markeren voor back-up of verwijdering.
FILE_ATTRIBUTE_DEVICE
64 (0x00000040)
Deze waarde is gereserveerd voor systeemgebruik.
FILE_ATTRIBUTE_NORMAL
128 (0x00000080)
Een bestand dat geen andere kenmerken heeft ingesteld. Dit kenmerk is alleen geldig wanneer dit alleen wordt gebruikt.
FILE_ATTRIBUTE_TEMPORARY
256 (0x00000100)
Een bestand dat wordt gebruikt voor tijdelijke opslag. Bestandssystemen voorkomen dat gegevens terug naar massaopslag worden geschreven als er voldoende cachegeheugen beschikbaar is, omdat een toepassing meestal een tijdelijk bestand verwijdert nadat de ingang is gesloten. In dat scenario kan het systeem het schrijven van de gegevens volledig vermijden. Anders worden de gegevens geschreven nadat de ingang is gesloten.
FILE_ATTRIBUTE_SPARSE_FILE
512 (0x00000200)
Een bestand dat een sparse-bestand is.
FILE_ATTRIBUTE_REPARSE_POINT
1024 (0x00000400)
Een bestand of map met een gekoppeld reparsepunt of een bestand dat een symbolische koppeling is.
FILE_ATTRIBUTE_COMPRESSED
2048 (0x00000800)
Een bestand of map die is gecomprimeerd. Voor een bestand worden alle gegevens in het bestand gecomprimeerd. Voor een map is compressie de standaardinstelling voor nieuw gemaakte bestanden en submappen.
FILE_ATTRIBUTE_OFFLINE
4096 (0x00001000)
De gegevens van een bestand zijn niet onmiddellijk beschikbaar. Dit kenmerk geeft aan dat de bestandsgegevens fysiek naar offlineopslag worden verplaatst. Dit kenmerk wordt gebruikt door Remote Storage, de hiërarchische opslagbeheersoftware. Toepassingen mogen dit kenmerk niet willekeurig wijzigen.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192 (0x00002000)
Het bestand of de map moet niet worden geïndexeerd door de inhoudsindexeringsservice.
FILE_ATTRIBUTE_ENCRYPTED
16384 (0x00004000)
Een bestand of map die is versleuteld. Voor een bestand worden alle gegevensstromen in het bestand versleuteld. Voor een map is versleuteling de standaardinstelling voor nieuw gemaakte bestanden en submappen.
FILE_ATTRIBUTE_INTEGRITY_STREAM
32768 (0x00008000)
De directory- of gebruikersgegevensstroom is geconfigureerd met integriteit (alleen ondersteund op ReFS-volumes). Het is niet opgenomen in een gewone lijst met mappen. De integriteitsinstelling blijft behouden met het bestand als de naam ervan wordt gewijzigd. Als een bestand wordt gekopieerd, heeft het doelbestand integriteit ingesteld als het bronbestand of de doelmap integriteitsset heeft.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 en Windows XP: Deze vlag wordt pas ondersteund als Windows Server 2012.
FILE_ATTRIBUTE_VIRTUAL
65536 (0x00010000)
Deze waarde is gereserveerd voor systeemgebruik.
FILE_ATTRIBUTE_NO_SCRUB_DATA
131072 (0x00020000)
De gebruikersgegevensstroom wordt niet gelezen door de scanner voor achtergrondgegevensintegriteit (AKA scrubber). Wanneer deze is ingesteld op een map, biedt deze alleen overname. Deze vlag wordt alleen ondersteund op Opslagruimten- en ReFS-volumes. Het is niet opgenomen in een gewone lijst met mappen.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 en Windows XP: Deze vlag wordt pas ondersteund als Windows 8 en Windows Server 2012.
FILE_ATTRIBUTE_EA
262144 (0x00040000)
Een bestand of map met uitgebreide kenmerken.

BELANGRIJK: Deze constante is alleen voor intern gebruik.
FILE_ATTRIBUTE_PINNED
524288 (0x00080000)
Dit kenmerk geeft aan dat het bestand of de map volledig lokaal moet worden bewaard, zelfs wanneer het niet actief wordt geopend. Dit kenmerk is bedoeld voor gebruik met hiërarchische opslagbeheersoftware.
FILE_ATTRIBUTE_UNPINNED
1048576 (0x00100000)
Dit kenmerk geeft aan dat het bestand of de map niet volledig lokaal moet worden bewaard, behalve wanneer het actief wordt geopend. Dit kenmerk is bedoeld voor gebruik met hiërarchische opslagbeheersoftware.
FILE_ATTRIBUTE_RECALL_ON_OPEN
262144 (0x00040000)
Dit kenmerk wordt alleen weergegeven in de klassen directory-opsomming (FILE_DIRECTORY_INFORMATION, FILE_BOTH_DIR_INFORMATION, enzovoort). Wanneer dit kenmerk is ingesteld, betekent dit dat het bestand of de map geen fysieke representatie heeft op het lokale systeem; het item virtueel is. Het openen van het item is duurder dan normaal, bijvoorbeeld omdat er ten minste een deel van het item uit een externe winkel wordt opgehaald.
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS
4194304 (0x00400000)
Wanneer dit kenmerk is ingesteld, betekent dit dat het bestand of de map niet volledig lokaal aanwezig is. Voor een bestand dat betekent dat niet alle gegevens zich in de lokale opslag bevinden (dit kan bijvoorbeeld worden geparseerd met sommige gegevens die zich nog in externe opslag bevinden). Voor een map betekent dit dat sommige inhoud van de map wordt gevirtualiseerd vanaf een andere locatie. Het lezen van het bestand/het inventariseren van de map is duurder dan normaal, bijvoorbeeld omdat er ten minste een deel van de bestands-/mapinhoud uit een externe opslag wordt opgehaald. Alleen bellers in de kernelmodus kunnen deze bit instellen.

Minifilters van het bestandssysteem onder de 180000 - 189999 hoogtebereik (FSFilter HSM Load Order Group) mogen geen gerichte lees- of schrijfbewerkingen in de cache uitgeven aan bestanden waarvoor deze kenmerkset is ingesteld. Dit kan leiden tot cachevervuiling en mogelijke bestandsbeschadiging. Zie Tijdelijke aanduidingen verwerken voor meer informatie.

Requirements

Requirement Waarde
Minimaal ondersteunde client Windows XP [alleen desktop-apps]
Minimaal ondersteunde server Windows Server 2003 [alleen desktop-apps]
Header WinNT.h (inclusief Windows.h)

Zie ook

Compressiekenmerk

Bestanden maken en openen

CreateFile

CreateFileTransacted

GetFileAttributes

GetFileAttributesEx

GetFileAttributesTransacted

GetFileInformationByHandle

GetFileInformationByHandleEx

SetFileAttributes

SetFileAttributesTransacted

SetFileInformationByHandle

Verkenner in Windows