cciNodeCompletionCallback 関数は、コールバックとして登録することができ、ノードがメッセージの処理を完了して制御をアップストリーム・ノードに戻すたびに呼び出されます。
cciNodeCompletionCallback 関数は、ユーザー出口の状態がアクティブの場合、コールバックが登録された実行グループ内で伝搬されるメッセージごとに呼び出されます。 コールバックを登録するには、この関数へのポインターを cciRegisterUserExit に渡される CCI_UE_VFT 構造の iFpNodeCompletionCallback フィールドに指定します。
例外が処理されなかったためにノードが完了した場合は、 reasonCode に CCI_EXCEPTION が戻され、cciGetLastExceptionData を呼び出すことによって、この例外の詳細を表示できます。
ノードが正常に完了した場合は (例外が catch または failure ターミナルで処理される場合を含む)、reasonCode に CCI_SUCCESS が戻されます。 この場合、cciGetLastExceptionData を呼び出すと、結果は予測不能です。
typedef void (*cciNodeCompletionCallback) (
CciDataContext* userContext,
CciMessage* message,
CciMessage* localEnvironment,
CciMessage* exceptionList,
CciMessage* environment,
CciConnection* connection,
int reasonCode);
ユーザー出口コードは、メッセージ・ツリー内のトランスポート・ヘッダーまたはプロパティー・エレメントを更新してはなりません。 メッセージを更新すると、パフォーマンスに影響を与えることがあります。 このコールバックの際に行われる変更は、アップストリーム・ノードによって新しいメッセージが作成されない場合にのみ表示されます。
なし。
void myNodeCompletionCallback(
CciDataContext* userContext,
CciMessage* message,
CciMessage* localEnvironment,
CciMessage* exceptionList,
CciMessage* environment,
CciConnection* connection
int reasonCode){
…
…
}