Função FltReleaseContext (fltkernel.h)

FltReleaseContext diminui a contagem de referência em um contexto.

Sintaxe

VOID FLTAPI FltReleaseContext(
  [in] PFLT_CONTEXT Context
);

Parâmetros

[in] Context

Ponteiro para o contexto. Deve ser um ponteiro válido para um objeto de contexto para um volume, instância, fluxo ou identificador de fluxo. Esse parâmetro é necessário e não pode ser NULL.

Retornar valor

Nenhum

Comentários

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

Um driver de minifiltro chama FltReleaseContext para liberar um contexto. FltReleaseContext diminui a contagem de referência no contexto fornecido. Quando a contagem de referência atinge zero, o contexto é liberado imediatamente se o chamador estiver em execução em IRQL <= APC_LEVEL. Se o chamador estiver em execução no IRQL DISPATCH_LEVEL, um item de trabalho será agendado para liberar o contexto.

Observação

Após o retorno de FltReleaseContext , o chamador não deve usar o contexto, pois o contexto pode já ter sido liberado.

Cada chamada bem-sucedida para FltAllocateContext, FltGetXxxContext ou FltReferenceContext deve eventualmente ser correspondida por uma chamada para FltReleaseContext.

Observe que o ponteiro OldContext retornado por Contexto Xxxde FltSete o parâmetro Context usado para chamar FltDeleteContext também devem ser liberados chamando FltReleaseContext quando eles não forem mais necessários.

Para alocar um novo contexto, chame FltAllocateContext.

Para incrementar a contagem de referência em um contexto, chame FltReferenceContext.

Para obter mais informações sobre a contagem de referência de contexto, consulte Referenciando contextos.

Os chamadores de FltReleaseContext devem estar em execução em IRQL <= DISPATCH_LEVEL se o contexto tiver sido alocado do pool nãopagado. Se o contexto foi alocado do pool de páginas, os chamadores devem estar em execução em IRQL <= APC_LEVEL.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua Fltkernel.h)
Biblioteca FltMgr.lib
DLL Fltmgr.sys
IRQL Consulte a seção Observações.

Confira também

FltAllocateContext

FltDeleteContext

FltGetContexts

FltGetContextsEx

FltGetFileContext

FltGetInstanceContext

FltGetSectionContext

FltGetStreamContext

FltGetStreamHandleContext

FltGetTransactionContext

FltGetVolumeContext

FltReferenceContext

FltReleaseContexts

FltSetFileContext

FltSetInstanceContext

FltSetStreamContext

FltSetStreamHandleContext

FltSetTransactionContext

FltSetVolumeContext