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 do 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 por chamador que recebe o endereço do contexto excluído. Se nenhum contexto de correspondência 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.
Valor de retorno
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 este arquivo. Este é um código de erro. |
Observações
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 que foi 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 |
---|---|
de cliente com suporte mínimo | Windows Vista e posterior |
da Plataforma de Destino | Universal |
cabeçalho | fltkernel.h (inclua Fltkernel.h) |
biblioteca | FltMgr.lib |
IRQL | <= APC_LEVEL |