cciRegisterUserExit

这是实用程序函数,在调用 bipInitializeUserExits 期间,用户代码可以调用该函数。如果用户希望在每次特定事件发生时都注册要调用的函数,则用户代码会调用此函数。

语法

typedef struct cci_UEVft {
    int reserved;
    char StrucId[4];
    int Version;
    cciInputMessageCallback iFpInputMessageCallback;
    cciTransactionEventCallback iFpTransactionEventCallback;
    cciPropagatedMessageCallback iFpPropagatedMessageCallback;
    cciNodeCompletionCallback iFpNodeCompletionCallback;

} CCI_UE_VFT;

void cciRegisterUserExit (
  int* returnCode,
  CciChar* name,
  CciDataContext* userContext,
  CCI_UE_VFT* functionTable);

参数

returnCode(输出)
需要函数的返回码。可能的值是:
  • CCI_DUP_USER_EXIT_NAME

    指定的名称与先前在当前执行组中注册的用户出口名称相匹配。

  • CCI_INV_USER_EXIT_NAME

    指定的名称无效。这种情况可能是由于指定了 NULL 指针、空字符串或包含非字母数字字符的字符串所导致。

Name(输入)
这必须包含指针,它指向为用户出口指定名称的 CciChars 的以 Null 结束的字符串。在所有可以安装在同一代理上的用户出口中,该名称都必须是唯一的。例如,此名称用于识别以下内容中的用户出口:
  • 用户跟踪消息
  • 异常或 syslog 消息
  • 管理命令(例如 mqsichangeflowuserexits
名称有以下限制:
  • 它只能由字母数字字符组成。
  • 不能超过 255 个字符。
  • 在所有可以安装在同一代理上的用户出口中,该名称都必须是唯一的。
userContext(输入)
这允许调用者提供上下文指针,调用该指针时该指针会传递给回调函数。该参数可以为 NULL。
functionTable(输入)
这是指向结构的指针,该结构中的字段必须包含指向匹配正确签名的函数的指针或包含 NULL。这些字段中的 NULL 值表示不得为该事件调用用户出口。

返回值

无。如果发生错误,则 returnCode 参数表明错误原因。

示例

extern "C"{

void bipInitializeUserExits(){

  int rc = CCI_SUCCESS;
  CCI_UE_VFT myVft = {CCI_UE_VFT_DEFAULT};
  myVft.iFpInputMessageCallback = myInputMessageCallback;
  myVft.iFpTransactionEventCallback = myTransactionEventCallback;
  myVft.iFpPropagatedMessageCallback = myPropagatedMessageCallback;
  myVft.iFpNodeCompletionCallback = myNodeCompletionCallback;
  
  cciRegisterUserExit(&rc,
                      MyConstants::myUserExitName,
                      0,
                      &myVft);

  /*you should now check the rc for unexpected values*/
  
  return;
}

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