3.4.5.3 Receiving COMMIT TIP Command
When the TIP transaction manager communicating with an application facet (section 1.3.1.2.3) receives a COMMIT TIP command, it MUST perform the following actions:
If the Connection Type field of the receiving TIP connection object is not set to Secondary, signal the Invalid TIP Command event (section 3.4.7.1) and terminate the processing of this TIP command.
If the State field of the receiving TIP connection object is not set to either Begun or Aborted, signal the Invalid TIP Command event (section 3.4.7.1) and terminate the processing of this TIP command.
If the State field of the receiving TIP connection object is set to Begun:
Signal the Begin Phase Zero ([MS-DTCO] section 3.2.7.5) event on the core transaction manager facet with the following argument:
The transaction object referenced by the enlistment object referenced by the receiving TIP connection object.
Otherwise, if the State field of the receiving TIP connection object is set to Aborted:
Set the State field of the TIP connection object referenced by the provided enlistment object to Idle.
Send an ABORTED TIP command.