2.2.2 BIND_VERSION_SET

The BIND_VERSION_SET structure holds three sets of version range values that specify the version ranges supported by a partner for three protocols: this protocol, MSDTC Connection Manager: OleTx Transports Protocol, and two other protocols that are layered on top of this protocol. This is because MSDTC Connection Manager: OleTx Transports Protocol is designed to be a transport protocol over which two other protocols are layered. For the rest of this specification, the protocol that is layered immediately on top of the MSDTC Connection Manager: OleTx Transports Protocol is referred to as the level-two protocol, and the protocol layered on top of the level-two protocol is the level-three protocol. The ranges of level-two version number values and level-three version number values are specific to the level-two protocol and level-three protocol, respectively.

 typedef struct _BindVersionSet {
   DWORD dwMinLevelOne;
   DWORD dwMaxLevelOne;
   DWORD dwMinLevelTwo;
   DWORD dwMaxLevelTwo;
   DWORD dwMinLevelThree;
   DWORD dwMaxLevelThree;
 } BIND_VERSION_SET;

dwMinLevelOne: A 4-byte unsigned integer value containing the minimum supported MSDTC Connection Manager: OleTx Transports Protocol version. dwMinLevelOne MUST be less than or equal to dwMaxLevelOne.

This field indicates whether the unsigned_char_t [C706] version of the Session creation API calls (Poke/BuildContext) or the wchar_t [C706] version of the Session creation API calls (PokeW/BuildContextW) are used. This field MUST be one of the following values:

Value

Meaning

0x00000001

The unsigned_char_t version of the Session creation API (Poke and BuildContext) is used.

0x00000002

The wchar_t version of the Session creation API (PokeW and BuildContextW) is used.

dwMaxLevelOne: A 4-byte unsigned integer value containing the maximum version supported for a level-one session. dwMaxLevelOne MUST be greater than or equal to dwMinLevelOne.

This field indicates whether the unsigned_char_t version of the Session creation API calls (Poke/BuildContext) or the wchar_t version of the Session creation API calls (PokeW/BuildContextW) are used. This field MUST be one of the following values:

Value

Meaning

0x00000001

The unsigned_char_t version of the Session creation API (Poke and BuildContext) is used.

0x00000002

The wchar_t version of the Session creation API (PokeW and BuildContextW) is used.

dwMinLevelTwo: A 4-byte unsigned integer value containing the minimum version supported for the level-two protocol session. The value for dwMinLevelTwo MUST be less than or equal to dwMaxLevelTwo.

dwMaxLevelTwo: A 4-byte unsigned integer value containing the maximum version supported for the level-two protocol session. The value for dwMaxLevelTwo MUST be greater than or equal to dwMinLevelTwo.

dwMinLevelThree: A 4-byte unsigned integer value containing the minimum version supported for the level-three protocol session. The value for dwMinLevelThree MUST be less than or equal to dwMaxLevelThree.

dwMaxLevelThree: A 4-byte unsigned integer value containing the maximum version supported for the level-three protocol session. dwMaxLevelThree MUST be greater than or equal to dwMinLevelThree.