3.6.5.4.1.1 Receiving a TXUSER_VOTER_MTAG_CREATE Message
When the transaction manager communicating with a resource manager facet receives a TXUSER_VOTER_MTAG_CREATE message, it MUST perform the following actions:
If the connection state is Idle:
Set the connection state to Creating Voter.
Find the transaction object in the transaction manager's transaction table using the guidTx field from the message.
If the transaction is not found:
Send a TXUSER_VOTER_MTAG_CREATE_TX_NOT_FOUND message using the connection.
Set the connection state to Ended.
Otherwise:
Create a new Enlistment object with the following values:
The transaction manager communicating with a resource manager facet
The transaction object
The connection
Set the Resource Manager Identifier field of the Enlistment object to aNULL GUID.
Assign the new Enlistment object to the enlistment field of the connection.
Signal the Create Voter Enlistment event on the Core Transaction Manager Facet with the Enlistment object.
Otherwise, the message MUST be processed as an invalid message as specified in section 3.1.6.