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

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

Синтаксис

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

Параметры

[in] Transaction

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

[in] Wait

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

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

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

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

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

Комментарии

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

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

Требования

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

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

ObReferenceObjectByHandle

ZwCommitTransaction

ZwCreateTransaction

ZwOpenTransaction