The cciNodeCompletionCallback function can be registered as a callback and is called whenever a node has completed processing of a message and is returning control to its upstream node.
The cciNodeCompletionCallback function is called for every message that is propagated in the execution group where the callback was registered, if the user exit state is active. The callback is registered by providing a pointer to the function as the iFpNodeCompletionCallback field of the CCI_UE_VFT struct that is passed to cciRegisterUserExit.
If the node completes due to an unhandled exception, it returns with a reasonCode of CCI_EXCEPTION, and that exception’s details can be obtained by calling cciGetLastExceptionData.
If the node completes normally (including handling an exception on the catch or failure terminal), it returns with a reasonCode of CCI_SUCCESS. In this case, calling cciGetLastExceptionData returns unpredictable results.
typedef void (*cciNodeCompletionCallback) ( CciDataContext* userContext, CciMessage* message, CciMessage* localEnvironment, CciMessage* exceptionList, CciMessage* environment, CciConnection* connection, int reasonCode);