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 |
---|---|
|
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. |
|
Die Datei oder das Verzeichnis ist ausgeblendet. Es ist nicht in einer normalen Verzeichnisliste enthalten. |
|
Eine Datei oder ein Verzeichnis, von dem das Betriebssystem einen Teil oder ausschließlich verwendet. |
|
Das Handle, das ein Verzeichnis identifiziert. |
|
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. |
|
Dieser Wert ist für die Systemverwendung reserviert. |
|
Eine Datei, für die keine anderen Attribute festgelegt sind. Dieses Attribut ist nur gültig, wenn es allein verwendet wird. |
|
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. |
|
Eine Datei, die eine Sparsedatei ist. |
|
Eine Datei oder ein Verzeichnis mit einem zugeordneten Analysepunkt oder einer Datei, die eine symbolische Verknüpfung darstellt. |
|
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. |
|
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. |
|
Die Datei oder das Verzeichnis darf nicht vom Inhaltsindizierungsdienst indiziert werden. |
|
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. |
|
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. |
|
Dieser Wert ist für die Systemverwendung reserviert. |
|
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. |
|
Eine Datei oder ein Verzeichnis mit erweiterten Attributen. WICHTIG: Diese Konstante ist nur für die interne Verwendung vorgesehen. |
|
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. |
|
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. |
|
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. |
|
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) |