Freigeben über


FltReleaseContexts-Funktion (fltkernel.h)

FltReleaseContexts gibt jeden Kontext in einer bestimmten FLT_RELATED_CONTEXTS-Struktur frei.

Syntax

VOID FLTAPI FltReleaseContexts(
  [in] PFLT_RELATED_CONTEXTS Contexts
);

Parameter

[in] Contexts

Zeiger auf die FLT_RELATED_CONTEXTS-Struktur .

Rückgabewert

Keine

Bemerkungen

Weitere Informationen zu Kontexten finden Sie unter Informationen zu Minifilterkontexten.

FltReleaseContexts dekrementiert die Verweisanzahl für alle Kontexte in der FLT_RELATED_CONTEXTS-Struktur und legt alle Elemente der Struktur auf NULL_CONTEXT fest.

Um die FLT_RELATED_CONTEXTS-Struktur für einen bestimmten Minifiltertreiber für eine bestimmte E/A-Anforderung abzurufen, rufen Sie FltGetContexts auf.

Weitere Informationen zum Zählen von Kontextverweisen finden Sie unter Verweisen auf Kontexte.

Aufrufer von FltReleaseContexts müssen unter IRQL <= DISPATCH_LEVEL ausgeführt werden, wenn alle Kontexte aus einem nicht auslagerten Pool zugewiesen wurden. Wenn Kontexte aus einem ausgelagerten Pool zugewiesen wurden, müssen Aufrufer unter IRQL <= APC_LEVEL ausgeführt werden.

Wenn die Referenzanzahl jedes Kontexts 0 erreicht, wird der Kontext sofort freigegeben, wenn der Aufrufer unter IRQL <= APC_LEVEL ausgeführt wird. Wenn der Aufrufer bei IRQL DISPATCH_LEVEL ausgeführt wird, wird ein Arbeitselement zum Freigeben des Kontexts geplant.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header fltkernel.h (include Fltkernel.h)
Bibliothek FltMgr.lib
DLL Fltmgr.sys
IRQL Weitere Informationen finden Sie im Abschnitt mit den Hinweisen.

Weitere Informationen

FLT_CONTEXT_REGISTRATION

FLT_RELATED_CONTEXTS

FltAllocateContext

FltGetContexts

FltReleaseContext

FltReleaseContextsEx