FltGetSectionContext-Funktion (fltkernel.h)

Die FltGetSectionContext-Routine ruft einen Abschnittskontext ab, der von einem angegebenen Minifiltertreiber instance für einen Dateistream erstellt wurde.

Syntax

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

Parameter

[in] Instance

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

[in] FileObject

Ein Zeiger auf ein Dateiobjekt für den Stream.

[out] Context

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

Rückgabewert

FltGetSectionContext gibt STATUS_SUCCESS zurück, wenn der angeforderte Abschnittskontext erfolgreich zurückgegeben wird. Andernfalls wird ein entsprechender NTSTATUS-Wert zurückgegeben, z. B. einer der folgenden:

Rückgabecode Beschreibung
STATUS_NOT_FOUND Zu diesem Zeitpunkt wurde kein übereinstimmenden Kontext für diese Datei gefunden, sodass FltMgrKontext auf NULL_CONTEXT festgelegt hat. Dies ist ein Fehlercode.
STATUS_NOT_SUPPORTED Das Volume, das diesem instance angefügt ist, unterstützt keine Abschnittskontexte. Dies ist ein Fehlercode.

Hinweise

Weitere Informationen zu Kontexten finden Sie unter Informationen zu Minifilterkontexten.

FltGetSectionContext ruft einen Abschnittskontext ab, der von einem angegebenen Minifiltertreiber instance für einen Dateistream erstellt wurde. Durch Aufrufen von FltCreateSectionForDataScan wird ein Abschnittskontext erstellt.

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

Um einen neuen Kontext zuzuordnen, rufen Sie FltAllocateContext auf.

Minifilter dürfen einen Abschnittskontext, der an FltCreateSectionForDataScan übergeben wurde, nicht explizit löschen. Ein Abschnittskontext wird zugeordnet und aus einem Stream entfernt, indem in diesem Fall FltCloseSectionForDataScan aufgerufen wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8
Zielplattform Universell
Header fltkernel.h (include Fltkernel.h)
Bibliothek FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Weitere Informationen

FltAllocateContext

FltCloseSectionForDataScan

FltCreateSectionForDataScan

FltReleaseContext