Función FltGetContexts (fltkernel.h)

La rutina FltGetContexts recupera los contextos de un controlador de minifiltro para los objetos relacionados con la operación actual.

Sintaxis

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

Parámetros

FltObjects

[in] Puntero a una estructura de FLT_RELATED_OBJECTS que contiene punteros opacos para los objetos relacionados con la operación actual. Para obtener más información sobre este parámetro, vea la sección Comentarios.

DesiredContexts

[in] Identifica los tipos de contextos que se van a recuperar. Este parámetro puede ser un OR bit a bit de los siguientes valores.

Constante Valor
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 (a partir de Windows 8) 020040
FLT_ALL_CONTEXTS OR bit a bit de todos los valores de contexto

Contexts

[out] Puntero a una estructura de FLT_RELATED_CONTEXTS asignada por el autor de la llamada que recibe los contextos solicitados. Este parámetro es obligatorio y no se puede establecer en NULL. FltMgr establece un miembro de estructura en cero para:

  • Contextos que el autor de la llamada no solicitó.
  • Contextos que el autor de la llamada solicitó pero FltMgr no pudo encontrar.

Valor devuelto

Ninguno.

Comentarios

Para obtener más información sobre los contextos, vea Acerca de los contextos de minifiltro.

Un controlador de minifiltro llama a FltGetContexts para recuperar punteros a los contextos del controlador minifiltro para los objetos de una estructura de FLT_RELATED_OBJECTS .

Los siguientes tipos de rutina de devolución de llamada del controlador minifiltro reciben un puntero a una estructura de FLT_RELATED_OBJECTS como parámetro de entrada FltObjects :

FltGetContexts incrementa el recuento de referencias en cada uno de los contextos devueltos en la estructura FLT_RELATED_CONTEXTS a la que apunta el parámetro Contexts . Por lo tanto, para cada llamada correcta a FltGetContexts, el autor de la llamada debe:

  • Llame a FltReleaseContexts para toda la estructura a la que apunta el parámetro Contexts .
  • Llame a FltReleaseContext para cada uno de los contextos devueltos en la estructura y establezca cada campo de contexto devuelto en la estructura en cero.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado fltkernel.h (incluya Fltkernel.h)
Library FltMgr.lib
Archivo DLL Fltmgr.sys
IRQL <= APC_LEVEL

Consulte también

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