Partilhar via


Função FltDeleteStreamContext (fltkernel.h)

FltDeleteStreamContext remove um contexto que uma determinada instância de driver de minifiltro definiu para um determinado fluxo e marca o contexto para exclusão.

Sintaxe

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

Parâmetros

[in] Instance

Ponteiro de instância opaco para a instância do driver de minifiltro cujo contexto deve ser removido da lista de contextos anexados ao fluxo de arquivos.

[in] FileObject

Ponteiro para um objeto de arquivo para o fluxo de arquivos.

[out] OldContext

Ponteiro para uma variável alocada por chamador que recebe o endereço do contexto excluído. Esse parâmetro é opcional e pode ser NULL. Se OldContext não estiver NULL e não apontar para NULL_CONTEXT, o chamador será responsável por chamar FltReleaseContext para liberar esse contexto quando ele não for mais necessário.

Valor de retorno

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

Código de retorno Descrição
STATUS_FLT_DELETING_OBJECT O de Instância de especificado está sendo derrubado. Este é um código de erro.
STATUS_NOT_FOUND Nenhum contexto correspondente foi encontrado. Este é um código de erro.
STATUS_NOT_SUPPORTED O sistema de arquivos não dá suporte a contextos por fluxo para esse fluxo de arquivos. 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 FltDeleteStreamContext excluir explicitamente um contexto.

Um driver de minifiltro chama FltDeleteStreamContext para remover um contexto de um fluxo de arquivos e marcar o contexto de exclusão. O contexto geralmente é liberado imediatamente, a menos que haja uma referência pendente nele (por exemplo, porque o contexto ainda está em uso por outro thread).

Para alocar um novo contexto, chame FltAllocateContext.

Para obter um contexto de fluxo, chame FltGetStreamContext .

Para definir um contexto de fluxo, chame FltSetStreamContext.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho fltkernel.h (inclua Fltkernel.h)
biblioteca FltMgr.lib
IRQL <= APC_LEVEL

Consulte também

FltAllocateContext

FltDeleteContext

FltGetStreamContext

FltReleaseContext

FltSetStreamContext