Função FltGetContextsEx (fltkernel.h)
A rotina FltGetContextsEx recupera os contextos de um driver de minifiltro para os objetos relacionados à operação atual.
Sintaxe
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
Ponteiro para uma estrutura FLT_RELATED_OBJECTS que contém ponteiros opacos para os objetos relacionados à operação atual. Confira Comentários para obter mais informações.
[in] DesiredContexts
Identifica os tipos de contextos a serem recuperados. Esse parâmetro pode ser um OR bit a bit dos valores a seguir.
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 os valores de contexto |
[in] ContextsSize
O tamanho, em bytes, da estrutura FLT_RELATED_CONTEXTS_EX apontada por Contextos. Defina como sizeof(FLT_RELATED_CONTEXTS_EX).
[out] Contexts
Ponteiro para uma estrutura de FLT_RELATED_CONTEXTS alocada pelo chamador que recebe os contextos solicitados. Esse parâmetro é necessário e não pode ser definido como NULL. FltMgr define um membro da estrutura como zero para:
- Contextos que o chamador não solicitou.
- Contextos que o chamador solicitou, mas FltMgr não pôde localizar.
Retornar valor
FltGetContextsEx retorna STATUS_SUCCESS após a conclusão bem-sucedida. Caso contrário, ele retornará um código status, como um dos seguintes.
Código | Significado |
---|---|
STATUS_INVALID_PARAMETER | Um valor de contexto inválido foi input. |
Comentários
Para obter mais informações sobre contextos, consulte Sobre contextos de minifiltro.
Um driver de minifiltro chama FltGetContextsEx para recuperar ponteiros para seus contextos para os objetos em uma estrutura FLT_RELATED_OBJECTS . Em STATUS_SUCCESS, o minifiltro precisará marcar que um contexto não é zero antes de usá-lo.
Os seguintes tipos de rotina de retorno de chamada de driver de minifiltro recebem um ponteiro para uma estrutura FLT_RELATED_OBJECTS como o 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 a contagem de referência em cada um dos contextos retornados na estrutura FLT_RELATED_CONTEXTS_EX para a qual o parâmetro Contexts aponta. Portanto, para cada chamada bem-sucedida para FltGetContextsEx, o chamador deve:
- Chame FltReleaseContextsEx para toda a estrutura para a qual o parâmetro Contexts aponta.
- Chame FltReleaseContext para cada um dos contextos retornados na estrutura e defina cada campo de contexto retornado na estrutura como zero.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 |
Plataforma de Destino | Universal |
Cabeçalho | fltkernel.h (inclua Fltkernel.h) |
Biblioteca | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
Confira também
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK