2.2.5.4 Propagation_Token

The Propagation_Token structure is used for performing pull-based transaction propagation. This structure contains information about a transaction and about a superior transaction manager that is available for use by participants to enlist on the transaction.


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

dwVersionMin

dwVersionMax

guidTx (16 bytes)

...

...

isoLevel

isoFlags

cbSourceTmAddr

szDesc (40 bytes)

...

...

NameObject (variable)

...

AssociateMsgVersion2 (variable)

...

AssociateMsgVersion3 (variable)

...

dwVersionMin (4 bytes): The minimum version of the transaction information structure that accompanies the Propagation_Token. The value MUST be set to 1.

dwVersionMax (4 bytes): The maximum version of the transaction information structure that accompanies the Propagation_Token. The value MUST be 1, 2, or 3.<12>

guidTx (16 bytes): This field MUST contain a GUID that specifies the transaction identifier.

isoLevel (4 bytes): The isolation level of the transaction. The value MUST be one as specified in the OLETX_ISOLATION_LEVEL (section 2.2.6.9) enumeration.

isoFlags (4 bytes): The isolation flags for the transaction. This field MUST contain the result of a bitwise OR operation of zero or more OLETX_ISOLATION_FLAGS (section 2.2.6.8) enumeration flags.

cbSourceTmAddr (4 bytes): This field MUST contain the total size, in bytes, of the space that is used by the NameObject, AssociateMsgVersion2, and AssociateMsgVersion3 fields.

szDesc (40 bytes): The description of the transaction, as a fixed-size array of 40 bytes containing 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 ignored on receipt.

NameObject (variable): This field MUST be a NAMEOBJECTBLOB structure that contains contact information about the transaction manager that is referenced by the Propagation_Token structure.

AssociateMsgVersion2 (variable): This field MUST be an Associate_Msg_Version2 structure (section 2.2.5.1) that contains the NetBIOS host name for the transaction manager that is referenced by the Propagation_Token structure. If dwVersionMax is 1, then this field MUST NOT be present; otherwise, it MUST be present. If this field is present, the contents MUST override the szHostName value in the NameObject field.

AssociateMsgVersion3 (variable): This field MUST be an Associate_Msg_Version3 structure (section 2.2.5.2) that contains information about the transaction protocol support for the transaction manager that is referenced by the Propagation_Token structure. If dwVersionMax is 3, then this field MUST be present; otherwise, it MUST NOT be present.