2.2.8.3.1.2 TXUSER_GETTXDETAILS_MTAG_GOTIT

The TXUSER_GETTXDETAILS_MTAG_GOTIT message provides the client with name and identifier details for the transaction superior and all enlisted subordinates.


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)

...

...

lSubordinateCount

Reserved

vszSuperiorName (variable)

...

vszSuperiorID (variable)

...

rgSubordinates (variable)

...

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

  • The dwUserMsgType field MUST be 0x00004702.

  • The dwcbVarLenData field MUST be at least 16 bytes.

lSubordinateCount (4 bytes): This field MUST contain the number of subordinates in the rgSubordinates array that follows.

Reserved (4 bytes): Reserved. This value MUST be set to zero and MUST be ignored on receipt.

vszSuperiorName (variable): This field MUST contain an OLETX_VARLEN_STRING structure. The structure specifies an implementation-specific name for the Name property of the Superior Enlistment object (see section 3.2.1) that is maintained by the Core Transaction Manager Facet (section 1.3.3.3.1). The Core Transaction Manager Facet is initialized as specified in Initialization (section 3.2.3).

If the transaction manager is the root transaction manager for the transaction, the value MUST be a zero-length OLETX_VARLEN_STRING. If the transaction manager is not acting as the root transaction manager for the transaction, the value MUST NOT be a zero-length OLETX_VARLEN_STRING. This field MUST be aligned on a 4-byte boundary by padding with arbitrary values that MUST be ignored on receipt.

vszSuperiorID (variable): This field contains an OLETX_VARLEN_STRING structure. The structure MUST contain an implementation-specific identifier that corresponds to the Enlistment Object.Identifier property of the Superior Enlistment object (section 3.2.1) that is maintained by the Core Transaction Manager Facet as described for Enlistment objects (section 3.1.1). The Core Transaction Manager Facet is initialized as specified in Initialization (section 3.2.3 ). If the transaction manager is the root transaction manager for the transaction, the value MUST be a zero-length OLETX_VARLEN_STRING. This field MUST be aligned on a 4-byte boundary by padding with arbitrary values that MUST be ignored on receipt.

rgSubordinates (variable): An array of OLETX_VARLEN_STRING structure pairs. Each pair MUST specify an implementation-specific name, followed by an implementation-specific identifier. The array MUST contain lSubordinateCount pairs of OLETX_VARLEN_STRING structures, representing the collection of subordinates enlisted on the transaction. If lSubordinateCount contains zero, this field MUST NOT be present.

This field MUST be aligned on a 4-byte boundary by padding with arbitrary values that MUST be ignored on receipt. The name and identifier correspond to the Name and Enlistment Object.Identifier properties (section 3.1.1) respectively, of the Phase One Enlistment list that is maintained by the core transaction manager facet (section 3.2.1) and initialized as specified in Enlistment Object Initialization (section 3.1.3.1).