1.3.1.1.1 Transaction Enlistment and Completion
The following sequence diagram is a schematic of the interaction that takes place between the various software components involved in the usage scenario when an OleTx Resource Manager is enlisted in a transaction coordinated by an XA Transaction Manager, and the transaction is committed.

Figure 3: XA Superior Transaction enlistment and completion
The protocols involved are specified as follows:
The protocol between the XA Superior Transaction Manager and the XA Subordinate Transaction Manager Facet is specified by this document in 2 and 3.
The protocol between the XA Subordinate Transaction Manager Facet and the Core Transaction Manager Facet is specified in [MS-DTCO].
The protocol between the OleTx Resource Manager and the Core Transaction Manager Facet is specified in [MS-DTCO].
The protocol between the application and the OleTx Resource Manager is implementation-specific.
The interface between the XA Transaction Manager and the XA Superior Transaction Manager is specified in [XOPEN-DTP], with the following exceptions:
There is an additional implementation-specific XA Lookup event.
The ax_reg and the ax_unreg APIs are not used.
To enlist the OleTx Resource Managers, the XA Transaction Manager first calls xa_start function on the XA Superior Transaction Manager, passing in an XID. This will cause an OleTx transaction to be created in the XA Subordinate Transaction Manager Facet, which will be passed back to the XA Superior Transaction Manager. The XA Transaction Manager then triggers the XA Lookup event on the XA Superior Transaction Manager, passing in the XID, which will return the OleTx transaction.
The OleTx Resource Managers are then enlisted in the OleTx transaction as specified in [MS-DTCO] section 3.5.
The XA Transaction Manager then follows the Two-Phase Commit Protocol.