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 :
- 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 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
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK