FltDeleteTransactionContext-Funktion (fltkernel.h)
Die FltDeleteTransactionContext Routine entfernt einen Kontext aus einer bestimmten Transaktion und markiert den Kontext für das Löschen.
Syntax
NTSTATUS FLTAPI FltDeleteTransactionContext(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[out, optional] PFLT_CONTEXT *OldContext
);
Parameter
[in] Instance
Undurchsichtiger Instanzzeiger für den Aufrufer.
[in] Transaction
Undurchsichtiger Transaktionszeiger für die Transaktion, deren Kontext gelöscht wird.
[out, optional] OldContext
Zeiger auf eine vom Aufrufer zugewiesene Variable, die die Adresse des gelöschten Kontexts empfängt. Dieser Parameter ist optional und kann NULL-werden. Wenn OldContext- nicht NULL- ist und nicht auf NULL_CONTEXT verweist, ist der Aufrufer für das Aufrufen FltReleaseContext verantwortlich, um diesen Kontext freizugeben, wenn er nicht mehr benötigt wird.
Rückgabewert
FltDeleteTransactionContext- gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Wert wie den folgenden zurück:
Rückgabecode | Beschreibung |
---|---|
STATUS_FLT_DELETING_OBJECT | Die angegebene Instanz- wird heruntergerissen. Dies ist ein Fehlercode. |
STATUS_NOT_FOUND | Es wurde kein übereinstimmenden Kontext gefunden. Dies ist ein Fehlercode. |
Bemerkungen
Weitere Informationen zu Kontexten finden Sie unter Informationen zu Minifilterkontexten.
Da Kontexte referenziert werden, ist es in der Regel nicht erforderlich, dass ein Minifiltertreiber eine Routine aufruft, z. B. FltDeleteTransactionContext-, um einen Kontext explizit zu löschen.
Ein Minifiltertreiber ruft FltDeleteTransactionContext- auf, um einen Kontext aus einer Transaktion zu entfernen und den Kontext für das Löschen zu markieren. Der Kontext wird in der Regel sofort freigegeben, es sei denn, es gibt einen ausstehenden Verweis darauf (z. B. weil der Kontext noch von einem anderen Thread verwendet wird).
Rufen Sie FltAllocateContextauf, um einen neuen Kontext zuzuweisen.
Rufen Sie zum Abrufen eines Transaktionskontexts FltGetTransactionContextauf.
Rufen Sie FltSetTransactionContextauf, um einen Transaktionskontext festzulegen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista und höher |
Zielplattform- | Universal |
Header- | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
IRQL- | <= APC_LEVEL |