FltDeleteVolumeContext-Funktion (fltkernel.h)
FltDeleteVolumeContext entfernt einen Kontext, den ein bestimmter Minifiltertreiber für ein bestimmtes Volume festgelegt hat, und markiert den Kontext für das 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-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
FltDeleteVolumeContext gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert wie einen der folgenden zurück:
Rückgabecode | Beschreibung |
---|---|
STATUS_FLT_DELETING_OBJECT | Das angegebene Volume- 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 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 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 FltGetVolumeContext-auf, um einen Volumekontext abzurufen.
Rufen Sie FltSetVolumeContextauf, um einen Volumekontext festzulegen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
IRQL- | <= APC_LEVEL |