Essa é uma função que pode ser registrada como um retorno de chamada e é chamada sempre que uma mensagem é propagada de um nó para outro. Ela é chamada para cada mensagem propagada dentro do grupo de execução em que o retorno de chamada foi registrado, se o estado de saída de usuário é ativo. O retorno de chamada é registrado fornecendo um ponteiro para a função como o campo iFpPropagatedMessageCallback da estrutura CCI_UE_VFT transmitida para 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); /* agora verifique o rc a procura de valores inesperados*/ /* se rc é CCI_BUFFER_TOO_SMALL você deve redimensionar e tentar novamente*/ }