Compartir a través de


Función FltGetContextsEx (fltkernel.h)

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

Sintaxis

NTSTATUS FLTAPI FltGetContextsEx(
  [in]  PCFLT_RELATED_OBJECTS    FltObjects,
  [in]  FLT_CONTEXT_TYPE         DesiredContexts,
  [in]  SIZE_T                   ContextsSize,
  [out] PFLT_RELATED_CONTEXTS_EX Contexts
);

Parámetros

[in] FltObjects

Puntero a una estructura de FLT_RELATED_OBJECTS que contiene punteros opacos para los objetos relacionados con la operación actual. Vea Comentarios para obtener más información.

[in] DesiredContexts

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

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 020040
FLT_ALL_CONTEXTS OR bit a bit de todos los valores de contexto

[in] ContextsSize

Tamaño, en bytes, de la estructura de FLT_RELATED_CONTEXTS_EX a la que apuntan contextos. Establézcalo en sizeof(FLT_RELATED_CONTEXTS_EX).

[out] Contexts

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

FltGetContextsEx devuelve STATUS_SUCCESS tras la finalización correcta. De lo contrario, devuelve un código de estado como uno de los siguientes.

Código Significado
STATUS_INVALID_PARAMETER Se ha introducido un valor de contexto no válido.

Comentarios

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

Un controlador de minifiltro llama a FltGetContextsEx para recuperar punteros a sus contextos para los objetos de una estructura de FLT_RELATED_OBJECTS . En STATUS_SUCCESS, el minifiltro deberá comprobar que un contexto no es cero antes de usarlo.

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

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

  • Llame a FltReleaseContextsEx 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
Cliente mínimo compatible Windows 8
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_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