Freigeben über


Dateiattributskonstanten

Dateiattribute sind Metadatenwerte, die vom Dateisystem auf dem Datenträger gespeichert werden und vom System verwendet werden und entwicklern über verschiedene Datei-E/A-APIs zur Verfügung stehen. Eine Liste verwandter APIs und Themen finden Sie im Abschnitt Siehe auch .

Beispiel

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

Beispiel aus einem klassischen Windows-Beispiel auf GitHub.

Konstante/Wert BESCHREIBUNG
FILE_ATTRIBUTE_READONLY
1 (0x00000001)
Eine datei, die schreibgeschützt ist. Anwendungen können die Datei lesen, aber nicht in sie schreiben oder löschen. Dieses Attribut wird in Verzeichnissen nicht berücksichtigt. Weitere Informationen finden Sie unter Sie können die schreibgeschützten oder Systemattribute von Ordnern in Windows Server 2003, Windows XP, Windows Vista oder Windows 7 nicht anzeigen oder ändern.
FILE_ATTRIBUTE_HIDDEN
2 (0x00000002)
Die Datei oder das Verzeichnis ist ausgeblendet. Es ist nicht in einer normalen Verzeichnisliste enthalten.
FILE_ATTRIBUTE_SYSTEM
4 (0x00000004)
Eine Datei oder ein Verzeichnis, von dem das Betriebssystem einen Teil oder ausschließlich verwendet.
FILE_ATTRIBUTE_DIRECTORY
16 (0x00000010)
Das Handle, das ein Verzeichnis identifiziert.
FILE_ATTRIBUTE_ARCHIVE
32 (0x00000020)
Eine Datei oder ein Verzeichnis, bei dem es sich um eine Archivdatei oder ein Verzeichnis handelt. Anwendungen verwenden dieses Attribut in der Regel, um Dateien für die Sicherung oder Entfernung zu markieren.
FILE_ATTRIBUTE_DEVICE
64 (0x00000040)
Dieser Wert ist für die Systemverwendung reserviert.
FILE_ATTRIBUTE_NORMAL
128 (0x00000080)
Eine Datei, für die keine anderen Attribute festgelegt sind. Dieses Attribut ist nur gültig, wenn es allein verwendet wird.
FILE_ATTRIBUTE_TEMPORARY
256 (0x00000100)
Eine Datei, die für die temporäre Speicherung verwendet wird. Dateisysteme vermeiden das Zurückschreiben von Daten in den Massenspeicher, wenn genügend Cachespeicher verfügbar ist, da in der Regel eine Anwendung eine temporäre Datei löscht, nachdem das Handle geschlossen wurde. In diesem Szenario kann das System das Schreiben der Daten vollständig vermeiden. Andernfalls werden die Daten geschrieben, nachdem das Handle geschlossen wurde.
FILE_ATTRIBUTE_SPARSE_FILE
512 (0x00000200)
Eine Datei, die eine Sparsedatei ist.
FILE_ATTRIBUTE_REPARSE_POINT
1024 (0x00000400)
Eine Datei oder ein Verzeichnis mit einem zugeordneten Analysepunkt oder einer Datei, die eine symbolische Verknüpfung darstellt.
FILE_ATTRIBUTE_COMPRESSED
2048 (0x00000800)
Eine Datei oder ein Verzeichnis, das komprimiert ist. Bei einer Datei werden alle Daten in der Datei komprimiert. Für ein Verzeichnis ist die Komprimierung die Standardeinstellung für neu erstellte Dateien und Unterverzeichnisse.
FILE_ATTRIBUTE_OFFLINE
4096 (0x00001000)
Die Daten einer Datei sind nicht sofort verfügbar. Dieses Attribut gibt an, dass die Dateidaten physisch in den Offlinespeicher verschoben werden. Dieses Attribut wird von Remotespeicher verwendet, bei der es sich um die hierarchische Speicherverwaltungssoftware handelt. Anwendungen sollten dieses Attribut nicht willkürlich ändern.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192 (0x00002000)
Die Datei oder das Verzeichnis darf nicht vom Inhaltsindizierungsdienst indiziert werden.
FILE_ATTRIBUTE_ENCRYPTED
16384 (0x00004000)
Eine verschlüsselte Datei oder ein Verzeichnis. Bei einer Datei werden alle Datenströme in der Datei verschlüsselt. Für ein Verzeichnis ist die Verschlüsselung die Standardeinstellung für neu erstellte Dateien und Unterverzeichnisse.
FILE_ATTRIBUTE_INTEGRITY_STREAM
32768 (0x00008000)
Der Verzeichnis- oder Benutzerdatenstrom wird mit Integrität konfiguriert (nur auf ReFS-Volumes unterstützt). Es ist nicht in einer normalen Verzeichnisliste enthalten. Die Integritätseinstellung bleibt bei der Datei erhalten, wenn sie umbenannt wird. Wenn eine Datei kopiert wird, ist die Integrität für die Zieldatei festgelegt, wenn entweder die Quelldatei oder das Zielverzeichnis die Integrität festgelegt hat.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird erst Windows Server 2012 unterstützt.
FILE_ATTRIBUTE_VIRTUAL
65536 (0x00010000)
Dieser Wert ist für die Systemverwendung reserviert.
FILE_ATTRIBUTE_NO_SCRUB_DATA
131072 (0x00020000)
Der Benutzerdatenstrom, der nicht vom Hintergrunddatenintegritätsscanner (AKA Scrubber) gelesen werden soll. Wenn sie für ein Verzeichnis festgelegt ist, werden nur Vererbungen bereitgestellt. Dieses Flag wird nur auf Speicherplätze- und ReFS-Volumes unterstützt. Es ist nicht in einer normalen Verzeichnisliste enthalten.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird erst unterstützt, wenn Windows 8 und Windows Server 2012.
FILE_ATTRIBUTE_EA
262144 (0x00040000)
Eine Datei oder ein Verzeichnis mit erweiterten Attributen.

