To begin the unmarshaling process, the receiving application initiates a connection over its transport session with its transaction manager.
CONNTYPE_TXUSER_ASSOCIATE: The packet sequence starts when the receiving application initiates a connection by using CONNTYPE_TXUSER_ASSOCIATE.
|
Field
|
Value
|
Value description
|
|
MsgTag
|
0x00000005
|
MTAG_CONNECTION_REQ
|
|
fIsMaster
|
0x00000001
|
1
|
|
dwConnectionId
|
0x00000001
|
1
|
|
dwUserMsgType
|
0x00000011
|
CONNTYPE_TXUSER_ASSOCIATE
|
|
dwcbVarLenData
|
0x00000000
|
0
|
|
dwReserved1
|
0xcd64cd64
|
dwReserved1: 0xcd64cd64
|
The receiving application then sends a TXUSER_ASSOCIATE_MTAG_ASSOCIATE user message with the information transmitted to the receiver in the Propagation Token.
|
Field
|
Value
|
Value description
|
|
MsgTag
|
0x000000FF
|
MTAG_USER_MESSAGE
|
|
fIsMaster
|
0x00000001
|
1
|
|
dwConnectionId
|
0x00000001
|
1
|
|
dwUserMsgType
|
0x00002031
|
TXUSER_ASSOCIATE_MTAG_ASSOCIATE
|
|
dwcbVarLenData
|
0x0000007C
|
124
|
|
dwReserved1
|
0xcd64cd64
|
dwReserved1: 0xcd64cd64
|
|
guidTx
|
0x4046037E
0x46C99722
0x06999883
0x35CB4123
|
4046037e-9722-46c9-9883-99062341cb35
|
|
isoLevel
|
0x00100000
|
ISOLATIONLEVEL_SERIALIZABLE
|
|
isoFlags
|
0x00000005
|
ISOFLAG_RETAIN_DONTCARE
|
|
cbSourceTmAddr
|
0x00000038
|
56
|
|
szDesc
|
0x706D6173
0x7420656C
0x736E6172
0x69746361
0x00006E6F
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
|
"sample transaction"
|
|
guidSignature
|
0xDC85CB48
0x11d2D8A5
0x8000828B
0x5AF70D5F
|
DC85CB48-D8A5-11d2-828B-00805F0DF75A
|
|
guidEndpoint
|
0xBAA04775
0x4F498F43
0x1B5AADEF
0x0B195121
|
BAA04775-8F43-4F49-ADEF-5A1B2151190B
|
|
grbComProtsSupported
|
0x00000021
|
PROT_IP_TCP | PROT_LRPC
|
|
wszHostName
|
0x0061004d
0x00680063
0x006e0069
0x005f0065
0x00000031
|
L"Machine_1"
|
When the receiver's transaction manager receives the TXUSER_ASSOCIATE_MTAG_ASSOCIATE message, that transaction manager attempts to locate the transaction in its list of transaction objects by using the transaction identifier. If the transaction object is not found locally, the transaction manager attempts to pull the transaction from the sender's transaction manager by using information received from the TXUSER_ASSOCIATE_MTAG_ASSOCIATE message (compare Branching the Transaction).
If the receiver's transaction manager can successfully locate the transaction object or if the requested transaction is successfully pulled to the receiver's transaction manager, it replies to the receiver with a TXUSER_ASSOCIATE_MTAG_ASSOCIATED user message.
|
Field
|
Value
|
Value description
|
|
MsgTag
|
0x00000FFF
|
MTAG_USER_MESSAGE
|
|
fIsMaster
|
0x00000000
|
0
|
|
dwConnectionId
|
0x00000001
|
1
|
|
dwUserMsgType
|
0x00002032
|
TXUSER_ASSOCIATE_MTAG_ASSOCIATED
|
|
dwcbVarLenData
|
0x00000000
|
0
|
|
dwReserved1
|
0xcd64cd64
|
dwReserved1: 0xcd64cd64
|
After the receiving application gets the TXUSER_ASSOCIATE_MTAG_ASSOCIATED response from its transaction manager (or if it receives an error response), no more user messages can be sent on this connection and the receiver initiates the disconnect sequence.