3.2.5.8 Receiving PUSHED TIP Command
This event MUST be signaled with the following argument:
subordinate's transaction identifier
When the TIP superior transaction manager facet (section 1.3.1.2.1) receives a PUSHED TIP command, it MUST perform the following actions:
Test whether the receiving TIP connection object meets the following conditions:
The Connection Type field is set to Primary.
The State field is set to Idle Push.
If the receiving TIP connection does not satisfy the conditions, signal the Invalid TIP Command Event (section 3.4.7.1) and terminate the processing of this TIP command.
If the provided subordinate's transaction identifier does not have the OleTxTipTransactionIdentifier format, as specified in section 2.2:
Call the TIP connection manager's HasPartnerTransaction operation with the following parameters:
The Partner Transaction Manager Address field of the enlistment object referenced by the receiving TIP connection object.
The provided subordinate's transaction identifier.
If this operation returns TRUE, notify the higher-layer business logic that the Push request failed, signal the Invalid TIP Command Event (section 3.4.7.1), and terminate the processing of this TIP command.
Signal the Create Subordinate Enlistment event on the core transaction manager facet with the following argument:
The enlistment object referenced by the receiving TIP connection.