Fonction FltQueryInformationFile (fltkernel.h)

FltQueryInformationFile récupère les informations d’un fichier donné.

Syntaxe

NTSTATUS FLTAPI FltQueryInformationFile(
  [in]            PFLT_INSTANCE          Instance,
  [in]            PFILE_OBJECT           FileObject,
  [out]           PVOID                  FileInformation,
  [in]            ULONG                  Length,
  [in]            FILE_INFORMATION_CLASS FileInformationClass,
  [out, optional] PULONG                 LengthReturned
);

Paramètres

[in] Instance

Pointeur de instance opaque pour l’appelant. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.

[in] FileObject

Pointeur d’objet de fichier pour le fichier. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.

[out] FileInformation

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

[in] Length

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

[in] FileInformationClass

Valeur FILE_INFORMATION_CLASS qui spécifie le type d’informations de fichier à retourner dans la mémoire tampon FileInformation .

[out, optional] LengthReturned

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

Valeur retournée

FltQueryInformationFile retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :

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

Remarques

Un pilote de minifiltre appelle FltQueryInformationFile pour récupérer les informations du fichier identifié par FileObject. Le fichier doit actuellement être ouvert.

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

Les appelants de FltQueryInformationFile doivent être en cours d’exécution à IRQL = PASSIVE_LEVEL et avec les API activés.

NOTE: N’appelez pas cette routine avec une valeur IRP de niveau supérieur non NULL, car cela peut provoquer un blocage système.

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 la section Remarques)

Voir aussi

FILE_INFORMATION_CLASS

FltQueryVolumeInformationFile

FltSetInformationFile

ZwQueryInformationFile