2.2.4.3.1 XAUSER_XACT_MTAG_START

The XAUSER_XACT_MTAG_START message creates an XA Transaction Branch.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

MsgHeader (24 bytes)

...

...

guidXaRm (16 bytes)

...

...

XAUow (144 bytes)

...

...

isoLevel (optional)

Timeout (optional)

szDesc (40 bytes, optional)

...

...

isoFlags (optional)

MsgHeader (24 bytes): This field MUST contain a MESSAGE_PACKET structure:

  • The dwUserMsgType field MUST be 0x00004010.

  • The dwcbVarLenData field MUST be one of the following values.

    Value

    Meaning

    160

    The isoLevel, Timeout, szDesc, and isoFlags fields are not present in the message.

    212

    The isoLevel, Timeout, szDesc, and isoFlags fields are present in the message.

guidXaRm (16 bytes): This field MUST contain a GUID that specifies an XA Superior Transaction Manager Identifier for the XA Superior Transaction Manager.

XAUow (144 bytes): This field MUST contain an XA_UOW structure that specifies a length-qualified XA Transaction Branch Identifier.

isoLevel (4 bytes): This field MUST contain one value from the OLETX_ISOLATION_LEVEL enumeration (as specified in [MS-DTCO]) that specifies the isolation level of the transaction. It is present only when the dwcbVarLenData field is set to 212.

Timeout (4 bytes):  A 32-bit unsigned integer value that MUST contain the time-out value, in milliseconds, for the transaction. A value of zero MUST be interpreted as an infinite time-out. A transaction SHOULD NOT abort due to time-out before the time-out that is specified by this value has expired. This field is present only when the dwcbVarLenData field is set to 212.<5>

szDesc (40 bytes):  The description of the transaction, as a fixed-size array of 40 bytes that contains a null-terminated Latin-1 ANSI string, as specified in [ISO/IEC-8859-1]. This field MUST be set to an implementation-specific value. Any bytes that follow the first null-terminator character SHOULD be set to zero and MUST be ignored on receipt. It is present only when the dwcbVarLenData field is set to 212.

isoFlags (4 bytes): The isolation flags for the transaction. This field MUST contain the bitwise OR operator of zero or more values from the OLETX_ISOLATION_FLAGS enumeration (as specified in [MS-DTCO]). It is present only when the dwcbVarLenData field is set to 212.