4.1.1 Obtaining an Array of SExtendedEndpointInfo Structures

An Application Role Implementation, as specified in [MS-DTCO] (section 3.3), communicates with a transaction coordinator using an OleTx multiplexing connection, as specified in [MS-CMP], which is in turn layered on top of the OleTx transports infrastructure, as specified in [MS-CMPO]. In this example, it is assumed that an [MS-CMPO] session has been established between the Application Role Implementation and its transaction coordinator. Messages are sent from the Application Role Implementation to the transaction coordinator and vice versa by submitting a MESSAGE_PACKET ([MS-DTCO] (section 2.2.4.1)) to the underlying OleTx multiplexing layer, as specified in [MS-CMP].

This packet sequence is initiated by starting a connection on a transport session between an Application Role Implementation and a transaction coordinator.

CONNTYPE_TXUSER_EXTENDEDWHEREABOUTS: The packet sequence starts when the Application Role Implementation initiates a connection with its transaction coordinator using CONNTYPE_TXUSER_EXTENDEDWHEREABOUTS.

Field

Value

Value description

MsgTag

0x00000005

MTAG_CONNECTION_REQ

fIsMaster

0x00000001

1

dwConnectionId

0x00000001

1

dwUserMsgType

0x0000003D

CONNTYPE_TXUSER_EXTENDEDWHEREABOUTS

dwcbVarLenData

0x00000000

0

dwReserved1

0xCD64CD64

dwReserved1: 0xcd64cd64

The Application Role Implementation then sends a TXUSER_EXTENDEDWHEREABOUTS_MTAG_GET user message to the transaction coordinator.

Field

Value

Value description

MsgTag

0x00000FFF

MTAG_USER_MESSAGE

fIsMaster

0x00000001

1

dwConnectionId

0x00000001

1

dwUserMsgType

0x00005A01

TXUSER_EXTENDEDWHEREABOUTS_MTAG_GET

dwcbVarLenData

0x00000000

0

dwReserved1

0xCD64CD64

dwReserved1: 0xcd64cd64

When the transaction coordinator receives the TXUSER_EXTENDEDWHEREABOUTS_MTAG_GET message from the Application Role Implementation, the transaction coordinator will send a TXUSER_EXTENDEDWHEREABOUTS_MTAG_GOT user message to the Application Role Implementation containing an array of SExtendedEndpointInfo structures, as described in [MS-DTCO] sections 2.2.5.8 and 2.2.5.9.

Field

Value

Value description

MsgTag

0x00000FFF

MTAG_USER_MESSAGE

fIsMaster

0x00000000

0

dwConnectionId

0x00000001

1

dwUserMsgType

0x00005A02

TXUSER_EXTENDEDWHEREABOUTS_MTAG_GOT

dwcbVarLenData

0x00000058

88

dwReserved1

0xCD64CD64

dwReserved1: 0xcd64cd64

dwProtocolCount

0x00000001

1

tmprotDescribed

0x00000004

TmProtocolExtended

cbTmProtocolData

0x0000004C

76

guidProtocolExtension

0xCC228CF4

0x43FCA9C8

0x65858182

0xF28958EB

{cc228cf4-a9c8-43fc-8281-8565eb5889f2}

rgbProtocolExtensionData

0xA00E0201

0x1000000F

0x1500000E

0x63616D00

0x656E6968

0x742E315F

0x75706D65

0x6F2E6972

0x000B6772

0x74617357

0x76726553

0x09656369

0x43414D00

0x454E4948

0x0003315F

When the Application Role Implementation gets the TXUSER_EXTENDEDWHEREABOUTS_MTAG_GOT response from the transaction coordinator, no more user messages can be sent on this connection and the Application Role Implementation initiates the disconnect sequence.