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 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 | 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 apunta Contextos. Establezca 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 necesario 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 se 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. |
Observaciones
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 parámetro de entrada FltObjects:
- PFLT_PRE_OPERATION_CALLBACK
- PFLT_POST_OPERATION_CALLBACK
- PFLT_INSTANCE_SETUP_CALLBACK
- PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK
- PFLT_INSTANCE_TEARDOWN_CALLBACK
FltGetContextsEx incrementa el recuento de referencias de cada uno de los contextos devueltos en la estructura de 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 de.
- 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 | Valor |
---|---|
cliente mínimo admitido | Windows 8 |
de la plataforma de destino de | Universal |
encabezado de | fltkernel.h (incluya Fltkernel.h) |
biblioteca de | FltMgr.lib |
DLL de | Fltmgr.sys |
irQL | <= APC_LEVEL |
Consulte también
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK