xa_open - XA_OPEN_EXIT
XA_OPEN_EXIT provides an xa_open exit function to perform before and after xa_open processing. Use function identifier MQXF_XAOPEN with exit reasons MQXR_BEFORE and MQXR_AFTER to register the before and after xa_open call exit functions.
The interface to this function is:XA_OPEN_EXIT (&ExitParms, &ExitContext, &Hconn, &pXa_info, &Rmid, &Flags, &XARetCode)where the parameters are:
- ExitParms (MQAXP) - input/output
- Exit parameter structure.
- ExitContext (MQAXC) - input/output
- Exit context structure.
- Hconn (MQHCONN) - input
- Connection handle.
- pXa_info (PMQCHAR) - input/output
- Instance-specific resource manager information.
- Rmid (MQLONG) - input/output
- Resource manager identifier.
- Flags (MQLONG) - input/output
- Resource manager options.
- XARetCode (MQLONG) - input/output
- Response from XA call.
C language invocation
The queue manager logically defines the following variables:MQAXP ExitParms; /* Exit parameter structure */ MQAXC ExitContext; /* Exit context structure */ MQHCONN Hconn; /* Connection handle */ PMQCHAR pXa_info; /* Instance-specific RM info */ MQLONG Rmid; /* Resource manager identifier */ MQLONG Flags; /* Resource manager options*/ MQLONG XARetCode; /* Response from XA call */The queue manager then logically calls the exit as follows:
XA_OPEN_EXIT (&ExitParms, &ExitContext, &Hconn, &pXa_info, &Rmid, &Flags, &XARetCode);Your exit must match the following C function prototype:
typedef void MQENTRY XA_OPEN_EXIT ( PMQAXP pExitParms, /* Address of exit parameter structure */ PMQAXC pExitContext, /* Address of exit context structure */ PMQHCONN pHconn, /* Address of connection handle */ PPMQCHAR ppXa_info, /* Address of instance-specific RM info */ PMQLONG pRmid, /* Address of resource manager identifier */ PMQLONG pFlags, /* Address of resource manager options*/ PMQLONG pXARetCode); /* Address of response from XA call */Parent topic: Exit functions