Where the return code means :
 
       -1  An error occured 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