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

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

Синтаксис

NTSTATUS TmCommitEnlistment(
  [in] PKENLISTMENT   Enlistment,
  [in] PLARGE_INTEGER TmVirtualClock
);

Параметры

[in] Enlistment

Указатель на объект зачисления. Компонент может получать этот указатель в качестве входных данных для процедуры обратного вызова ResourceManagerNotification . Кроме того, компонент может вызвать ObReferenceObjectByHandle и предоставить дескриптор объекта, указанный при предыдущем вызове ZwCreateEnlistment, TmCreateEnlistment или ZwOpenEnlistment .

[in] TmVirtualClock

Указатель на значение виртуальных часов. Этот параметр является необязательным и может иметь значение NULL.

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

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

Код возврата Описание
STATUS_ENLISTMENT_NOT_SUPERIOR
Вызывающий объект не является превосходным диспетчером транзакций для зачисления.
STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED
Вызывающий объект не зарегистрировался для получения уведомлений TRANSACTION_NOTIFY_COMMIT_COMPLETE.
STATUS_TRANSACTION_REQUEST_NOT_VALID
Транзакция зачисления не находится в состоянии, которое позволяет ее зафиксировать.
STATUS_TRANSACTION_NOT_ACTIVE
Операция фиксации для этой транзакции уже запущена.
STATUS_TRANSACTION_ALREADY_ABORTED
Невозможно зафиксировать транзакцию, так как она была откатена.
 

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

Комментарии

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

Вызывать TmCommitEnlistment могут только диспетчеры транзакций высокого звена.

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

Требования

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

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

ObReferenceObjectByHandle

ResourceManagerNotification

TmCreateEnlistment

ZwCommitEnlistment

ZwCreateEnlistment

ZwOpenEnlistment