Partager via


Fonction FltQueryVolumeInformationFile (fltkernel.h)

FltQueryVolumeInformationFile récupère les informations de volume pour un fichier, un répertoire, un périphérique de stockage ou un volume donné.

Syntaxe

NTSTATUS FLTAPI FltQueryVolumeInformationFile(
  [in]            PFLT_INSTANCE        Instance,
  [in]            PFILE_OBJECT         FileObject,
  [out]           PVOID                FsInformation,
  [in]            ULONG                Length,
  [in]            FS_INFORMATION_CLASS FsInformationClass,
  [out, optional] PULONG               LengthReturned
);

Paramètres

[in] Instance

Pointeur instance opaque pour l’appelant. Ce paramètre est obligatoire et ne peut pas être NULL.

[in] FileObject

Pointeur d’objet fichier pour un fichier, un répertoire, un périphérique de stockage ou un volume ouvert. Ce paramètre est obligatoire et ne peut pas être NULL.

[out] FsInformation

Pointeur vers une mémoire tampon allouée à l’appelant qui reçoit des informations sur le fichier. Le paramètre FsInformationClass spécifie le type d’informations. Ce paramètre est obligatoire et ne peut pas être NULL.

[in] Length

Taille, en octets, de la mémoire tampon FsInformation .

[in] FsInformationClass

Type d’informations de volume à retourner. Celui-ci peut avoir l'une des valeurs suivantes :

Value Signification
FileFsAttributeInformation
Retourne une structure FILE_FS_ATTRIBUTE_INFORMATION qui contient des informations d’attribut sur le système de fichiers responsable du volume.
FileFsControlInformation
Retourne une structure FILE_FS_CONTROL_INFORMATION qui contient des informations de contrôle de système de fichiers sur le volume.
FileFsDeviceInformation
Retourne une structure FILE_FS_DEVICE_INFORMATION qui contient des informations sur l’appareil pour le volume.
FileFsDriverPathInformation
Retourne une structure FILE_FS_DRIVER_PATH_INFORMATION qui contient des informations indiquant si un pilote spécifié se trouve dans le chemin d’E/S du volume. L’appelant doit stocker le nom du pilote dans la structure FILE_FS_DRIVER_PATH_INFORMATION avant d’appeler FltQueryVolumeInformationFile.
FileFsFullSizeInformation
Retourne une structure FILE_FS_FULL_SIZE_INFORMATION qui contient des informations sur la quantité totale d’espace disponible sur le volume.
FileFsObjectIdInformation
Retourne une structure FILE_FS_OBJECTID_INFORMATION qui contient des informations d’ID d’objet spécifiques au système de fichiers pour le volume. Notez que ce n’est pas le même que le nom de volume unique (basé sur guid) attribué par le système d’exploitation.
FileFsSizeInformation
Retourne une structure de FILE_FS_SIZE_INFORMATION contenant des informations sur la quantité d’espace sur le volume disponible pour l’utilisateur associé au thread appelant.
FileFsVolumeInformation
Retourne une FILE_FS_VOLUME_INFORMATION qui contient des informations sur le volume, telles que l’étiquette du volume, le numéro de série et l’heure de création.
FileFsSectorSizeInformation
Retourne une structure FILE_FS_SECTOR_SIZE_INFORMATION qui contient des informations sur les tailles de secteur physique et logique d’un volume.

[out, optional] LengthReturned

Pointeur vers une variable allouée par l’appelant qui reçoit la taille, en octets, des informations retournées dans la mémoire tampon FsInformation . Ce paramètre est facultatif et peut être NULL.

Valeur retournée

FltQueryVolumeInformationFile retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, telle que la suivante :

Code de retour Description
STATUS_VOLUME_DISMOUNTED
Le volume n’est pas monté actuellement. Il s’agit d’un code d’erreur.

Remarques

FltQueryVolumeInformationFile récupère les informations de volume pour un fichier, un répertoire, un périphérique de stockage ou un volume donné.

Si l’objet FileObject représente un appareil direct ouvert, seul FileFsDeviceInformation peut être spécifié comme valeur de FsInformationClass.

FltQueryVolumeInformationFile retourne zéro dans n’importe quel membre d’une structure FILE_FS_XXX_INFORMATION qui n’est pas prise en charge par un système de fichiers particulier.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête fltkernel.h (inclure Fltkernel.h)
Bibliothèque FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

Voir aussi

FILE_FS_ATTRIBUTE_INFORMATION

FILE_FS_CONTROL_INFORMATION

FILE_FS_DEVICE_INFORMATION

FILE_FS_DRIVER_PATH_INFORMATION

FILE_FS_FULL_SIZE_INFORMATION

FILE_FS_OBJECTID_INFORMATION

FILE_FS_SECTOR_SIZE_INFORMATION

FILE_FS_SIZE_INFORMATION

FILE_FS_VOLUME_INFORMATION

FltSetInformationFile