FltGetContextsEx-Funktion (fltkernel.h)
Die FltGetContextsEx Routine ruft den Kontext eines Minifiltertreibers für die Objekte im Zusammenhang mit dem aktuellen Vorgang ab.
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 mit dem aktuellen Vorgang zusammenhängen. Weitere Informationen finden Sie in den Hinweisen.
[in] DesiredContexts
Gibt die Abzurufenden Kontexttypen an. 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 | Bitweise ODER aller Kontextwerte |
[in] ContextsSize
Die Größe der FLT_RELATED_CONTEXTS_EX Struktur in Bytes, auf die durch Kontexteverweist. Auf Größe(FLT_RELATED_CONTEXTS_EX) festgelegt.
[out] Contexts
Zeigen Sie 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 ein Strukturelement auf Null fest für:
- Kontexte, die der Aufrufer nicht angefordert hat.
- Kontexte, die der Aufrufer angefordert hat, aber FltMgr nicht gefunden wurden.
Rückgabewert
FltGetContextsEx- gibt nach erfolgreichem Abschluss STATUS_SUCCESS zurück. Andernfalls wird ein Statuscode zurückgegeben, z. B. eine der folgenden.
Code | Bedeutung |
---|---|
STATUS_INVALID_PARAMETER | Ein ungültiger Kontextwert war Eingabe. |
Bemerkungen
Weitere Informationen zu Kontexten finden Sie unter Informationen zu Minifilterkontexten.
Ein Minifiltertreiber ruft FltGetContextsEx- auf, um Zeiger für die Objekte in einer FLT_RELATED_OBJECTS-Struktur abzurufen. Auf STATUS_SUCCESS muss der Minifilter überprüfen, ob ein Kontext vor der Verwendung nicht null ist.
Die folgenden Minifilter-Treiberrückrufroutintypen 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 auf 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:
- 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 Null fest.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 8 |
Zielplattform- | Universal |
Header- | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
DLL- | Fltmgr.sys |
IRQL- | <= APC_LEVEL |
Siehe auch
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK