Partager via


Fonction FltGetFileContext (fltkernel.h)

La routine FltGetFileContext récupère un contexte qui a été défini pour un fichier par un pilote minifilter donné instance.

Syntaxe

NTSTATUS FLTAPI FltGetFileContext(
  [in]  PFLT_INSTANCE Instance,
  [in]  PFILE_OBJECT  FileObject,
  [out] PFLT_CONTEXT  *Context
);

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 file pour le fichier. Ce paramètre est obligatoire et ne peut pas être NULL.

[out] Context

Pointeur vers une variable allouée par l’appelant qui reçoit l’adresse du contexte. Ce paramètre est obligatoire et ne peut pas être défini sur NULL.

Valeur retournée

FltGetFileContext retourne STATUS_SUCCESS lorsqu’il retourne correctement le contexte de fichier demandé. Sinon, elle retourne une valeur NTSTATUS appropriée, telle que l’une des valeurs suivantes :

Code de retour Description
STATUS_NOT_FOUND Aucun contexte correspondant n’a été trouvé sur ce fichier pour l’instant. Par conséquent, FltMgr a défini Context sur NULL_CONTEXT. Il s’agit d’un code d’erreur.
STATUS_NOT_SUPPORTED Les contextes de fichier ne sont pas pris en charge pour ce fichier. Il s’agit d’un code d’erreur.

Remarques

Pour plus d’informations sur les contextes, consultez À propos des contextes de minifiltre.

Un pilote minifilter appelle FltGetFileContext pour récupérer le contexte de fichier qu’il a défini pour un fichier donné.

FltGetFileContext incrémente le nombre de références en fonction du contexte vers lequel pointe le paramètre Context . Lorsque ce pointeur de contexte n’est plus nécessaire, l’appelant doit décrémenter son nombre de références en appelant FltReleaseContext. Ainsi, chaque appel réussi à FltGetFileContext doit être mis en correspondance par un appel ultérieur à FltReleaseContext.

Pour définir un contexte de fichier, appelez FltSetFileContext.

Pour allouer un nouveau contexte, appelez FltAllocateContext.

Pour supprimer un contexte de fichier, appelez FltDeleteFileContext ou FltDeleteContext.

Pour déterminer si les contextes de fichier sont pris en charge pour un fichier donné, appelez FltSupportsFileContexts ou FltSupportsFileContextsEx.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Plateforme cible Universal
En-tête fltkernel.h (inclure Fltkernel.h)
Bibliothèque FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Voir aussi

FLT_CONTEXT_REGISTRATION

FltAllocateContext

FltDeleteContext

FltDeleteFileContext

FltReleaseContext

FltSetFileContext

FltSupportsFileContexts

FltSupportsFileContextsEx