Freigeben über


FltGetContexts-Funktion (fltkernel.h)

Die FltGetContexts-Routine ruft die Kontexte eines Minifiltertreibers für die Objekte im Zusammenhang mit dem aktuellen Vorgang ab.

Syntax

VOID FLTAPI FltGetContexts(
  PCFLT_RELATED_OBJECTS FltObjects,
  FLT_CONTEXT_TYPE      DesiredContexts,
  PFLT_RELATED_CONTEXTS Contexts
);

Parameter

FltObjects

[in] 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 zu diesem Parameter finden Sie im Abschnitt Hinweise.

DesiredContexts

[in] 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 (ab Windows 8) 020040
FLT_ALL_CONTEXTS Bitweises OR aller Kontextwerte

Contexts

[out] 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 (null) für Folgendes fest:

  • Kontexte, die der Aufrufer nicht angefordert hat.
  • Kontexte, die vom Aufrufer angefordert wurden, FltMgr jedoch nicht finden konnte.

Rückgabewert

Keine.

Hinweise

Weitere Informationen zu Kontexten finden Sie unter Informationen zu Minifilterkontexten.

Ein Minifiltertreiber ruft FltGetContexts auf, um Zeiger auf die Kontexte des Minifiltertreibers für die Objekte in einer FLT_RELATED_OBJECTS-Struktur abzurufen.

Die folgenden Minifiltertreiber-Rückrufroutinentypen erhalten einen Zeiger auf eine FLT_RELATED_OBJECTS-Struktur als FltObjects-Eingabeparameter :

FltGetContexts inkrementiert die Verweisanzahl für jeden der Kontexte, die in der FLT_RELATED_CONTEXTS-Struktur zurückgegeben werden, auf die der Contexts-Parameter verweist. Daher muss der Aufrufer für jeden erfolgreichen Aufruf von FltGetContexts entweder:

  • Rufen Sie FltReleaseContexts für die gesamte Struktur auf, auf die der Contexts-Parameter zeigt.
  • 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
Zielplattform Universell
Header fltkernel.h (fltkernel.h einschließen)
Bibliothek FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Weitere Informationen

FLT_RELATED_CONTEXTS

FLT_RELATED_OBJECTS

FltGetContextsEx

FltRegisterFilter

FltReleaseContext

FltReleaseContexts

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK