Objetos de inscripción

Un objeto de inscripción representa la inscripción de un administrador de recursos en una transacción. Para que un administrador de recursos pueda recibir notificaciones sobre los eventos de una transacción, el administrador de recursos debe llamar a ZwCreateEnlistment para crear una inscripción en la transacción.

KTM proporciona un conjunto de rutinas de objetos de inscripción a las que pueden llamar los administradores de recursos en modo kernel. KTM también proporciona un conjunto similar de rutinas en modo usuario a las que pueden llamar las aplicaciones en modo usuario. Para obtener más información sobre las rutinas en modo de usuario, consulte el Microsoft Windows SDK.

KTM crea un objeto de inscripción cuando un administrador de recursos llama a ZwCreateEnlistment para inscribirse en una transacción que el administrador de recursos ha recibido (normalmente desde un cliente transaccional).

Los componentes de TPS pueden llamar a ZwOpenEnlistment para abrir identificadores adicionales en un objeto de inscripción. Pero la mayoría de los diseños tpS no requieren controladores abiertos adicionales.

Los administradores de recursos cierran sus identificadores para inscribir objetos mediante una llamada a ZwClose. Si se cierra el último identificador antes de que se haya confirmado el objeto de transacción asociado, KTM envía TRANSACTION_NOTIFY_ROLLBACK notificaciones a todos los administradores de recursos que tienen una inscripción para la transacción.

El sistema operativo elimina el objeto después de cerrar el último identificador y KTM ha liberado todas sus referencias al objeto .