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

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

Синтаксис

NTSYSCALLAPI NTSTATUS ZwCommitTransaction(
  [in] HANDLE  TransactionHandle,
  [in] BOOLEAN Wait
);

Параметры

[in] TransactionHandle

Дескриптор объекта транзакции. Компонент получает этот дескриптор от ZwCreateTransaction или ZwOpenTransaction. Дескриптор должен иметь TRANSACTION_COMMIT доступ к объекту .

[in] Wait

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

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

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

Код возврата Описание
STATUS_OBJECT_TYPE_MISMATCH
Дескриптор, указанный для параметра TransactionHandle , не является дескриптором объекта транзакции.
STATUS_INVALID_HANDLE
Указанный дескриптор объекта транзакции недопустим.
STATUS_ACCESS_DENIED

Вызывающий объект не имеет соответствующего доступа к объекту транзакции.

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

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

Комментарии

Дополнительные сведения о том, как клиенты транзакций должны использовать подпрограмму ZwCommitTransaction , см. в разделе Создание транзакционного клиента.

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

Для вызовов из драйверов режима ядра версии NtXxx и ZwXxx подпрограммы Собственные системные службы Windows могут вести себя по-разному, так как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между версиями подпрограмм NtXxx и ZwXxx см. в разделе Использование версий NT и Zw подпрограмм собственных системных служб.

Требования

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

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

TmCommitTransaction

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

ZwCreateTransaction

ZwOpenTransaction