Questa è una funzione che può essere registrata come callback e viene richiamata ogni qualvolta un messaggio viene propagato da un nodo a un altro. Viene richiamata per ogni messaggio propagato nel gruppo di esecuzione in cui è stata registrata la callback, se lo stato dell'uscita utente è attivo. La callback viene registrata fornendo un puntatore alla funzione come il campo iFpPropagatedMessageCallback della struttura CCI_UE_VFT passata a cciRegisterUserExit.
typedef void (*cciPropagatedMessageCallback)( CciDataContext* userContext, CciMessage* message, CciMessage* localEnvironment, CciMessage* exceptionList, CciMessage* environment, CciConnection* connection);
void myPropagatedMessageCallback( CciMessage* message, CciMessage* localEnvironment, CciMessage* exceptionList, CciMessage* environment, CciConnection* connection){ int rc = CCI_SUCCESS; CciNode* targetNode = cciGetTargetNode(amp rc, connection); CciChar targetNodeName [initialStringBufferLength]; targetNodeNameLength = cciGetNodeName(amp rc, targetNode, targetNodeName, initialStringBufferLength); /*Controllare ora i valori imprevisti nell'rc*/ /*se rc è CCI_BUFFER_TOO_SMALL ridimensionarlo e riprovare*/ }