3.4.5.2 Receiving BEGIN TIP Command
When the TIP transaction manager communicating with an application facet (section 1.3.1.2.3) receives a BEGIN TIP command, it MUST perform the following actions:
If the value of the Allow Network Transactions flag or the Allow Inbound Transactions flag is FALSE:
Call the TIP connection manager's TerminateTipConnection operation with the following argument:
The provided TIP connection object.
Terminate the processing of this TIP command.
Test whether the receiving TIP connection object meets any of the following conditions:
The Connection Type field of the receiving TIP connection object is not set to Secondary.
The State field of the receiving TIP connection object is not set to Idle.
The value of the Allow Begin flag is FALSE.
If the receiving TIP connection object satisfies any of the conditions, signal the Invalid TIP Command event (section 3.4.7.1) and terminate the processing of this TIP command.
Create a new transaction object with the following value:
The Transaction Identifier field is set to a new GUID value.
Set the transaction object referenced by the enlistment object referenced by the receiving TIP connection object to the new transaction object.
Signal the Create Transaction ([MS-DTCO] section 3.2.7.13) event on the core transaction manager facet with the following argument:
The enlistment object referenced by the receiving TIP connection object.