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. Consulte 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 de FLT_RELATED_CONTEXTS_EX apontada por Contextos. Definido como tamanhos de(FLT_RELATED_CONTEXTS_EX).
[out] Contexts
Ponteiro para uma estrutura de FLT_RELATED_CONTEXTS alocada por 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 foi encontrado.
Valor de retorno
FltGetContextsEx retorna STATUS_SUCCESS após a conclusão bem-sucedida. Caso contrário, ele retornará um código de status, como um dos seguintes.
Código | Significado |
---|---|
STATUS_INVALID_PARAMETER | Um valor de contexto inválido foi a entrada. |
Observações
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á verificar se um contexto não é zero antes de usá-lo.
Os seguintes tipos de rotina de retorno de chamada do driver de minifiltro recebem um ponteiro para uma estrutura de 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 à qual o parâmetro contextos aponta. Portanto, para cada chamada bem-sucedida para FltGetContextsEx, o chamador deve:
- Chame FltReleaseContextsEx para toda a estrutura à 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 |
---|---|
de cliente com suporte mínimo | Windows 8 |
da Plataforma de Destino | Universal |
cabeçalho | fltkernel.h (inclua Fltkernel.h) |
biblioteca | FltMgr.lib |
de DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
Consulte também
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK