Partilhar via


Função FltDeleteTransactionContext (fltkernel.h)

A rotina FltDeleteTransactionContext remove um contexto de uma determinada transação e marca o contexto para exclusão.

Sintaxe

NTSTATUS FLTAPI FltDeleteTransactionContext(
  [in]            PFLT_INSTANCE Instance,
  [in]            PKTRANSACTION Transaction,
  [out, optional] PFLT_CONTEXT  *OldContext
);

Parâmetros

[in] Instance

Ponteiro de instância opaco para o chamador.

[in] Transaction

Ponteiro de transação opaco para a transação cujo contexto está sendo excluído.

[out, optional] 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

FltDeleteTransactionContext retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como o seguinte:

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 FltDeleteTransactionContext excluir explicitamente um contexto.

Um driver de minifiltro chama FltDeleteTransactionContext para remover um contexto de uma transação 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á sendo usado por outro thread).

Para alocar um novo contexto, chame FltAllocateContext.

Para recuperar um contexto de transação, chame FltGetTransactionContext.

Para definir um contexto de transação, chame FltSetTransactionContext.

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

Consulte também

FltAllocateContext

FltDeleteContext

FltCommitComplete

FltEnlistInTransaction

FltGetTransactionContext

FltPrePrepareComplete

FltPrepareComplete

FltReleaseContext

FltRollbackComplete

FltRollbackEnlistment

FltSetTransactionContext