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


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

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

Синтаксис

__kernel_entry NTSYSCALLAPI NTSTATUS NtCommitEnlistment(
  [in]           HANDLE         EnlistmentHandle,
  [in, optional] PLARGE_INTEGER TmVirtualClock
);

Параметры

[in] EnlistmentHandle

Дескриптор объекта перечисления, полученный предыдущим вызовом ZwCreateEnlistment или ZwOpenEnlistment. Объект должен представлять более высокий зачисления, а дескриптор должен иметь ENLISTMENT_SUPERIOR_RIGHTS доступ к объекту.

[in, optional] TmVirtualClock

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

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

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

Возвращаемый код Описание
STATUS_OBJECT_TYPE_MISMATCH
Указанный дескриптор не является дескриптором объекта перечисления.
STATUS_INVALID_HANDLE
Дескриптор объекта недопустим.
STATUS_ACCESS_DENIED
Вызывающий объект не имеет соответствующего доступа к объекту перечисления.
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 .

Замечания

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

Вызывающие ZwCommitEnlistment должны регистрироваться для получения уведомлений TRANSACTION_NOTIFY_COMMIT_COMPLETE .

подпрограмма ZwCommitEnlist ment приводит к отправке TRANSACTION_NOTIFY_COMMIT уведомлений KTM всем диспетчерам ресурсов, которые были зачислены в транзакцию.

Дополнительные сведения о ZwCommitEnlistment см. в создании диспетчера транзакций и обработке операций фиксации.

Для вызовов драйверов в режиме ядра NtXxx и ZwXxx версии подпрограммы Windows Native System Services могут вести себя по-разному в том, как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между NtXxx и ZwXxx версиями подпрограммы см. в разделе Using Nt and Zw Versions of the Native System Services Routines.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Windows Vista и более поздних версиях операционной системы.
целевая платформа Всеобщий
заголовка wdm.h (include Wdm.h, Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
правил соответствия DDI HwStorPortProhibitedDDIs, PowerIrpDDis

См. также

TmCommitEnlistment

использование версий собственных системных служб и Zw

ZwCreateEnlistment

ZwOpenEnlistment