FltGetStreamHandleContext-Funktion (fltkernel.h)

Die FltGetStreamHandleContext-Routine ruft einen Kontext ab, der von einem bestimmten Minifiltertreiber instance für ein Streamhandle festgelegt wurde.

Syntax

NTSTATUS FLTAPI FltGetStreamHandleContext(
  [in]  PFLT_INSTANCE Instance,
  [in]  PFILE_OBJECT  FileObject,
  [out] PFLT_CONTEXT  *Context
);

Parameter

[in] Instance

Undurchsichtiger instance Zeiger für den Minifiltertreiber instance dessen Kontext abgerufen werden soll.

[in] FileObject

Zeiger auf ein Dateiobjekt für das Streamhandle.

[out] Context

Zeiger auf eine vom Aufrufer zugeordnete Variable, die die Adresse des Kontexts empfängt. Dieser Parameter kann nicht auf NULL festgelegt werden.

Rückgabewert

FltGetStreamHandleContext gibt STATUS_SUCCESS zurück, wenn der angeforderte Kontext erfolgreich zurückgegeben wird. Andernfalls wird ein geeigneter NTSTATUS-Wert zurückgegeben, z. B. einen der folgenden:

Rückgabecode Beschreibung
STATUS_NOT_FOUND Es wurde zu diesem Zeitpunkt kein übereinstimmenden Kontext für diese Datei gefunden, sodass FltMgrContext auf NULL_CONTEXT festgelegt hat. Dies ist ein Fehlercode.
STATUS_NOT_SUPPORTED Das Dateisystem unterstützt für diesen Dateidatenstrom keine Datenstromkontexte. Dies ist ein Fehlercode.

Hinweise

Weitere Informationen zu Kontexten finden Sie unter Informationen zu Minifilterkontexten.

FltGetStreamHandleContext ruft einen Kontext ab, der von einem bestimmten Minifiltertreiber für ein Streamhandle festgelegt wurde.

FltGetStreamHandleContext erhöht die Verweisanzahl für den Kontext, auf den der Context-Parameter verweist. Wenn dieser Kontextzeiger nicht mehr benötigt wird, muss der Aufrufer seine Verweisanzahl durch Aufrufen von FltReleaseContext verringern. Daher muss jeder erfolgreiche Aufruf von FltGetStreamHandleContext durch einen nachfolgenden Aufruf von FltReleaseContext abgeglichen werden.

Um einen Kontext für ein Streamhandle festzulegen, rufen Sie FltSetStreamHandleContext auf.

Um einen neuen Kontext zuzuordnen, rufen Sie FltAllocateContext auf.

Um einen Streamhandlekontext zu löschen, rufen Sie FltDeleteStreamHandleContext oder FltDeleteContext auf.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header fltkernel.h (fltkernel.h einschließen)
Bibliothek FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Weitere Informationen

FltAllocateContext

FltDeleteContext

FltDeleteStreamHandleContext

FltReleaseContext

FltSetStreamHandleContext