Where the return code means :
-2 Asynchronous operation already outstanding
-3 A resource manager error occurred
-4 The XID is not valid
-5 Invalid arguments were given
-6 Routine invoked in an improper context
-7 Resource Manager unavailable
-8 the XID already exists
-9 Resource Manager doing work outside global transaction
The following indicate the transaction is marked as roll-back only
100 The resource manager marked the transaction roll-back
only for an unspecified reason.
101 A communication failure occurred
102 The resource manager detected a deadlock
103 The resource manager detected a violation of the integrity
of its resources
104 The resource manager marked the transaction roll-back
only for a reason not in this list.
105 A protocol error occurred in the resource manager
106 The work represented by this transaction took too long
107 The resource manager detected a transient error