Função FltGetContexts (fltkernel.h)

A rotina FltGetContexts recupera os contextos de um driver de minifiltro para os objetos relacionados à operação atual.

Sintaxe

VOID FLTAPI FltGetContexts(
  PCFLT_RELATED_OBJECTS FltObjects,
  FLT_CONTEXT_TYPE      DesiredContexts,
  PFLT_RELATED_CONTEXTS Contexts
);

Parâmetros

FltObjects

[in] Ponteiro para uma estrutura FLT_RELATED_OBJECTS que contém ponteiros opacos para os objetos relacionados à operação atual. Para obter mais informações sobre esse parâmetro, consulte a seção Comentários.

DesiredContexts

[in] 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 (começando no Windows 8) 020040
FLT_ALL_CONTEXTS OR bit a bit de todos os valores de contexto

Contexts

[out] 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.

Valor retornado

Nenhum.

Comentários

Para obter mais informações sobre contextos, consulte Sobre contextos de minifiltro.

Um driver de minifiltro chama FltGetContexts para recuperar ponteiros para os contextos do driver de minifiltro para os objetos em uma estrutura FLT_RELATED_OBJECTS .

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 :

FltGetContexts incrementa a contagem de referência em cada um dos contextos retornados na estrutura FLT_RELATED_CONTEXTS para a qual o parâmetro Contexts aponta. Portanto, para cada chamada bem-sucedida para FltGetContexts, o chamador deve:

  • Chame FltReleaseContexts 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
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua Fltkernel.h)
Biblioteca FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Confira também

FLT_RELATED_CONTEXTS

FLT_RELATED_OBJECTS

FltGetContextsEx

FltRegisterFilter

FltReleaseContext

FltReleaseContexts

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK