FltGetContextsEx-Funktion (fltkernel.h)
Die FltGetContextsEx-Routine ruft die Kontexte eines Minifiltertreibers für die Objekte ab, die mit dem aktuellen Vorgang zusammenhängen.
Syntax
NTSTATUS FLTAPI FltGetContextsEx(
[in] PCFLT_RELATED_OBJECTS FltObjects,
[in] FLT_CONTEXT_TYPE DesiredContexts,
[in] SIZE_T ContextsSize,
[out] PFLT_RELATED_CONTEXTS_EX Contexts
);
Parameter
[in] FltObjects
Zeiger auf eine FLT_RELATED_OBJECTS-Struktur , die undurchsichtige Zeiger für die Objekte enthält, die sich auf den aktuellen Vorgang beziehen. Weitere Informationen finden Sie unter Hinweise.
[in] DesiredContexts
Gibt die Typen von Kontexten an, die abgerufen werden sollen. Dieser Parameter kann ein bitweiser OR der folgenden Werte sein.
Konstante | Wert |
---|---|
FLT_VOLUME_CONTEXT | 0x0001 |
FLT_INSTANCE_CONTEXT | 0x0002 |
FLT_FILE_CONTEXT | 0x0004 |
FLT_STREAM_CONTEXT | 0x0008 |
FLT_STREAMHANDLE_CONTEXT | 0x0010 |
FLT_TRANSACTION_CONTEXT | 0x0020 |
FLT_SECTION_CONTEXT | 020040 |
FLT_ALL_CONTEXTS | Bitweises OR aller Kontextwerte |
[in] ContextsSize
Die Größe der FLT_RELATED_CONTEXTS_EX Struktur, auf die von Kontexten verwiesen wird, in Bytes. Legen Sie auf sizeof(FLT_RELATED_CONTEXTS_EX) fest.
[out] Contexts
Zeiger auf eine vom Aufrufer zugewiesene FLT_RELATED_CONTEXTS Struktur, die die angeforderten Kontexte empfängt. Dieser Parameter ist erforderlich und kann nicht auf NULL festgelegt werden. FltMgr legt einen Strukturmember auf 0 für folgendes fest:
- Kontexte, die der Aufrufer nicht gefordert hat.
- Kontexte, die der Aufrufer angefordert hat, FltMgr jedoch nicht finden konnte.
Rückgabewert
FltGetContextsEx gibt nach erfolgreicher Fertigstellung STATUS_SUCCESS zurück. Andernfalls wird ein status Code wie einer der folgenden zurückgegeben.
Code | Bedeutung |
---|---|
STATUS_INVALID_PARAMETER | Ein ungültiger Kontextwert wurde eingegeben. |
Hinweise
Weitere Informationen zu Kontexten finden Sie unter Informationen zu Minifilterkontexten.
Ein Minifiltertreiber ruft FltGetContextsEx auf, um Zeiger auf die Kontexte für die Objekte in einer FLT_RELATED_OBJECTS-Struktur abzurufen. Auf STATUS_SUCCESS muss der Minifilter überprüfen, ob ein Kontext nicht 0 ist, bevor er verwendet wird.
Die folgenden Rückrufroutinetypen des Minifiltertreibers erhalten einen Zeiger auf eine FLT_RELATED_OBJECTS-Struktur als FltObjects-Eingabeparameter :
- PFLT_PRE_OPERATION_CALLBACK
- PFLT_POST_OPERATION_CALLBACK
- PFLT_INSTANCE_SETUP_CALLBACK
- PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK
- PFLT_INSTANCE_TEARDOWN_CALLBACK
FltGetContextsEx erhöht die Verweisanzahl für jeden der In der FLT_RELATED_CONTEXTS_EX-Struktur zurückgegebenen Kontexte, auf die der Contexts-Parameter verweist. Daher muss der Aufrufer für jeden erfolgreichen Aufruf von FltGetContextsEx folgendes ausführen:
- Rufen Sie FltReleaseContextsEx für die gesamte Struktur auf, auf die der Contexts-Parameter verweist.
- Rufen Sie FltReleaseContext für jeden der in der Struktur zurückgegebenen Kontexte auf, und legen Sie jedes in der Struktur zurückgegebene Kontextfeld auf 0 fest.
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
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK