FltDeleteVolumeContext-Funktion (fltkernel.h)

FltDeleteVolumeContext entfernt einen Kontext, den ein bestimmter Minifiltertreiber für ein bestimmtes Volume festgelegt hat, und markiert den Kontext zum Löschen.

Syntax

NTSTATUS FLTAPI FltDeleteVolumeContext(
  [in]            PFLT_FILTER  Filter,
  [in]            PFLT_VOLUME  Volume,
  [out, optional] PFLT_CONTEXT *OldContext
);

Parameter

[in] Filter

Undurchsichtiger Filterzeiger für den Aufrufer.

[in] Volume

Undurchsichtiger Volumezeiger für das Volume.

[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 sein. Wenn OldContext nicht NULL ist und nicht auf NULL_CONTEXT verweist, ist der Aufrufer für den Aufruf von FltReleaseContext verantwortlich, um diesen Kontext zu freigeben, wenn er nicht mehr benötigt wird.

Rückgabewert

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

Rückgabecode Beschreibung
STATUS_FLT_DELETING_OBJECT Das angegebene Volume wird abgerissen. Dies ist ein Fehlercode.
STATUS_NOT_FOUND Es wurde kein übereinstimmenden Kontext gefunden. Dies ist ein Fehlercode.

Hinweise

Weitere Informationen zu Kontexten finden Sie unter Informationen zu Minifilterkontexten.

Da Kontexte referenzgezählt sind, ist es normalerweise nicht erforderlich, dass ein Minifiltertreiber eine Routine wie FltDeleteVolumeContext aufruft , um einen Kontext explizit zu löschen.

Ein Minifiltertreiber ruft FltDeleteVolumeContext auf, um einen Kontext aus einem Volume zu entfernen und den Kontext zum Löschen zu markieren. Der Kontext wird normalerweise sofort freigegeben, es sei denn, es gibt einen ausstehenden Verweis darauf (z. B. weil der Kontext weiterhin von einem anderen Thread verwendet wird).

Um einen neuen Kontext zuzuordnen, rufen Sie FltAllocateContext auf.

Um einen Volumekontext abzurufen, rufen Sie FltGetVolumeContext auf.

Um einen Volumekontext festzulegen, rufen Sie FltSetVolumeContext auf.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header fltkernel.h (include Fltkernel.h)
Bibliothek FltMgr.lib
IRQL <= APC_LEVEL

Weitere Informationen

FltAllocateContext

FltDeleteContext

FltGetVolumeContext

FltReleaseContext

FltSetVolumeContext