3.7.7.2 Begin Phase One
The Begin Phase One event MUST be signaled with the following arguments:
An Enlistment object.
A Boolean Single-Phase Commit value:
If true, the Superior Transaction Manager Facet (section 1.3.3.3.4) SHOULD attempt to perform a Single-Phase Commit.
If false, the Superior Transaction Manager Facet MUST NOT attempt to perform a Single-Phase Commit.
If the Begin Phase One event is signaled, the Superior Transaction Manager Facet MUST perform the following actions:
If the provided Single-Phase Commit value is set to true:
Send a PARTNERTM_PROPAGATE_MTAG_PREPAREREQ (section 2.2.9.1.1.1.6) message using the connection.
Set the fSinglePhase field to a nonzero value.
Set the grfRM field to the GRFRM field of the transaction object referenced by the Enlistment object.
Otherwise:
Send a PARTNERTM_PROPAGATE_MTAG_PREPAREREQ (section 2.2.9.1.1.1.6) message using the connection.
Set the fSinglePhase field to zero.
Set the grfRM field to the GRFRM field of the transaction object referenced by the Enlistment object.
Set the connection state to Awaiting Prepare Response.