Função FltDeleteFileContext (fltkernel.h)

A rotina FltDeleteFileContext recupera e exclui um contexto de arquivo que um determinado driver de minifiltro definiu para um determinado arquivo.

Sintaxe

NTSTATUS FLTAPI FltDeleteFileContext(
  [in]  PFLT_INSTANCE Instance,
  [in]  PFILE_OBJECT  FileObject,
  [out] PFLT_CONTEXT  *OldContext
);

Parâmetros

[in] Instance

Ponteiro de instância opaco para o chamador. Esse parâmetro é necessário e não pode ser NULL.

[in] FileObject

Ponteiro de objeto de arquivo para o arquivo. Esse parâmetro é necessário e não pode ser NULL.

[out] OldContext

Ponteiro para uma variável alocada pelo chamador que recebe o endereço do contexto excluído. Se nenhum contexto correspondente for encontrado, essa variável receberá NULL_CONTEXT. Esse parâmetro é opcional e pode ser NULL. Para obter mais informações sobre esse parâmetro, consulte a seção Comentários a seguir.

Retornar valor

FltDeleteFileContext retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:

Código de retorno Descrição
STATUS_NOT_FOUND Nenhum contexto correspondente foi encontrado. Este é um código de erro.
STATUS_NOT_SUPPORTED Não há suporte para contextos de arquivo para esse arquivo. Este é um código de erro.

Comentários

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

Como os contextos são contados por referência, geralmente não é necessário que um driver de minifiltro chame uma rotina como FltDeleteFileContext ou FltDeleteContext para excluir explicitamente um contexto.

Um driver de minifiltro chama FltDeleteFileContext para recuperar e excluir um contexto de arquivo que ele definiu anteriormente para um arquivo chamando FltSetFileContext.

Se o parâmetro OldContext for NULL na entrada e um contexto de arquivo correspondente for encontrado, FltDeleteFileContext liberará a referência que foi adicionada pela chamada anterior do driver de minifiltro para FltSetFileContext. O contexto excluído geralmente é liberado imediatamente, a menos que haja uma referência pendente nele (por exemplo, porque o contexto ainda está sendo usado por outro thread).

Se o parâmetro OldContext não for NULL e um contexto de arquivo correspondente for encontrado e retornado, o chamador será responsável por liberar a referência adicionada por FltSetFileContext. Para liberar essa referência, o driver de minifiltro deve chamar FltReleaseContext no contexto de arquivo excluído o mais rápido possível depois de executar qualquer limpeza necessária.

Para alocar um novo contexto, chame FltAllocateContext.

Para determinar se há suporte para contextos de arquivo para um determinado arquivo, chame FltSupportsFileContexts ou FltSupportsFileContextsEx.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista e posterior
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua Fltkernel.h)
Biblioteca FltMgr.lib
IRQL <= APC_LEVEL

Confira também

FLT_CONTEXT_REGISTRATION

FltAllocateContext

FltDeleteContext

FltGetFileContext

FltReleaseContext

FltSetFileContext

FltSupportsFileContexts

FltSupportsFileContextsEx