Partager via


FltDeleteInstanceContext, fonction (fltkernel.h)

FltDeleteInstanceContext supprime un contexte d’une instance donnée et marque le contexte de suppression.

Syntaxe

NTSTATUS FLTAPI FltDeleteInstanceContext(
  [in]  PFLT_INSTANCE Instance,
  [out] PFLT_CONTEXT  *OldContext
);

Paramètres

[in] Instance

Pointeur d’instance opaque pour l’instance.

[out] OldContext

Pointeur vers une variable allouée par l’appelant qui reçoit l’adresse du contexte supprimé. Ce paramètre est facultatif et peut être NULL. Si OldContext n’est pas NULL et ne pointe pas vers NULL_CONTEXT, l’appelant est chargé d’appeler FltReleaseContext pour libérer ce contexte lorsqu’il n’est plus nécessaire.

Valeur de retour

FltDeleteInstanceContext retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, comme l’une des valeurs suivantes :

Retourner le code Description
STATUS_FLT_DELETING_OBJECT Le d’instance spécifié est détruit. Il s’agit d’un code d’erreur.
STATUS_NOT_FOUND Aucun contexte correspondant n’a été trouvé. 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 FltDeleteInstanceContext pour supprimer explicitement un contexte.

Un pilote minifilter appelle FltDeleteInstanceContext pour supprimer un contexte d’une instance et marquer le contexte à supprimer. Le contexte 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).

Pour allouer un nouveau contexte, appelez FltAllocateContext.

Pour obtenir un contexte d’instance, appelez FltGetInstanceContext.

Pour définir un contexte d’instance, appelez FltSetInstanceContext.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête fltkernel.h (include Fltkernel.h)
bibliothèque FltMgr.lib
IRQL <= APC_LEVEL

Voir aussi

FltAllocateContext

fltDeleteContext

FltGetInstanceContext

FltReleaseContext

FltSetInstanceContext