IIapi_xaEnd() Function--End an XA Transaction Association
The IIapi_xaEnd() function ends the association between a connection and an XA transaction. Before the XA transaction association can end, the application must call IIapi_close() to free the statement handles within the transaction. The XA transaction handle is freed and cannot be referenced further by the application.
The connection handled provided as input to this function must be associated with an XA transaction whose transaction ID matches the transaction ID provided as input.
Once the transaction association has been dropped, the XA transaction can be prepared for commit (two-phase) using IIapi_xaPrepare(), committed directly (one-phase) using IIapi_xaCommit(), or aborted using IIapi_xaRollback().
This function has the following syntax:
II_VOID IIapi_xaEnd( IIAPI_XAENDPARM *endParm );
typedef struct _IIAPI_XAENDPARM
{
IIAPI_GENPARM xe_genParm;
II_PTR xe_connHandle;
IIAPI_TRAN_ID xe_tranID;
II_ULONG xe_flags;
} IIAPI_XAENDPARM;
This function has the following parameters:
xe_genParm
Type: input and delayed output
xe_connHandle
Type: input
Specifies the connection handle identifying the connection associated with the XA transaction.
xe_tranID
Type: input
Specifies the XA transaction ID of the transaction whose connection association is to end.
xe_flags
Type: input
Specifies optional transaction flags. This parameter is 0 or a mask of the following values:
IIAPI_XA_FAIL
Transaction has failed (may only be rolled back).