FltDeleteStreamHandleContext-Funktion (fltkernel.h)
FltDeleteStreamHandleContext entfernt einen Kontext, den eine bestimmte Minifiltertreiberinstanz für ein bestimmtes Datenstromhandle festgelegt hat und den Kontext für das Löschen markiert.
Syntax
NTSTATUS FLTAPI FltDeleteStreamHandleContext(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[out] PFLT_CONTEXT *OldContext
);
Parameter
[in] Instance
Undurchsichtiger Instanzzeiger für die Minifiltertreiberinstanz, deren Kontext aus der Liste der an das Datenstromhandle angefügten Kontexte entfernt werden soll.
[in] FileObject
Zeigen Sie auf ein Dateiobjekt für den Dateidatenstrom.
[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
FltDeleteStreamHandleContext- 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. |
STATUS_NOT_SUPPORTED | Das Dateisystem unterstützt keine Datenstromkontexte für dieses Dateistreamhandle. 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 FltDeleteStreamHandleContext aufruft, um einen Kontext explizit zu löschen.
Ein Minifiltertreiber ruft FltDeleteStreamHandleContext- auf, um einen Kontext aus einem Datenstromhandle 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 Datenstromkontexts FltGetStreamHandleContextauf.
Rufen Sie zum Festlegen eines Datenstromkontexts FltSetStreamHandleContext-auf.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
DLL- | Fltmgr.sys |
IRQL- | <= APC_LEVEL |