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 |