Partager via


FltReleaseContext, fonction (fltkernel.h)

FltReleaseContext décrémente le nombre de références sur un contexte.

Syntaxe

VOID FLTAPI FltReleaseContext(
  [in] PFLT_CONTEXT Context
);

Paramètres

[in] Context

Pointeur vers le contexte. Doit être un pointeur valide vers un objet de contexte pour un handle de volume, d’instance, de flux ou de flux. Ce paramètre est obligatoire et ne peut pas être NULL.

Valeur de retour

Aucun

Remarques

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

Un pilote minifilter appelle FltReleaseContext pour libérer un contexte. FltReleaseContext décrémente le nombre de références sur le contexte donné. Lorsque le nombre de références atteint zéro, le contexte est libéré immédiatement si l’appelant s’exécute à IRQL <= APC_LEVEL. Si l’appelant s’exécute au DISPATCH_LEVEL IRQL, un élément de travail est planifié pour libérer le contexte.

Note

Après FltReleaseContext retourne, l’appelant ne doit pas utiliser le contexte, car le contexte a peut-être déjà été libéré.

Chaque appel réussi à FltAllocateContext, FltGetXxxContextou FltReferenceContext doit éventuellement être mis en correspondance par un appel à FltReleaseContext.

Notez que le pointeur OldContext retourné par FltSetXxxContext et le paramètre Context utilisé pour appeler FltDeleteContext doit également être libéré en appelant FltReleaseContext lorsqu’ils ne sont plus nécessaires.

Pour allouer un nouveau contexte, appelez FltAllocateContext.

Pour incrémenter le nombre de références sur un contexte, appelez FltReferenceContext.

Pour plus d’informations sur le comptage des références de contexte, consultez Contextes de référencement.

Les appelants de FltReleaseContext doivent s’exécuter au <IRQL = DISPATCH_LEVEL si le contexte a été alloué à partir d’un pool non paginé. Si le contexte a été alloué à partir du pool paginé, les appelants doivent s’exécuter à l'<IRQL = APC_LEVEL.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête fltkernel.h (include Fltkernel.h)
bibliothèque FltMgr.lib
DLL Fltmgr.sys
IRQL Voir la section Remarques.

Voir aussi

FltAllocateContext

fltDeleteContext

FltGetContexts

FltGetContextsEx

FltGetFileContext

FltGetInstanceContext

FltGetSectionContext

FltGetStreamContext

FltGetStreamHandleContext

FltGetTransactionContext

FltGetVolumeContext

FltReferenceContext

FltReleaseContexts

FltSetFileContext

FltSetInstanceContext

FltSetStreamContext

FltSetStreamHandleContext

FltSetTransactionContext

FltSetVolumeContext