Объекты диспетчера транзакций
Цель main объекта диспетчера транзакций заключается в создании и обслуживании потока журналов CLFS, который KTM использует для записи сведений о состоянии транзакций.
Объект диспетчера транзакций также содержит значение виртуальных часов , которое KTM поддерживает и использует для последовательности данных в потоке журнала объекта.
KTM предоставляет набор подпрограмм объекта диспетчера транзакций, которые могут вызывать компоненты TPS в режиме ядра. KTM также предоставляет аналогичный набор процедур пользовательского режима, которые могут вызывать приложения пользовательского режима. Дополнительные сведения о подпрограммах пользовательского режима см. в Microsoft Windows SDK.
KTM создает объект диспетчера транзакций, когда диспетчер ресурсов вызывает ZwCreateTransactionManager. Как правило, каждый диспетчер ресурсов в TPS создает объект диспетчера транзакций. Но вы также можете разработать TPS, в котором несколько диспетчеров ресурсов совместно используют один объект диспетчера транзакций.
Компоненты TPS могут открывать дополнительные дескрипторы для существующего объекта диспетчера транзакций путем вызова ZwOpenTransactionManager. Например, если в TPS есть несколько диспетчеров ресурсов, которые совместно используют один объект диспетчера транзакций, один диспетчер ресурсов вызывает ZwCreateTransactionManager , а затем передает GUID объекта другим диспетчерам ресурсов, чтобы они могли вызвать ZwOpenTransactionManager.
Диспетчеры ресурсов закрывают свои дескрипторы для объектов диспетчера транзакций, вызывая ZwClose.
Операционная система удаляет объект после закрытия последнего дескриптора, а KTM освобождает все его ссылки на объект.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по