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.