Dateiattributskonstanten

Dateiattribute sind Metadatenwerte, die vom Dateisystem auf dem Datenträger gespeichert werden und vom System verwendet werden und für Entwickler über verschiedene Datei-I/O-APIs verfügbar sind. 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_ARCHIVE
32 (0x20)
Eine Datei oder ein Verzeichnis, das eine Archivdatei oder ein Verzeichnis ist. Anwendungen verwenden dieses Attribut in der Regel, um Dateien zum Sichern oder Entfernen zu markieren.
FILE_ATTRIBUTE_COMPRESSED
2048 (0x800)
Eine Datei oder ein Verzeichnis, das komprimiert wird. Für eine Datei werden alle Daten in der Datei komprimiert. Bei einem Verzeichnis ist die Komprimierung die Standardeinstellung für neu erstellte Dateien und Unterverzeichnisse.
FILE_ATTRIBUTE_DEVICE
64 (0x40)
Dieser Wert ist für die Systemverwendung reserviert.
FILE_ATTRIBUTE_DIRECTORY
16 (0x10)
Das Handle, das ein Verzeichnis identifiziert.
FILE_ATTRIBUTE_ENCRYPTED
16384 (0x4000)
Eine Datei oder ein Verzeichnis, das verschlüsselt ist. Für eine Datei werden alle Datenströme in der Datei verschlüsselt. Bei einem Verzeichnis ist die Verschlüsselung die Standardeinstellung für neu erstellte Dateien und Unterverzeichnisse.
FILE_ATTRIBUTE_HIDDEN
2 (0x2)
Die Datei oder das Verzeichnis ist ausgeblendet. Sie ist nicht in einem normalen Verzeichniseintrag enthalten.
FILE_ATTRIBUTE_INTEGRITY_STREAM
32768 (0x8000)
Der Verzeichnis- oder Benutzerdatenstrom ist mit Integrität konfiguriert (nur für ReFS-Volumes unterstützt). Sie ist nicht in einem normalen Verzeichniseintrag enthalten. Die Integritätseinstellung bleibt bei der Datei erhalten, wenn sie umbenannt wird. Wenn eine Datei kopiert wird, hat die Zieldatei integritätssatz, wenn entweder die Quelldatei oder das Zielverzeichnis integritätssatz festgelegt ist.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird erst unter Windows Server 2012 unterstützt.
FILE_ATTRIBUTE_NORMAL
128 (0x80)
Eine Datei, die keine anderen Attribute festgelegt hat. Dieses Attribut ist nur gültig, wenn es allein verwendet wird.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192 (0x2000)
Die Datei oder das Verzeichnis darf nicht vom Inhaltsindexdienst indiziert werden.
FILE_ATTRIBUTE_NO_SCRUB_DATA
131072 (0x20000)
Der Datenstrom des Benutzers, der nicht vom Hintergrunddatenintegritätsscanner (AKA-Scrubber) gelesen werden soll. Wenn sie für ein Verzeichnis festgelegt ist, wird nur Vererbung bereitgestellt. Dieses Kennzeichen wird nur für Speicherplätze und ReFS-Volumes unterstützt. Sie ist nicht in einem normalen Verzeichniseintrag enthalten.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Kennzeichen wird erst unterstützt, wenn Windows 8 und Windows Server 2012 vorhanden sind.
FILE_ATTRIBUTE_OFFLINE
4096 (0x1000)
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, was die hierarchische Speicherverwaltungssoftware ist. Anwendungen sollten dieses Attribut nicht willkürlich ändern.
FILE_ATTRIBUTE_READONLY
1 (0x1)
Eine Datei, die schreibgeschützt ist. Anwendungen können die Datei lesen, aber nicht in die Datei schreiben oder löschen. Dieses Attribut wird in Verzeichnissen nicht berücksichtigt. Weitere Informationen finden Sie unter "Schreibgeschützt" oder "Systemattribute von Ordnern in Windows Server 2003", in Windows XP, in Windows Vista oder in Windows 7.
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS
4194304 (0x400000)
Wenn dieses Attribut festgelegt wird, 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 auf dem lokalen Speicher befinden (z. B. kann es mit einigen Daten, die noch im Remotespeicher vorhanden sind) verschont sein. Für ein Verzeichnis bedeutet dies, dass einige der Verzeichnisinhalte von einem anderen Speicherort virtualisiert werden. Das Lesen der Datei /Aufzählung des Verzeichnisses ist teurer als normal, z. B. dies bewirkt, dass mindestens einige der Datei-/Verzeichnisinhalte aus einem Remotespeicher abgerufen werden. Nur Kernelmodus-Aufrufer können dieses Bit festlegen.
FILE_ATTRIBUTE_RECALL_ON_OPEN
262144 (0x40000)
Dieses Attribut wird nur in Verzeichnisaufzählungsklassen (FILE_DIRECTORY_INFORMATION, FILE_BOTH_DIR_INFORMATION usw.) angezeigt. Wenn dieses Attribut festgelegt wird, bedeutet dies, dass die Datei oder das Verzeichnis keine physische Darstellung im lokalen System aufweist; das Element ist virtual. Das Öffnen des Elements ist teurer als normal, z. B. wird mindestens ein Teil davon aus einem Remotespeicher abgerufen.
FILE_ATTRIBUTE_REPARSE_POINT
1024 (0x400)
Eine Datei oder ein Verzeichnis mit einem zugeordneten Analysepunkt oder einer Datei, die einen symbolischen Link darstellt.
FILE_ATTRIBUTE_SPARSE_FILE
512 (0x200)
Eine Datei, die eine sparse Datei ist.
FILE_ATTRIBUTE_SYSTEM
4 (0x4)
Eine Datei oder ein Verzeichnis, von dem das Betriebssystem einen Teil oder ausschließlich verwendet.
FILE_ATTRIBUTE_TEMPORARY
256 (0x100)
Eine Datei, die für temporären Speicher verwendet wird. Dateisysteme vermeiden das Schreiben von Daten in den Massenspeicher, wenn ausreichend 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 der Handle geschlossen wurde.
FILE_ATTRIBUTE_VIRTUAL
65536 (0x10000)
Dieser Wert ist für die Systemverwendung reserviert.
FILE_ATTRIBUTE_PINNED
524288 (0x80000)
Dieses Attribut gibt an, dass die Datei oder das Verzeichnis lokal gespeichert werden soll, auch wenn nicht aktiv darauf zugegriffen wird. Dieses Attribut dient zur Verwendung mit hierarchischer Speicherverwaltungssoftware.
FILE_ATTRIBUTE_UNPINNED
1048576 (0x100000)
Dieses Attribut gibt an, dass die Datei oder das Verzeichnis nicht lokal vorhanden sein sollte, außer wenn aktiv darauf zugegriffen wird. Dieses Attribut dient zur Verwendung mit hierarchischer Speicherverwaltungssoftware.

Anforderungen

Anforderung value
Unterstützte Mindestversion (Client)
Windows XP [Nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2003 [Nur Desktop-Apps]
Header
WinNT.h (enthalten Windows.h)

Weitere Informationen

Komprimierungsattribute

Erstellen und Öffnen von Dateien

CreateFile

CreateFileTransacted

GetFileAttributes

GetFileAttributesEx

GetFileAttributesTransacted

GetFileInformationByHandle

GetFileInformationByHandleEx

SetFileAttributes

SetFileAttributesTransacted

SetFileInformationByHandle