3.2.3 Initialization
When the Core Transaction Manager Facet is initialized:
The MSDTC Connection Manager: OleTx Management Protocol [MS-CMOM] uses the registry to persistently store and retrieve the values for the security settings using the Remote Registry Protocol [MS-RRP] and Failover Cluster: Management API (ClusAPI) Protocol [MS-CMRP]. The registry is shared with the MSDTC Connection Manager: OleTx Management Protocol [MS-CMOM].
The Security Level field is loaded directly from the registry key defined in [MS-CMOM] section 3.3.1.2.3.<22>
The following Security Access flags are loaded directly from the registry keys defined in [MS-CMOM] sections 3.3.1.2.1 and 3.3.1.2.2.
Allow Network Access
Allow Network Transactions
Allow Inbound Transactions
Allow Outbound Transactions
Allow Remote Administration
Allow Remote Clients
Allow TIP
Allow XA
Allow LUTransactions
The lower-layer transport protocol, the MSDTC Connection Manager: OleTx Multiplexing Protocol (section 2.1) MUST be initialized as specified in [MS-CMP] section 3.1.3, by passing the following parameter values as specified in section 2.1.2. The MSDTC Connection Manager: OleTx Multiplexing Protocol initialization as specified in [MS-CMP] section 3.1.3, initializes the MSDTC Connection Manager: OleTx Transports Protocol layer with additional parameters as specified in [MS-CMPO] section 3.2.3.
The Security Level field ([MS-CMPO] Local Partner State (section 3.2.1.1)) is initialized with the Security Level value in Core Transaction Manager Facet.
The Minimum Level 3 Version Number and Maximum Level 3 Version Number fields ([MS-CMPO] section 3.2.1.1) are initialized with the computed minimum and maximum protocol version values, as specified in section 3.1.4.2.
Compute a Local Name Object by initializing the fields of the Name object (see [MS-CMPO] section 3.2.1.4) with following values:
The computed Local Name Object is used to initialize the Local Name Object field ([MS-CMPO] section 3.2.1.1).
The protocol extension list MUST be populated with instances that are obtained from an implementation-specific source.
If the protocol extension list is not empty, the Core Transaction Manager Facet MUST perform the following actions:
Query each protocol extension for its extended whereabouts information by using the Whereabouts and Whereabouts Size fields of the object.
Create an array of STmToTmProtocol (section 2.2.5.9) structures and assign it to the Extended Whereabouts field of the Core Transaction Manager Facet:
The array MUST contain an entry for each protocol extension that contributes extended whereabouts information.
The tmprotDescribed field of each entry MUST be set to TmProtocolExtended, as specified in section 2.2.6.2.
The rgbTmProtocolData field of each entry MUST contain an SExtendedEndpointInfo (section 2.2.5.8) structure.
The cbTmProtocolData field of each entry MUST be set to the length, in bytes, of the rgbTmProtocolData field.
Assign the size, in bytes, of the STmToTmProtocol array to the Extended Whereabouts Size field of the Core Transaction Manager Facet.
Assign the number of protocol extensions that contribute extended whereabouts information to the STmToTmProtocol array to the Extended Whereabouts Protocol Count field of the Core Transaction Manager Facet.