Share via


xa_close

 

Applies To: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Preview, Windows Vista

Called by the XA-based transaction manager, or any XA application that wants to close the currently open resource manager in the calling thread of control.

Implemented by: MSDTC
Object This is a helper function, not a method on an object.
Interface Source N/A
Called by: XA-based transaction manager.

Syntax

  
int __cdecl xa_close  (  __in LPSTR xa_info,  int  rmid,  long flags);  

Parameters

xa_info
[in] A string that contains a set of name/value pairs. In each name/value pair, the name is separated from the value by an equals sign, and each pair is separated by a comma. The name/value pairs are shown in the following table.

Name/value pair Description
TM The key that is used to determine the calling TP Monitor.
RMRecoveryGuid The key that is used to determine the Resource Manager Recovery GUID. The GUID must be specified without braces as shown in the following example. RmRecoveryGuid=b3a7647d-8ade-4816-9872-217f01b92071
Timeout The key that is used to determine the time-out value. The time-out value is specified in milliseconds. A value 0 implies no time-out and is the default value. This name/value pair is optional.
BrIso The key that is used to determine whether the XA branch is tightly coupled or loosely coupled. Loose coupling is a scheme for mapping XA Transaction Branches to atomic transactions in which each loosely coupled XA Transaction Branch is treated as operating under a different atomic transaction by the XA Subordinate Transaction Manager. Tight coupling is a scheme for mapping XA Transaction Branches to atomic transactions, in which all tightly coupled XA Transaction Branches with the same XA Global Transaction Identifier are treated as operating under one atomic transaction by the XA Subordinate Transaction Manager Facet. BrIso is an optional name value pair. By default the behavior is loosely coupled. BrIso is not supported on Windows 2000 or Windows XP.

Tight: The expected open string value for branch isolation when the xa branch is tightly coupled.

The following is an example of the xa_info open string.

TM=computerName, RmRecoveryGuid=b3a7647d-8ade-4816-9872-217f01b92071, Timeout=100, BrIso=Tight  

rmid
[in] Resource Manager ID.

flags
[in] Flags defined in [XAOpen – DTP] Chapter 4.4.

Return Values

Return code defined in Chapter 4.5 of [XAOpen – DTP].

Remarks

The transaction manager or XA application must call xa_close only after calling xa_end, and must call xa_close from the same thread that was used to access the resource manager. Once closed, a resource manager cannot participate in a distributed transaction.

Requirements

For an explanation of the requirement values, see Requirements (Component Services).

Platforms: Windows Server 2016, Windows 10, Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8, Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista

Header: Declared in xa.h