WICHTIG: Diese Konstante ist nur für die interne Verwendung vorgesehen.
FILE_ATTRIBUTE_PINNED
524288 (0x00080000)
Dieses Attribut gibt die Benutzerabsicht an, dass die Datei oder das Verzeichnis vollständig lokal vorhanden bleiben soll, auch wenn nicht aktiv darauf zugegriffen wird. Dieses Attribut ist für die Verwendung mit hierarchischer Speicherverwaltungssoftware vorgesehen.
FILE_ATTRIBUTE_UNPINNED
1048576 (0x00100000)
Dieses Attribut gibt an, dass die Datei oder das Verzeichnis nicht vollständig lokal vorhanden bleiben sollte, außer wenn aktiv darauf zugegriffen wird. Dieses Attribut ist für die Verwendung mit hierarchischer Speicherverwaltungssoftware vorgesehen.
FILE_ATTRIBUTE_RECALL_ON_OPEN
262144 (0x00040000)
Dieses Attribut wird nur in Verzeichnisaufzählungsklassen (FILE_DIRECTORY_INFORMATION, FILE_BOTH_DIR_INFORMATION usw.) angezeigt. Wenn dieses Attribut festgelegt ist, bedeutet dies, dass die Datei oder das Verzeichnis keine physische Darstellung auf dem lokalen System aufweist. das Element ist virtuell. Das Öffnen des Elements ist teurer als normal, z. B. wird es dazu führen, dass mindestens ein Teil davon aus einem Remotespeicher abgerufen wird.
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS
4194304 (0x00400000)
Wenn dieses Attribut festgelegt ist, bedeutet dies, dass die Datei oder das Verzeichnis nicht vollständig lokal vorhanden ist. Für eine Datei bedeutet dies, dass sich nicht alle Daten im lokalen Speicher befinden (z. B. kann es sich bei einigen Daten im Remotespeicher um eine geringe Anzahl von Daten handelt). Für ein Verzeichnis bedeutet dies, dass ein Teil des Verzeichnisinhalts von einem anderen Speicherort virtualisiert wird. Das Lesen der Datei bzw. das Aufzählen des Verzeichnisses ist teurer als normal, z. B. führt dies dazu, dass zumindest ein Teil des Datei-/Verzeichnisinhalts aus einem Remotespeicher abgerufen wird. Nur Aufrufer im Kernelmodus können dieses Bit festlegen.

Dateisystem-Minifilter unter 180000 – 189999 Höhenbereich (FSFilter HSM Load Order Group) dürfen keine gezielten zwischengespeicherten Lese- oder Schreibvorgänge für Dateien ausgeben, für die dieses Attribut festgelegt ist. Dies kann zu Cacheverschmutzung und potenzieller Dateibeschädigung führen. Weitere Informationen finden Sie unter Behandeln von Platzhaltern.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Header WinNT.h (windows.h einschließen)

Siehe auch

Komprimierungsattribut

Erstellen und Öffnen von Dateien

CreateFile

CreateFileTransacted

GetFileAttributes

GetFileAttributesEx

GetFileAttributesTransacted

GetFileInformationByHandle

GetFileInformationByHandleEx

SetFileAttributes

SetFileAttributesTransacted

SetFileInformationByHandle