3.4.5.4.1.1 Receiving a TXUSER_GETSECURITYFLAGS_MTAG_GETSECURITYFLAGS Message
When the transaction manager communicating with an application facet receives a TXUSER_GETSECURITYFLAGS_MTAG_GETSECURITYFLAGS message, the transaction manager communicating with an application facet MUST perform the following actions:
If the connection state is Idle:
Set the connection state to Processing Request.
Send a TXUSER_GETSECURITYFLAGS_MTAG_FETCHED message using the connection:
If the Allow Network Access flag of the Core Transaction Manager Facet is set to FALSE:
Set the grfNetworkDtcAccess field to zero.
Otherwise, set the grfNetworkDtcAccess field as follows:
Set all bits to zero by default.
Set the DTCADVCONFIG_NETWORKDTCACCESS_ENABLE bit to 1.
If the Allow Remote Administration flag of the Core Transaction Manager Facet is set to TRUE:
Set the DTCADVCONFIG_NETWORKDTCACCESS_ADMIN bit to 1.
If the Allow Network Transactions flag of the Core Transaction Manager Facet is set to TRUE:
Set the DTCADVCONFIG_NETWORKDTCACCESS_TX bit to 1.
If the Allow Remote Clients flag of the Core Transaction Manager Facet is set to TRUE:
Set the DTCADVCONFIG_NETWORKDTCACCESS_CLIENTS bit to 1.
If the Allow TIP flag of the Core Transaction Manager Facet is set to TRUE:
Set the DTCADVCONFIG_NETWORKDTCACCESS_TIP bit to 1.
If the Allow Outbound Transactions flag of the Core Transaction Manager Facet is set to TRUE:
Set the DTCADVCONFIG_OUTBOUNDNETWORK_TX bit to 1.
If the Allow Inbound Transactions flag of the Core Transaction Manager Facet is set to TRUE:
Set the DTCADVCONFIG_INBOUNDNETWORK_TX bit to 1.
If the Security Level field of the Core Transaction Manager Facet is set to no security:
Set the DTCADVCONFIG_SECURITYLEVEL_NOSECURITY bit to 1.
Otherwise, if the Security Level field of the Core Transaction Manager Facet is set to Incoming Authentication:
Set the DTCADVCONFIG_SECURITYLEVEL_AUTHENTICATEDONLY bit to 1.
Otherwise, if the Security Level field of the Core Transaction Manager Facet is set to Mutual Authentication:
Set the DTCADVCONFIG_SECURITYLEVEL_MUTUALAUTH bit to 1.
If the Allow XA flag of the Core Transaction Manager Facet is set to TRUE, set the grfXaTransaction field to 1; otherwise, set the flag to zero.
If the Allow LUTransactions flag of the Core Transaction Manager Facet is set to TRUE, set the DTCADVCONFIG_OPTIONS_LUTRANSACTIONS_DISABLE option bit in the grfOptions field to 0; otherwise, set the option bit to 1.
Set the connection state to Ended.
Otherwise, the message MUST be processed as an invalid message as specified in section 3.1.6.