FltReleaseContext-Funktion (fltkernel.h)
FltReleaseContext verringert die Verweisanzahl in einem Kontext.
Syntax
VOID FLTAPI FltReleaseContext(
[in] PFLT_CONTEXT Context
);
Parameter
[in] Context
Zeiger auf den Kontext. Muss ein gültiger Zeiger auf ein Kontextobjekt für ein Volume, ein instance, einen Stream oder ein Streamhandle sein. Dieser Parameter ist erforderlich und darf nicht NULL sein.
Rückgabewert
Keine
Bemerkungen
Weitere Informationen zu Kontexten finden Sie unter Informationen zu Minifilterkontexten.
Ein Minifiltertreiber ruft FltReleaseContext auf, um einen Kontext freizugeben. FltReleaseContext verringert die Verweisanzahl für den angegebenen Kontext. Wenn die Verweisanzahl null erreicht, wird der Kontext sofort freigegeben, wenn der Aufrufer unter IRQL <= APC_LEVEL ausgeführt wird. Wenn der Aufrufer unter IRQL DISPATCH_LEVEL ausgeführt wird, wird ein Arbeitselement zum Freigeben des Kontexts geplant.
Hinweis
Nachdem FltReleaseContext zurückgegeben wurde, darf der Aufrufer den Kontext nicht mehr verwenden, da der Kontext möglicherweise bereits freigegeben wurde.
Jeder erfolgreiche Aufruf von FltAllocateContext, FltGetXxxContext oder FltReferenceContext muss schließlich durch einen Aufruf von FltReleaseContext abgeglichen werden.
Beachten Sie, dass der von FltSetXxxContext zurückgegebene OldContext-Zeiger und der Context-Parameter, der zum Aufrufen von FltDeleteContext verwendet wird, auch durch Aufrufen von FltReleaseContext freigegeben werden müssen, wenn sie nicht mehr benötigt werden.
Um einen neuen Kontext zuzuordnen, rufen Sie FltAllocateContext auf.
Um die Verweisanzahl in einem Kontext zu erhöhen, rufen Sie FltReferenceContext auf.
Weitere Informationen zum Zählen von Kontextreferenzen finden Sie unter Verweisen auf Kontexte.
Aufrufer von FltReleaseContext müssen unter IRQL <= DISPATCH_LEVEL ausgeführt werden, wenn der Kontext aus einem nicht auslagerten Pool zugeordnet wurde. Wenn der Kontext aus einem ausgelagerten Pool zugeordnet wurde, müssen Aufrufer unter IRQL <= APC_LEVEL ausgeführt werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | fltkernel.h (fltkernel.h einschließen) |
Bibliothek | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | Weitere Informationen finden Sie im Abschnitt mit den Hinweisen. |