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 のヌル終了ストリングへのポインターを入れる必要があります。この名前は、同じブローカーにインストール可能なすべてのユーザー出口で固有でなければなりません。この名前を使用して、例えば以下に含まれるユーザー出口を識別します。
  • ユーザー・トレース・メッセージ
  • 例外または syslog メッセージ
  • 管理コマンド (例えば、mqsichangeflowuserexits)
この名前には、以下の制限があります。
  • 英数字だけで構成する必要があります。
  • 255 文字以内でなければなりません。
  • この名前は、同じブローカーにインストール可能なすべてのユーザー出口で固有でなければなりません。
userContext (入力)
これは、コールバック関数が呼び出されたときにコールバック関数に渡されるコンテキスト・ポインターを、呼び出し側が提供できるようにするためのものです。 このパラメーターは NULL に設定可能です。
functionTable (入力)
これは、構造へのポインターです。この構造のフィールドには、正しいシグニチャーと一致する関数へのポインターか、ヌルが含まれている必要があります。これらのフィールドのいずれかがヌル値の場合、そのイベントでは、ユーザー出口が呼び出されないことを示します。

戻り値

なし。エラーが発生した場合、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 最終更新: 08/21/2006
as35920_