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


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

Подпрограмма FltGetTransactionContext извлекает контекст, заданный для транзакции заданным драйвером минифильтра.

Синтаксис

NTSTATUS FLTAPI FltGetTransactionContext(
  [in]  PFLT_INSTANCE Instance,
  [in]  PKTRANSACTION Transaction,
  [out] PFLT_CONTEXT  *Context
);

Параметры

[in] Instance

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

[in] Transaction

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

[out] Context

Указатель на переменную, выделенную вызывающим объектом, которая получает адрес контекста транзакции.

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

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

Код возврата Описание
STATUS_NOT_FOUND Соответствующий контекст не найден. Это код ошибки.

Комментарии

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

FltGetTransactionContext увеличивает количество ссылок на контекст, на который указывает параметр Context . Если этот указатель контекста больше не нужен, вызывающий объект должен уменьшать количество ссылок, вызывая FltReleaseContext. Таким образом, каждый успешный вызов FltGetTransactionContext должен соответствовать последующему вызову FltReleaseContext.

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

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

Чтобы удалить контекст транзакции, вызовите Метод FltDeleteTransactionContext или FltDeleteContext.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть fltkernel.h (включая Fltkernel.h)
Библиотека FltMgr.lib
DLL FltMgr.sys
IRQL <= APC_LEVEL

См. также раздел

FltAllocateContext

FltCommitComplete

FltDeleteContext

FltDeleteTransactionContext

FltEnlistInTransaction

FltPrepareComplete

FltPrepareComplete

FltReleaseContext

FltRollbackComplete

FltRollbackEnlistment

FltSetTransactionContext