FILE_FS_ATTRIBUTE_INFORMATION-Struktur (ntifs.h)

Die FILE_FS_ATTRIBUTE_INFORMATION-Struktur wird verwendet, um Attributinformationen für ein Dateisystem abzufragen.

Syntax

typedef struct _FILE_FS_ATTRIBUTE_INFORMATION {
  ULONG FileSystemAttributes;
  LONG  MaximumComponentNameLength;
  ULONG FileSystemNameLength;
  WCHAR FileSystemName[1];
} FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION;

Member

FileSystemAttributes

Bitmaske von Flags, die Attribute des angegebenen Dateisystems als kompatible Kombination der folgenden Flags angeben.

Wert Bedeutung
FILE_CASE_SENSITIVE_SEARCH (0x00000001) Das Dateisystem unterstützt Dateinamen, bei dem die Groß-/Kleinschreibung beachtet wird.
FILE_CASE_PRESERVED_NAMES (0x00000002) Das Dateisystem behält die Groß-/Kleinschreibung von Dateinamen bei, wenn es einen Namen auf dem Datenträger platziert.
FILE_UNICODE_ON_DISK (0x00000004) Das Dateisystem unterstützt Unicode in Dateinamen.
FILE_PERSISTENT_ACLS (0x00000008) Das Dateisystem behält Zugriffssteuerungslisten (Access Control Lists, ACLs) bei und erzwingt diese.
FILE_FILE_COMPRESSION (0x00000010) Das Dateisystem unterstützt die dateibasierte Komprimierung. Dieses Flag ist mit dem FILE_VOLUME_IS_COMPRESSED-Flag nicht kompatibel. Dieses Flag wirkt sich nicht darauf aus, wie Daten über das Netzwerk übertragen werden.
FILE_VOLUME_QUOTAS (0x00000020) Das Dateisystem unterstützt Kontingente pro Benutzer.
FILE_SUPPORTS_SPARSE_FILES (0x00000040) Das Dateisystem unterstützt Sparsedateien.
FILE_SUPPORTS_REPARSE_POINTS (0x00000080) Das Dateisystem unterstützt Analysepunkte.
FILE_SUPPORTS_REMOTE_STORAGE (0x00000100) Das Dateisystem unterstützt Remotespeicher.
FILE_RETURNS_CLEANUP_RESULT_INFO (0x00000200) Bei einem erfolgreichen Bereinigungsvorgang gibt das Dateisystem Informationen zurück, die zusätzliche Aktionen beschreiben, die während der Bereinigung ausgeführt werden, z. B. das Löschen der Datei. Dateisystemfilter können diese Informationen in ihrem Rückruf nach der Bereinigung untersuchen.
FILE_SUPPORTS_POSIX_UNLINK_RENAME (0x00000400) Das Dateisystem unterstützt Lösch- und Umbenennungsvorgänge im POSIX-Stil.
FILE_VOLUME_IS_COMPRESSED (0x00008000) Das angegebene Volume ist ein komprimiertes Volume. Dieses Flag ist mit dem flag FILE_FILE_COMPRESSION nicht kompatibel. Dies wirkt sich nicht darauf aus, wie Daten über das Netzwerk übertragen werden.
FILE_SUPPORTS_OBJECT_IDS (0x00010000) Das Dateisystem unterstützt Objektbezeichner.
FILE_SUPPORTS_ENCRYPTION (0x00020000) Das Dateisystem unterstützt die Verschlüsselung.
FILE_NAMED_STREAMS (0x00040000) Das Dateisystem unterstützt benannte Datenströme für eine Datei.
FILE_READ_ONLY_VOLUME (0x00080000) Das angegebene Volume ist schreibgeschützt.
FILE_SEQUENTIAL_WRITE_ONCE (0x00100000) Das angegebene Volume kann nur einmal in geschrieben werden. Der Schreibvorgang muss in sequenzieller Reihenfolge erfolgen.
FILE_SUPPORTS_TRANSACTIONS (0x00200000) Das Dateisystem unterstützt die Transaktionsverarbeitung.
FILE_SUPPORTS_HARD_LINKS (0x00400000) Das Dateisystem unterstützt direkte Links zu anderen Geräten und Partitionen.
FILE_SUPPORTS_EXTENDED_ATTRIBUTES (0x00800000) Das Dateisystem unterstützt erweiterte Attribute (EAs).
FILE_SUPPORTS_OPEN_BY_FILE_ID (0x01000000) Das Dateisystem unterstützt das Öffnen nach Datei-ID.
FILE_SUPPORTS_USN_JOURNAL (0x02000000) Das Dateisystem unterstützt USN-Journale (Update Sequence Number).
FILE_SUPPORTS_INTEGRITY_STREAMS (0x04000000) Das Dateisystem unterstützt Integritätsstreams.
FILE_SUPPORTS_BLOCK_REFCOUNTING (0x08000000) Das Dateisystem unterstützt das Klonen von Blocken, d. h. die gemeinsame Nutzung logischer Cluster zwischen Dateien auf demselben Volume. Das Dateisystem wird bei Schreibvorgängen in freigegebenen Clustern neu zugeordnet.
FILE_SUPPORTS_SPARSE_VDL (0x10000000) Das Dateisystem verfolgt nach, ob jeder Cluster einer Datei gültige Daten (entweder aus expliziten Dateischreibvorgängen oder automatischen Nullen) oder ungültigen Daten enthält (die noch nicht in oder null geschrieben wurden). Dateisysteme, die eine geringe gültige Datenlänge (Sparse Valid Data Length, VDL) verwenden, speichern keine gültige Datenlänge und erfordern nicht, dass gültige Daten innerhalb einer Datei zusammenhängend sind.
FILE_DAX_VOLUME (0x20000000) Das angegebene Volume ist ein DAX-Volume (Direct Access).
FILE_SUPPORTS_GHOSTING (0x40000000) Das Dateisystem unterstützt Ghosting.

