Partager via


FltDeleteFileContext, fonction (fltkernel.h)

La routine FltDeleteFileContext récupère et supprime un contexte de fichier défini par un pilote minifilter donné pour un fichier donné.

Syntaxe

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

Paramètres

[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] OldContext

Pointeur vers une variable allouée par l’appelant qui reçoit l’adresse du contexte supprimé. Si aucun contexte correspondant n’est trouvé, cette variable reçoit NULL_CONTEXT. Ce paramètre est facultatif et peut être NULL. Pour plus d’informations sur ce paramètre, consultez la section Remarques suivante.

Valeur de retour

FltDeleteFileContext retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, comme l’une des opérations suivantes :

Retourner le code Description
STATUS_NOT_FOUND Aucun contexte correspondant n’a été trouvé. 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 minifilter.

Étant donné que les contextes sont comptabilisés par référence, il n’est généralement pas nécessaire qu’un pilote minifilter appelle une routine telle que FltDeleteFileContext ou FltDeleteContext pour supprimer explicitement un contexte.

Un pilote minifilter appelle FltDeleteFileContext pour récupérer et supprimer un contexte de fichier qu’il a précédemment défini pour un fichier en appelant FltSetFileContext.

Si le paramètre OldContext est NULL en entrée et qu’un contexte de fichier correspondant est trouvé, FltDeleteFileContext libère la référence ajoutée par l’appel précédent du pilote minifilter à FltSetFileContext. Le contexte supprimé est généralement libéré immédiatement, sauf s’il existe une référence en attente sur celui-ci (par exemple, parce que le contexte est toujours utilisé par un autre thread).

Si le paramètre OldContext n’est pas NULL et qu’un contexte de fichier correspondant est trouvé et retourné, l’appelant est chargé de libérer la référence ajoutée par FltSetFileContext. Pour publier cette référence, le pilote minifilter doit appeler FltReleaseContext sur le contexte de fichier supprimé dès que possible après avoir effectué le nettoyage nécessaire.

Pour allouer un nouveau contexte, appelez FltAllocateContext.

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

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista et versions ultérieures
plateforme cible Universel
d’en-tête fltkernel.h (include Fltkernel.h)
bibliothèque FltMgr.lib
IRQL <= APC_LEVEL

Voir aussi

FLT_CONTEXT_REGISTRATION

FltAllocateContext

fltDeleteContext

FltGetFileContext

FltReleaseContext

FltSetFileContext

FltSupportsFileContexts

FltSupportsFileContextsEx