structure FILE_FS_ATTRIBUTE_INFORMATION (ntifs.h)
La structure FILE_FS_ATTRIBUTE_INFORMATION est utilisée pour interroger les informations d’attribut pour un système de fichiers.
Syntaxe
typedef struct _FILE_FS_ATTRIBUTE_INFORMATION {
ULONG FileSystemAttributes;
LONG MaximumComponentNameLength;
ULONG FileSystemNameLength;
WCHAR FileSystemName[1];
} FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION;
Membres
FileSystemAttributes
Masque de bits des indicateurs spécifiant des attributs du système de fichiers spécifié, en tant que combinaison compatible des indicateurs suivants.
Valeur | Signification |
---|---|
FILE_CASE_SENSITIVE_SEARCH (0x00000001) | Le système de fichiers prend en charge les noms de fichiers respectant la casse. |
FILE_CASE_PRESERVED_NAMES (0x00000002) | Le système de fichiers conserve le cas des noms de fichiers lorsqu’il place un nom sur le disque. |
FILE_UNICODE_ON_DISK (0x00000004) | Le système de fichiers prend en charge Unicode dans les noms de fichiers. |
FILE_PERSISTENT_ACLS (0x00000008) | Le système de fichiers conserve et applique des listes de contrôle d’accès (ACL). |
FILE_FILE_COMPRESSION (0x00000010) | Le système de fichiers prend en charge la compression basée sur les fichiers. Cet indicateur n’est pas compatible avec l’indicateur FILE_VOLUME_IS_COMPRESSED. Cet indicateur n’affecte pas la façon dont les données sont transférées sur le réseau. |
FILE_VOLUME_QUOTAS (0x00000020) | Le système de fichiers prend en charge les quotas par utilisateur. |
FILE_SUPPORTS_SPARSE_FILES (0x00000040) | Le système de fichiers prend en charge les fichiers partiellement alloués. |
FILE_SUPPORTS_REPARSE_POINTS (0x00000080) | Le système de fichiers prend en charge points d’analyse. |
FILE_SUPPORTS_REMOTE_STORAGE (0x00000100) | Le système de fichiers prend en charge le stockage distant. |
FILE_RETURNS_CLEANUP_RESULT_INFO (0x00000200) | Lors d’une opération de nettoyage réussie, le système de fichiers retourne des informations qui décrivent des actions supplémentaires effectuées pendant le nettoyage, telles que la suppression du fichier. Les filtres de système de fichiers peuvent examiner ces informations dans leur rappel post-nettoyage. |
FILE_SUPPORTS_POSIX_UNLINK_RENAME (0x00000400) | Le système de fichiers prend en charge les opérations de suppression et de renommage de style POSIX. |
FILE_VOLUME_IS_COMPRESSED (0x00008000) | Le volume spécifié est un volume compressé. Cet indicateur n’est pas compatible avec l’indicateur FILE_FILE_COMPRESSION. Cela n’affecte pas la façon dont les données sont transférées sur le réseau. |
FILE_SUPPORTS_OBJECT_IDS (0x00010000) | Le système de fichiers prend en charge les identificateurs d’objet. |
FILE_SUPPORTS_ENCRYPTION (0x00020000) | Le système de fichiers prend en charge le chiffrement. |
FILE_NAMED_STREAMS (0x00040000) | Le système de fichiers prend en charge les flux de données nommés pour un fichier. |
FILE_READ_ONLY_VOLUME (0x00080000) | Le volume spécifié est en lecture seule. |
FILE_SEQUENTIAL_WRITE_ONCE (0x00100000) | Le volume spécifié ne peut être écrit qu’une seule fois. L’écriture doit être effectuée dans l’ordre séquentiel. |
FILE_SUPPORTS_TRANSACTIONS (0x00200000) | Le système de fichiers prend en charge de traitement des transactions. |
FILE_SUPPORTS_HARD_LINKS (0x00400000) | Le système de fichiers prend en charge les liens directs vers d’autres appareils et partitions. |
FILE_SUPPORTS_EXTENDED_ATTRIBUTES (0x00800000) | Le système de fichiers prend en charge les attributs étendus (AE). |
FILE_SUPPORTS_OPEN_BY_FILE_ID (0x01000000) | Le système de fichiers prend en charge l’ouverture par ID de fichier. |
FILE_SUPPORTS_USN_JOURNAL (0x02000000) | Le système de fichiers prend en charge les journaux USN (Update Sequence Number). |
FILE_SUPPORTS_INTEGRITY_STREAMS (0x04000000) | Le système de fichiers prend en charge les flux d’intégrité . |
FILE_SUPPORTS_BLOCK_REFCOUNTING (0x08000000) | Le système de fichiers prend en charge clonage de bloc, c’est-à-dire le partage de clusters logiques entre les fichiers sur le même volume. Le système de fichiers réalloue les écritures dans des clusters partagés. |
FILE_SUPPORTS_SPARSE_VDL (0x10000000) | Le système de fichiers suit si chaque cluster d’un fichier contient des données valides (à partir d’écritures de fichiers explicites ou de zéros automatiques) ou de données non valides (n’a pas encore été écrit dans ou zéro). Les systèmes de fichiers qui utilisent une longueur de données valides (VDL) ne stockent pas une longueur de données valide et ne nécessitent pas que les données valides soient contiguës dans un fichier. |
FILE_DAX_VOLUME (0x20000000) | Le volume spécifié est un volume d’accès direct (DAX). |
FILE_SUPPORTS_GHOSTING (0x40000000) | Le système de fichiers prend en charge le fantôme. |
MaximumComponentNameLength
Longueur maximale du composant de nom de fichier prise en charge par le système de fichiers spécifié, en caractères. Un composant de nom de fichier est cette partie d’un nom de fichier entre les caractères séparateurs de chemin d’accès (tels que les barres obliques inverses).
FileSystemNameLength
Longueur, en octets, du nom du système de fichiers. La valeur de ce champ doit être supérieure à zéro.
FileSystemName[1]
Champ Unicode de longueur variable contenant le nom du système de fichiers. Ce champ n’est pas terminé par null et doit être géré sous la forme d’une séquence d'FileSystemNameLength octets.
Remarques
Ces informations peuvent être interrogées de l’une des manières suivantes :
Appelez FltQueryVolumeInformation ou ZwQueryVolumeInformationFile, en passant FileFsAttributeInformation comme valeur de FileInformationClass et en passant une mémoire tampon FILE_FS_ATTRIBUTE_INFORMATION-structurée FILE_FS_ATTRIBUTE_INFORMATION-structurée comme valeur de FileInformation.
- Remarque : sur CSVFS, FileFsAttributeInformation retourne FILE_FS_ATTRIBUTE_INFORMATION pour le système de fichiers CSVFS. Si vous souhaitez interroger FileFsAttributeInformation pour que le système de fichiers CSVFS soit superposé, vous devez utiliser FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS.
Créez un IRP avec le code de fonction principal IRP_MJ_QUERY_VOLUME_INFORMATION.
Aucun droit d’accès spécifique n’est requis pour interroger ces informations. Ainsi, ces informations sont disponibles tant que le volume est accessible via un handle ouvert au volume lui-même, ou à un fichier ou répertoire sur le volume.
La taille de la mémoire tampon passée dans le paramètre FileInformation
Cette structure doit être alignée sur une limite LONG (4 octets).
Exigences
Exigence | Valeur |
---|---|
d’en-tête | ntifs.h (include Ntifs.h, Fltkernel.h) |