Partager via


FltQueryInformationFile, fonction (fltkernel.h)

FltQueryInformationFile récupère des informations pour un fichier donné.

Syntax

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
);

Parameters

[in] Instance

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

[in] FileObject

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

[out] FileInformation

Pointeur vers une mémoire tampon allouée par 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 être 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 par 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.

Return value

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

Return code 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.

Remarks

Un pilote minifilter appelle FltQueryInformationFile pour récupérer des informations pour le fichier identifié par FileObject. Le fichier doit actuellement être ouvert.

FltQueryInformationFile retourne zéro dans un 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 s’exécuter à IRQL = PASSIVE_LEVEL et avec des API de noyau spéciales activées.

REMARQUE : N’appelez pas cette routine avec une valeur IRP de niveau supérieur non NULL, car cela peut entraîner un interblocage système.

Requirements

Requirement Value
Target Platform Universal
Header fltkernel.h (inclure Fltkernel.h)
Library FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL (voir la section Remarques)

See also

FILE_INFORMATION_CLASS

FltQueryVolumeInformationFile

FltSetInformationFile

ZwQueryInformationFile