Объекты Resource Manager

Объекты Resource Manager представляют диспетчеры ресурсов. Каждый диспетчер ресурсов должен вызывать ZwCreateResourceManager , чтобы зарегистрировать себя в KTM.

KTM предоставляет набор подпрограмм объекта Resource Manager, которые могут вызывать диспетчеры ресурсов в режиме ядра. KTM также предоставляет аналогичный набор процедур пользовательского режима, которые могут вызывать приложения пользовательского режима. Дополнительные сведения о процедурах пользовательского режима см. в Microsoft Windows SDK.

KTM создает объект Resource Manager, когда диспетчер ресурсов вызывает ZwCreateResourceManager.

Компоненты TPS могут вызывать ZwOpenResourceManager , чтобы открыть дополнительные дескрипторы для объекта Resource Manager. Но большинство конструкций TPS не требуют дополнительных открытых дескрипторов.

Диспетчеры ресурсов закрывают дескрипторы для объектов Resource Manager, вызывая ZwClose. Если последний дескриптор закрыт и диспетчер ресурсов по-прежнему завербовал транзакции, которые не были зафиксированы, KTM отправляет TRANSACTION_NOTIFY_ROLLBACK уведомления всем диспетчерам ресурсов для транзакций, связанных с этими зачислениями.

Операционная система удаляет объект после закрытия последнего дескриптора, а KTM освобождает все свои ссылки на объект.