cciPropagatedMessageCallback

这是一个可以注册成回调的函数,每当从一个节点传播到另一个节点时都会调用它。如果用户出口处于活动状态,则会为在注册回调的执行组中传播的每个消息调用该函数。在传递到 cciRegisterUserExit 的 CCI_UE_VFT 结构的 iFpPropagatedMessageCallback 字段中提供指向函数的指针,可以注册回调。

语法

typedef void (*cciPropagatedMessageCallback)(
                                 CciDataContext* userContext,
                                 CciMessage* message,
                                 CciMessage* localEnvironment,
                                   CciMessage* exceptionList,          
                                 CciMessage* environment,
                                 CciConnection * connection);

参数

userContext(输入)
这是传递到 cciRegisterUserExit 函数的值。
message
这是被传播的消息对象的句柄。用户出口代码不得更新该树。
localEnvironment
这是被传播的本地环境对象的句柄。
exceptionList
这是被传播的异常列表对象的句柄。
environment
这是当前消息流的环境对象的句柄。
connection
这是两个节点间连接对象的句柄。比如它可以用来调用 cciGetSourceNodecciGetTargetNodecciGetSourceTerminalNamecciGetTargetTerminalName。该句柄仅在调用该用户出口函数期间有效。

返回值

无。

示例

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*/

}
相关概念
建立用户出口
相关任务
建立用户出口
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
as35930_