Where the return code means :
-1 An error occurred in the transaction manager -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