Manage callback functions - MQ_CB_EXIT
MQ_CB_EXIT provides an exit function to perform before and after the MQCB call. Use function identifier MQXF_CB with exit reasons MQXR_BEFORE and MQXR_AFTER to register before and after MQCB call exit functions.
The interface to this function is:
MQ_CB_EXIT (&ExitParms, &ExitContext, &Hconn, &Operation, &pCallbackDesc,
&Hobj, &pMsgDesc, &pGetMsgOpts, &CompCode, &Reason)
where the parameters are:- ExitParms (MQAXP) - input/output
- Exit parameter structure
- ExitContext (MQAXC) - input/output
- Exit context structure
- Hconn (MQHCONN) - input/output
- Connection handle
- Operation (MQLONG) - input/output
- Operation value
- pCallbackDesc (PMQCBD) - input/output
- Callback descriptor
- Hobj (MQHOBJ) - input/output
- Object handle
- pMsgDesc (PMQMD) - input/output
- Message descriptor
- pGetMsgOpts (PMQGMO) - input/output
- Options that control the action of MQCB
- CompCode (MQLONG) - input/output
- Completion code
- Reason (MQLONG) - input/output
- Reason code qualifying CompCode
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 */
MQLONG Operation; /* Operation value. */
MQCBD pMsgDesc; /* Callback descriptor. */
MQHOBJ Hobj; /* Object handle. */
PMQMD pMsgDesc; /* Message descriptor */
PMQGMO pGetMsgOpts; /* Options that define the operation of the consumer */
PMQLONG CompCode; /* Completion code. */
PMQLONG Reason; /* Reason code qualifying CompCode. */
The queue manager then logically calls the exit as follows:
MQ_CB_EXIT (&ExitParms, &ExitContext, &Hconn, &Operation, &Hobj, &pMsgDesc,
&pGetMsgOpts, &CompCode, &Reason);
Your exit must match the following C function prototype:
void MQENTRY MQ_CB_EXIT (
PMQAXP pExitParms; /* Exit parameter structure */
PMQAXC pExitContext; /* Exit context structure */
PMQHCONN pHconn; /* Connection handle */
PMQLONG pOperation; /* Callback operation */
PMQHOBJ pHobj; /* Object handle */
PPMQMD ppMsgDesc; /* Message descriptor */
PPMQGMO ppGetMsgOpts; /* Options that control the action of MQCB */
PMQLONG pCompCode; /* Completion code */
PMQLONG pReason; /* Reason code qualifying CompCode */