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:
Rufen Sie FltQueryVolumeInformation oder ZwQueryVolumeInformationFile auf, übergeben Sie FileFsAttributeInformation als Wert von FileInformationClass , und übergeben Sie einen vom Aufrufer zugeordneten, FILE_FS_ATTRIBUTE_INFORMATION strukturierten Puffer als Wert von FileInformation.
- Hinweis: Auf CSVFS gibt FileFsAttributeInformationFILE_FS_ATTRIBUTE_INFORMATION für das CSVFS-Dateisystem zurück. Wenn Sie FileFsAttributeInformation für das Dateisystem abfragen möchten, auf dem CSVFS über einen Layer verfügt, sollten Sie FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS verwenden.
Erstellen Sie ein IRP mit hauptfunktionscode IRP_MJ_QUERY_VOLUME_INFORMATION.
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) |