Объекты KTM
Диспетчер транзакций ядра (KTM) определяет следующие четыре типа объектов:
Объекты диспетчера транзакций, которые KTM использует для хранения сведений о потоке журналов в памяти для системы обработки транзакций (TPS).
Объекты Resource Manager, представляющие диспетчеры ресурсов в TPS.
Объекты транзакций, представляющие транзакции, создаваемые транзакциальными клиентами .
Объекты зачисления, представляющие зачисления, обеспечивающие соединения между транзакциями и диспетчерами ресурсов.
Все эти четыре типа объектов имеют следующие характеристики:
Чтобы создать объект и получить дескриптор объекта, компоненты TPS могут вызывать подпрограмму создания .
Чтобы получить дополнительные дескрипторы объектов к существующему объекту, компоненты TPS могут вызывать открытую подпрограмму.
Чтобы получить сведения об объекте, компоненты TPS могут вызывать подпрограмму запроса .
Чтобы закрыть дескриптор объекта, компоненты TPS вызывают ZwClose.
KTM назначает идентификатор GUID каждому объекту. Для объектов транзакций этот guid идентификатора также называется идентификатором единицы работы (UOW), который могут указывать клиенты. Компоненты TPS могут использовать идентификаторы GUID идентификаторов для отслеживания объектов. Компонент TPS, создающий объект, может передать идентификатор GUID объекта другому компоненту, чтобы последний компонент смог открыть дескриптор для объекта.
Любой компонент TPS, использующий KTM, может вызывать ZwEnumerateTransactionObject для перечисления объектов KTM, но большинству компонентов не требуется вызывать эту подпрограмму.
В этом разделе рассматриваются следующие вопросы.