Ésta es una función que se puede registrar como una devolución de llamada y se invoca cuando un nodo ha terminado de procesar un mensaje y devuelve el control al nodo superior. Se invoca para todos los mensajes propagados dentro del grupo de ejecución en el que se registró la devolución de llamada, si el estado de la rutina de salida de usuario es activo. La devolución de llamada se registra proporcionando un puntero a la función al pasar el campo iFpNodeCompletionCallback de la estructura CCI_UE_VFT a cciRegisterUserExit.
Si el nodo ha terminado debido a una excepción no manejada, entonces vuelve con un reasonCode (código de razón) de CCI_EXCEPTION y los detalles de dicha excepción pueden obtenerse invocando cciGetLastExceptionData.
typedef void (*cciNodeCompletionCallback) ( CciDataContext* userContext, CciMessage* message, CciMessage* localEnvironment, CciMessage* exceptionList, CciMessage* environment, CciConnection* connection, int reasonCode);
void myNodeCompletionCallback( CciDataContext* userContext, CciMessage* message, CciMessage* localEnvironment, CciMessage* exceptionList, CciMessage* environment, CciConnection* connection int reasonCode){ … … }