Export (0) Print
Expand All

2.2.2 MESSAGE_PACKET

Each message sent using the MSDTC Connection Manager: OleTx Multiplexing Protocol MUST be an extension of the MESSAGE_PACKET structure. This structure forms the basis for all of these messages. All integer fields of this structure are in little-endian byte order.


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

MsgTag

fIsMaster

dwConnectionId

dwUserMsgType

dwcbVarLenData

dwReserved1

MsgTag (4 bytes): A 4-byte integer value that describes the message type and its interpretation. This value MUST be one of the following values.

Value Meaning

MTAG_DISCONNECT
0x00000001

Indicates a request to disconnect the specified connection.

MTAG_DISCONNECTED
0x00000002

Indicates that the specified connection has been disconnected.

MTAG_CONNECTION_REQ_DENIED
0x00000003

Indicates that the connection request for the specified connection has been denied.

MTAG_PING
0x00000004

A successful MTAG_PING indicates that the session is active.

MTAG_CONNECTION_REQ
0x00000005

Indicates that a new connection is being requested.

MTAG_USER_MESSAGE
0x00000FFF

Indicates that a user (level-three protocol) message should be delivered on the specified connection.

If the value is not one of the preceding values, then the remainder of the boxcar MUST be discarded. The details of each message type are given in the following sections.

fIsMaster (4 bytes): A 4-byte value indicating the direction of the message in the conversation. This value MUST be one of the following values.

Value Meaning

0x00000000

Message is sent by the party that accepted the connection.

0x00000001

Message is sent by the party that initiated the connection, or message is not associated with a connection because either the connection is down or the connection request has been denied.

dwConnectionId (4 bytes): A 4-byte integer value that contains the unique identifier for the associated connection. The value of the identifier depends on the value of the MsgTag field, as follows.

MsgTag field value

dwConnectionId field

0x00000001

MTAG_DISCONNECT

MUST contain the ID of the connection being disconnected.

0x00000002

MTAG_DISCONNECTED

MUST contain the ID of the connection that was just disconnected.

0x00000003

MTAG_CONNECTION_REQ_DENIED

MUST contain the ID of the connection that was rejected.

0x00000004

MTAG_PING

MUST be set to 0x00000000

0x00000005

MTAG_CONNECTION_REQ

MUST contain the ID of the connection being requested.

0x00000FFF

MTAG_USER_MESSAGE

MUST contain the ID of the connection that the message relates to.

dwUserMsgType (4 bytes): A 4-byte integer value that contains additional details about the message, depending on the value of the MsgTag field, as follows.

MsgTag field value

dwUserMsgType field

0x00000001

MTAG_DISCONNECT

MUST contain the connection type of the connection being disconnected.

0x00000002

MTAG_DISCONNECTED

MUST be set to 0x00000000.

0x00000003

MTAG_CONNECTION_REQ_DENIED

MUST be set to 0x00000000.

0x00000004

MTAG_PING

MUST be set to 0x00000000.

0x00000005

MTAG_CONNECTION_REQ

MUST contain the connection type of the connection being requested.

0x00000FFF

MTAG_USER_MESSAGE

MUST contain the type of user message to be delivered.

dwcbVarLenData (4 bytes): Unsigned 4-byte integer value that contains the size, in bytes, of the variable-length data buffer. This value MUST NOT be greater than 81880. This number is the maximum size of a boxcar, as specified in section 2.1.1.2, minus the size of a BOX_CAR_HEADER and the MESSAGE_PACKET itself, which is logically the largest single message that is possible to be transmitted in MSDTC Connection Manager: OleTx Multiplexing Protocol.

dwReserved1 (4 bytes): Reserved. This value can be set to any value, and MUST be ignored on receipt.<1>

 
Show:
© 2015 Microsoft