Freigeben über


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:

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

FLT_RELATED_CONTEXTS_EX

FLT_RELATED_OBJECTS

FltRegisterFilter-

FltReleaseContext-

FltReleaseContextsEx-

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK