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