3.2.1.1 Partner State

An MSDTC Connection Manager: OleTx Transports Protocol partner MUST allocate and maintain the following local data elements:

Local Name Object (Public): A name object that contains the contact information for the local partner.

Minimum Level 1 Version Number: A 4-byte unsigned integer, whose value represents the minimum version supported by a MSDTC Connection Manager: OleTx Transports Protocol implementation.

Maximum Level 1 Version Number: A 4-byte unsigned integer, whose value represents the maximum version supported by a MSDTC Connection Manager: OleTx Transports Protocol implementation.

Minimum Level 2 Version Number (Public): A 4-byte unsigned integer, whose value represents the minimum version supported by the level-two protocol layered on top of the MSDTC Connection Manager: OleTx Transports Protocol implementation.

Maximum Level 2 Version Number (Public): A 4-byte unsigned integer, whose value represents the maximum version supported by the level-two protocol layered on top of the MSDTC Connection Manager: OleTx Transports Protocol implementation.

Minimum Level 3 Version Number (Public): A 4-byte unsigned integer, whose value represents the minimum version supported by the level-three protocol layered on top of the level-two protocol.

Maximum Level 3 Version Number (Public): A 4-byte unsigned integer, whose value represents the maximum version supported by the level-three protocol layered on top of the level-two protocol.

Security Level (Public): An implementation-specific enumeration value that specifies the security behavior of a protocol partner. The generic values of this enumeration are given in the following table.

Security Level value

Meaning

Mutual authentication

This value specifies that the protocol partner MUST use an authenticated RPC call to establish a communication between the client and server. The server RPC security MUST be configured as specified by the Server Security Settings, and the client security MUST be configured as specified by the Client Security Settings.

Incoming authentication

This value specifies that the protocol partner MUST use an authenticated RPC call when it is initiated (through BuildContextW or PokeW) by another protocol partner. For sessions initiated by itself, a partner MUST first attempt to use an authenticated RPC call; if that is not supported, the partner MUST use an unauthenticated RPC call.

No Authentication

This value specifies that the protocol partner SHOULD use authenticated RPC calls to establish a communication between the client and server. The server RPC security MUST be configured as specified by the Server Security Settings, and the client security MUST be configured as specified by the Client Security Settings. If this fails, both the client and server sides of the protocol partner MUST use an unauthenticated RPC call. The settings specified by the Server Security Settings and Client Security Settings objects MUST be ignored.

These data elements are set during the initialization of the partner and are not changed thereafter. See section 3.3.3.

Note It is possible to implement the abstract data model by using a variety of techniques. The protocol does not prescribe or advocate any specific implementation technique.