Partager via


Fonction FltReleaseContexts (fltkernel.h)

FltReleaseContexts libère chaque contexte dans une structure FLT_RELATED_CONTEXTS donnée.

Syntaxe

VOID FLTAPI FltReleaseContexts(
  [in] PFLT_RELATED_CONTEXTS Contexts
);

Paramètres

[in] Contexts

Pointeur vers la structure FLT_RELATED_CONTEXTS .

Valeur de retour

None

Remarques

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

FltReleaseContexts décrémente le nombre de références sur tous les contextes de la structure FLT_RELATED_CONTEXTS et définit tous les membres de la structure sur NULL_CONTEXT.

Pour obtenir la structure FLT_RELATED_CONTEXTS d’un pilote minifilter donné pour une demande d’E/S donnée, appelez FltGetContexts.

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

Les appelants de FltReleaseContexts doivent s’exécuter sur IRQL <= DISPATCH_LEVEL si tous les contextes ont été alloués à partir d’un pool non paginé. Si des contextes ont été alloués à partir d’un pool paginé, les appelants doivent s’exécuter sur IRQL <= APC_LEVEL.

Lorsque le nombre de références de chaque contexte 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 dans irQL DISPATCH_LEVEL, un élément de travail est planifié pour libérer le contexte.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête fltkernel.h (inclure Fltkernel.h)
Bibliothèque FltMgr.lib
DLL Fltmgr.sys
IRQL Consultez la section Notes.

Voir aussi

FLT_CONTEXT_REGISTRATION

FLT_RELATED_CONTEXTS

FltAllocateContext

FltGetContexts

FltReleaseContext

FltReleaseContextsEx