Função FltDeleteInstanceContext (fltkernel.h)
FltDeleteInstanceContext remove um contexto de uma determinada instância e marca o contexto de exclusão.
Sintaxe
NTSTATUS FLTAPI FltDeleteInstanceContext(
[in] PFLT_INSTANCE Instance,
[out] PFLT_CONTEXT *OldContext
);
Parâmetros
[in] Instance
Ponteiro de instância opaco para a instância.
[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
FltDeleteInstanceContext 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. |
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 FltDeleteInstanceContext excluir explicitamente um contexto.
Um driver de minifiltro chama FltDeleteInstanceContext para remover um contexto de uma instância 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á sendo usado por outro thread).
Para alocar um novo contexto, chame FltAllocateContext.
Para obter um contexto de instância, chame FltGetInstanceContext .
Para definir um contexto de instância, chame FltSetInstanceContext.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
cabeçalho | fltkernel.h (inclua Fltkernel.h) |
biblioteca | FltMgr.lib |
IRQL | <= APC_LEVEL |