Função FltDeleteStreamHandleContext (fltkernel.h)
FltDeleteStreamHandleContext remove um contexto que uma determinada instância de driver de minifiltro definiu para um determinado identificador de fluxo e marca o contexto para exclusão.
Sintaxe
NTSTATUS FLTAPI FltDeleteStreamHandleContext(
[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 identificador de fluxo.
[in] FileObject
Ponteiro para um objeto de arquivo para o fluxo de arquivos.
[out] OldContext
Ponteiro para uma variável alocada pelo chamador que recebe o endereço do contexto excluído. Esse parâmetro é opcional e pode ser NULL. Se OldContext não for 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.
Retornar valor
FltDeleteStreamHandleContext retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:
Código de retorno | Descrição |
---|---|
STATUS_FLT_DELETING_OBJECT | A Instância especificada está sendo interrompida. 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 identificador de fluxo de arquivos. 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 FltDeleteStreamHandleContext para excluir explicitamente um contexto.
Um driver de minifiltro chama FltDeleteStreamHandleContext para remover um contexto de um identificador de fluxo e marcar o contexto para 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 FltGetStreamHandleContext.
Para definir um contexto de fluxo, chame FltSetStreamHandleContext.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | fltkernel.h (inclua Fltkernel.h) |
Biblioteca | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |