Прочитать на английском

Поделиться через


Функция FltDeleteTransactionContext (fltkernel.h)

Подпрограмма FltDeleteTransactionContext удаляет контекст из данной транзакции и помечает контекст для удаления.

Синтаксис

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

Параметры

[in] Instance

Указатель непрозрачного экземпляра для вызывающего объекта.

[in] Transaction

Непрозрачный указатель транзакции для транзакции, контекст которой удаляется.

[out, optional] OldContext

Указатель на выделенную вызывающим переменную, которая получает адрес удаленного контекста. Этот параметр является необязательным и может быть null. Если OldContext не NULL и не указывает на NULL_CONTEXT, вызывающий объект отвечает за вызов FltReleaseContext, чтобы освободить этот контекст, если он больше не нужен.

Возвращаемое значение

FltDeleteTransactionContext возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например следующее:

Возвращаемый код Описание
STATUS_FLT_DELETING_OBJECT Указанный экземпляр выполняется отключается. Это код ошибки.
STATUS_NOT_FOUND Контекст сопоставления не найден. Это код ошибки.

Замечания

Дополнительные сведения о контекстах см. в разделе О контекстах минифильтра.

Так как контексты считаются ссылочными, обычно не требуется для вызова подпрограммы, такой как FltDeleteTransactionContext для явного удаления контекста.

Драйвер мини-фильтра вызывает FltDeleteTransactionContext, чтобы удалить контекст из транзакции и пометить контекст для удаления. Контекст обычно освобождается немедленно, если в нем нет выдающейся ссылки (например, поскольку контекст по-прежнему используется другим потоком).

Чтобы выделить новый контекст, вызовите FltAllocateContext.

Чтобы получить контекст транзакции, вызовите FltGetTransactionContext.

Чтобы задать контекст транзакции, вызовите FltSetTransactionContext.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista и более поздние версии
целевая платформа Всеобщий
заголовка fltkernel.h (include Fltkernel.h)
библиотеки FltMgr.lib
IRQL <= APC_LEVEL

См. также

FltAllocateContext

FltDeleteContext

FltCommitComplete

FltEnlistInTransaction

FltGetTransactionContext

FltPrepareComplete

FltPrepareComplete

FltReleaseContext

FltRollbackComplete

FltRollbackEnlistment

FltSetTransactionContext