xa_start
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 performs operations on a SQL Server database by using the XA interfaces, to start work on behalf of a transaction branch.
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_start ( __in XID *xid, int rmid, long flags);
Parameters
xid
[in] Specifics the XA Transaction Branch Identifier. This must be unique.
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
Because multiple threads can participate in a transaction branch and because each thread can have multiple invocations, use xa_start
to block until the active thread releases control of the transaction branch by calling xa_end
. Transaction Managers and ZA applications can only call Resource Managers that do not have TMREGISTER set in the flags element of their xa_switch_t
structure.
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