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