Freigeben über


FltGetStreamContext-Funktion (fltkernel.h)

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

Syntax

NTSTATUS FLTAPI FltGetStreamContext(
  [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 den Stream.

[out] Context

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

Rückgabewert

FltGetStreamContext 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.

FltGetStreamContext ruft einen Kontext ab, der von einem bestimmten Minifiltertreiber instance für einen Dateistream festgelegt wurde.

FltGetStreamContext 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 FltGetStreamContext durch einen nachfolgenden Aufruf von FltReleaseContext abgeglichen werden.

Um einen Kontext für einen Dateidatenstrom festzulegen, rufen Sie FltSetStreamContext auf.

Um einen neuen Kontext zuzuordnen, rufen Sie FltAllocateContext auf.

Um einen Streamkontext zu löschen, rufen Sie FltDeleteStreamContext 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

FltDeleteStreamContext

FltReleaseContext

FltSetStreamContext