Объекты транзакций
Объекты транзакций представляют транзакции. Транзакционный клиент создает транзакцию, выполняет определенную работу, а также фиксирует или откатывает транзакцию.
KTM предоставляет набор подпрограмм объекта транзакций, которые могут вызывать транзакционные клиенты в режиме ядра. KTM также предоставляет аналогичный набор процедур пользовательского режима, которые могут вызывать приложения пользовательского режима. Дополнительные сведения о процедурах пользовательского режима см. в Microsoft Windows SDK.
KTM создает объект транзакции, когда клиент вызывает ZwCreateTransaction. Клиент может вызвать ZwCommitTransaction или ZwRollbackTransaction для фиксации или отката транзакции.
Компоненты TPS могут вызывать ZwOpenTransaction , чтобы открыть дополнительные дескрипторы для объекта транзакции.
Клиенты закрывают дескрипторы для объектов транзакций, вызывая ZwClose. Если последний дескриптор закрывается до фиксации объекта транзакции, KTM отправляет TRANSACTION_NOTIFY_ROLLBACK уведомления всем диспетчерам ресурсов, у которых есть зачисление для транзакции.
Операционная система удаляет объект после закрытия последнего дескриптора, а KTM освобождает все свои ссылки на объект.