这是一个可以注册成回调的函数,每当从一个节点传播到另一个节点时都会调用它。如果用户出口处于活动状态,则会为在注册回调的执行组中传播的每个消息调用该函数。在传递到 cciRegisterUserExit 的 CCI_UE_VFT 结构的 iFpPropagatedMessageCallback 字段中提供指向函数的指针,可以注册回调。
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); /*you should now check the rc for unexpected values*/ /*if rc is CCI_BUFFER_TOO_SMALL then you should resize and retry*/ }