MaximumComponentNameLength

Maximale Länge der Dateinamenkomponente in Bytes, die vom angegebenen Dateisystem unterstützt wird. Eine Dateinamekomponente ist der Teil eines Dateinamens zwischen Pfadtrennzeichen (z. B. umgekehrte Schrägstriche).

FileSystemNameLength

Länge des Dateisystemnamens in Byte. Der Wert dieses Felds muss größer als 0 (null) sein.

FileSystemName[1]

Unicode-Feld mit variabler Länge, das den Namen des Dateisystems enthält. Dieses Feld ist nicht NULL-endend und muss als Sequenz von FileSystemNameLength-Bytes behandelt werden.

Hinweise

Diese Informationen können auf eine der folgenden Arten abgefragt werden:

Zum Abfragen dieser Informationen sind keine spezifischen Zugriffsrechte erforderlich. Daher sind diese Informationen verfügbar, solange auf das Volume über ein geöffnetes Handle auf das Volume selbst oder eine Datei oder ein Verzeichnis auf dem Volume zugegriffen wird.

Die Größe des Puffers, der im FileInformation-Parameter an FltQueryVolumeInformation oder ZwQueryVolumeInformationFile übergeben wird, muss mindestens sizeof(FILE_FS_ATTRIBUTE_INFORMATION)sein. Da eine maximale Länge des Dateisystemnamens nicht angenommen werden kann (praktisch beträgt der Grenzwert 2^31 Zeichenpunkte), ist ein zweiter Aufruf einer dieser Routinen erforderlich, sobald FileSystemNameLength bekannt ist.

Diese Struktur muss an einer LONG-Grenze (4 Byte) ausgerichtet werden.

Anforderungen

Anforderung Wert
Header ntifs.h (include Ntifs.h, Fltkernel.h)

Weitere Informationen

ACL

FltQueryVolumeInformation

IRP_MJ_QUERY_VOLUME_INFORMATION

ZwQueryVolumeInformationFile