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


Функция TmRollbackTransaction (wdm.h)

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

Синтаксис

NTSTATUS TmRollbackTransaction(
  [in] PKTRANSACTION Transaction,
  [in] BOOLEAN       Wait
);

Параметры

[in] Transaction

Указатель на объект транзакции. Чтобы получить этот указатель, компонент должен вызвать ObReferenceObjectByHandle и предоставить дескриптор объекта, указанный в предыдущем вызове ZwCreateTransaction или ZwOpenTransaction .

[in] Wait

Логическое значение, которое вызывающий объект присваивает значение TRUE для синхронной операции или FALSE для асинхронной операции. Если для этого параметра задано значение TRUE, вызов не возвращается до завершения операции отката.

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

TmRollbackTransaction возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае эта подпрограмма может возвращать одно из следующих значений:

Код возврата Описание
STATUS_TRANSACTION_ALREADY_COMMITTED
Невозможно выполнить откат транзакции, так как она уже зафиксирована.
STATUS_TRANSACTION_REQUEST_NOT_VALID
Транзакция не была зафиксирована, но ее текущее состояние не допускает отката.
STATUS_PENDING
Уведомления о откате были поставлены в очередь для диспетчеров ресурсов, а вызывающий объект указал FALSE для параметра Wait .
 

Подпрограмма может возвращать другие значения NTSTATUS.

Комментарии

Подпрограмма TmRollbackTransaction — это версия подпрограммы ZwRollbackTransaction на основе указателя.

Сведения о том, когда следует использовать подпрограммы KTM TmXxx вместо процедур ZwXxx , см. в разделе Использование подпрограмм TmXxx.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционной системы.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

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

ObReferenceObjectByHandle

ZwCreateTransaction

ZwOpenTransaction

ZwRollbackTransaction