Freigeben über


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 :

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

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