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 |