Freigeben über


FltDeleteInstanceContext-Funktion (fltkernel.h)

FltDeleteInstanceContext entfernt einen Kontext aus einer bestimmten Instanz und markiert den Kontext für das Löschen.

Syntax

NTSTATUS FLTAPI FltDeleteInstanceContext(
  [in]  PFLT_INSTANCE Instance,
  [out] PFLT_CONTEXT  *OldContext
);

Parameter

[in] Instance

Undurchsichtiger Instanzzeiger für die Instanz.

[out] 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

FltDeleteInstanceContext gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert zurück, z. B. einen der folgenden:

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 wie FltDeleteInstanceContext aufruft, um einen Kontext explizit zu löschen.

Ein Minifiltertreiber ruft FltDeleteInstanceContext- auf, um einen Kontext aus einer Instanz 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 Instanzkontexts FltGetInstanceContextauf.

Rufen Sie zum Festlegen eines Instanzkontexts FltSetInstanceContextauf.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- fltkernel.h (include Fltkernel.h)
Library FltMgr.lib
IRQL- <= APC_LEVEL

Siehe auch

FltAllocateContext-

FltDeleteContext-

FltGetInstanceContext

FltReleaseContext-

FltSetInstanceContext-