cciInputMessageCallback

これはコールバックとして登録できる関数であり、メッセージが入力ノードによって読み取られるたびに、そのメッセージがメッセージ・フローに伝搬される前に呼び出されます。 これは、ユーザー出口の状態がアクティブの場合、コールバックが登録された実行グループ内で読み取られる入力メッセージごとに呼び出されます。コールバックを登録するには、この関数へのポインターを cciRegisterUserExit に渡される CCI_UE_VFT 構造の iFpInputMessageCallback フィールドに指定します。

構文

typedef void (*cciInputMessageCallback) (
                                 CciDataContext*  userContext,
                                 CciMessage* message,
                                 CciMessage* localEnvironment,
                                 CciMessage* exceptionList,
                                 CciMessage* environment,
                                 CciMessageOrigin messageOrigin,
                                 CciNode* inputNode);

パラメーター

userContext (入力)
これは、cciRegisterUserExit 関数に渡された値です。
message
これは、メッセージ・オブジェクトへのハンドルです。ユーザー出口コードは、このツリーを更新してはなりません。
localEnvironment
これは、ローカル環境オブジェクトへのハンドルです。
exceptionList
これは、例外リスト・オブジェクトへのハンドルです。
environment
これは、現行メッセージ・フローの環境オブジェクトへのハンドルです。
messageOrigin
入力ノードのタイプによって、メッセージの発信元はビット・ストリーム (CCI_MESSAGE_ORIGIN_BITSTREAM) またはツリー (CCI_MESSAGE_ORIGIN_TREE) です。 したがって、ユーザー出口は、パーサーで処理を行わずに、これらのいずれかにアクセスできます。例えば、MQInput ノードの場合はビット・ストリームに安全にアクセスできるのに対し、JMS 入力ノードの場合はツリーに安全にアクセスできます。ビット・ストリームにアクセスするには、cniBufferPointercniBufferSize、または cniBufferByte を呼び出します。ツリーにアクセスするには、cniRootElement を呼び出して、通常の構文エレメント・ナビゲーション関数 (例えば、cniFirstChild) を使用します。
注: このパラメーターを使用すると、パーサーによる処理を行わずに安全にアクセスできる対象についてユーザー出口に通知されますが、ユーザー出口コードは、この通知を無視して構文解析のタイミングを実質的に変更することが可能です。
inputNode
これは、この入力メッセージを読み取る入力ノードへのハンドルです。これを使用して、cciGetNodeNamecciGetNodeType、および cniGetBrokerInfo などの関数への呼び出しを行うことができます。

戻り値

なし。

void myInputMessageCallback(
                      CciDataContext*  userContext,
                      CciMessage* message,
                      CciMessage* localEnvironment,
                      CciMessage* exceptionList,
                      CciMessage* environment,
                      CciMessageOrigin messageOrigin,
                      CciNode* inputNode){
…
…
}
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
as35950_