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 |