FltReleaseContext-Funktion (fltkernel.h)
FltReleaseContext die Verweisanzahl in einem Kontext verringert.
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, eine Instanz, einen Datenstrom oder ein Datenstromhandle sein. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
Rückgabewert
Nichts
Bemerkungen
Weitere Informationen zu Kontexten finden Sie unter Informationen zu Minifilterkontexten.
Ein Minifiltertreiber ruft FltReleaseContext- auf, um einen Kontext freizugeben. FltReleaseContext die Verweisanzahl für den angegebenen Kontext erhöht. Wenn die Referenzanzahl null erreicht, wird der Kontext sofort freigegeben, wenn der Aufrufer bei IRQL <= APC_LEVEL ausgeführt wird. Wenn der Aufrufer bei IRQL-DISPATCH_LEVEL ausgeführt wird, wird eine Arbeitsaufgabe so geplant, dass der Kontext freigegeben wird.
Anmerkung
Nachdem FltReleaseContext zurückgegeben wurde, darf der Aufrufer den Kontext nicht verwenden, da der Kontext möglicherweise bereits freigegeben wurde.
Jeder erfolgreiche Aufruf von FltAllocateContext, FltGetXxxContextoder FltReferenceContext muss schließlich durch einen Aufruf von FltReleaseContextabgeglichen werden.
Beachten Sie, dass der OldContext Zeiger, der von FltSetXxxContext und dem Context Parameter aufgerufen wird, der verwendet wird, um FltDeleteContext- aufzurufen, auch durch Aufrufen FltReleaseContext freigegeben werden müssen, wenn sie nicht mehr benötigt werden.
Rufen Sie FltAllocateContextauf, um einen neuen Kontext zuzuweisen.
Rufen Sie FltReferenceContextauf, um die Verweisanzahl in einem Kontext zu erhöhen.
Weitere Informationen zur Kontextreferenzzählung finden Sie unter Verweisen auf Kontexte.
Aufrufer von FltReleaseContext- müssen bei IRQL-<= DISPATCH_LEVEL ausgeführt werden, wenn der Kontext aus einem nicht seitengebundenen Pool zugewiesen wurde. Wenn der Kontext aus dem ausgelagerten Pool zugewiesen wurde, müssen Anrufer unter IRQL-<= APC_LEVEL ausgeführt werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
DLL- | Fltmgr.sys |
IRQL- | Siehe Abschnitt "Hinweise". |