WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

cciRegisterUserExit

cciRegisterUserExit は、 bipInitializeUserExits が呼び出されるときにユーザーのコードで呼び出すことができるユーティリティー関数です。

この関数は、特定のイベントが発生するたびに関数が呼び出されるようユーザーが登録する場合に、ユーザーのコードによって呼び出されます。

構文

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

} 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 (入力)
このパラメーターは、構造へのポインターです。この構造のフィールドには、正しいシグニチャーと一致する関数へのポインターか、ヌルが含まれている必要があります。 これらのフィールドのいずれかがヌル値の場合、そのイベントでは、ユーザー出口が呼び出されないことを示します。

定義 CCI_UE_VFT_DEFAULT を使用して、構造を初期化します。 これにより、バージョンが CCI_UE_VFT_CURRENT_VERSION に設定されます。 cciOutputMessageCallback は、バージョン 2 の CCI_UE_VFT_VERSION_2 で追加されました。

戻り値

なし。 エラーが発生した場合、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;
  myVft.iFpOutputMessageCallback     = myOutputMessageCallback;
  
  cciRegisterUserExit(&rc,
                      MyConstants::myUserExitName,
                      0,
                      &myVft);

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

}/*end of extern "C" */
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:48:12


参照トピック参照トピック | バージョン 8.0.0.5 | as35920_