cciNodeCompletionCallback

콜백으로 등록할 수 있고 노드가 메시지의 처리를 완료하고 제어를 업스트림 노드로 리턴할 때마다 호출할 수 있는 함수입니다. 이 함수는 사용자 엑시트 상태가 활성인 경우, 콜백이 등록된 실행 그룹 내에서 메시지를 전달할 때마다 호출됩니다. CCI_UE_VFT 구조의 iFpNodeCompletionCallback 필드가 cciRegisterUserExit에 전달될 때 이 함수에 포인터를 제공함으로써 콜백이 등록됩니다.

핸들링하지 않은 예외 때문에 노드가 완료되면 CCI_EXCEPTION의 reasonCode가 리턴되며, 예외의 자세한 내용은 cciGetLastExceptionData를 호출하면 알 수 있습니다.

노드가 정상적으로 완료되면(catch 또는 failure 터미널에서 예외 핸들링 포함) CCI_SUCCESS의 reasonCode가 리턴됩니다.
주: 이 경우, cciGetLastExceptionData를 호출하면 예측하지 못한 결과가 리턴됩니다.

구문

typedef void (*cciNodeCompletionCallback)   (
                                 CciDataContext* userContext,
                                   CciMessage*        message,
                                 CciMessage*     localEnvironment,
                                   CciMessage* exceptionList,
                                 CciMessage*     environment,
                                 CciConnection*  connection,
                                 int             reasonCode);

매개변수

userContext(입력)
이 값은 cciRegisterUserExit 함수에 전달된 값입니다.
message
이 매개변수는 전달 중인 메시지 오브젝트의 핸들입니다. 사용자 엑시트 코드는 이 트리를 갱신하지 않아야 합니다.
localEnvironment
이 매개변수는 전달 중인 로컬 환경 오브젝트의 핸들입니다.
exceptionList
이 매개변수는 전달 중인 예외 목록 오브젝트의 핸들입니다.
environment
이 매개변수는 현재 메시지 플로우에 대한 환경 오브젝트의 핸들입니다.
connection
이 매개변수는 두 노드 간 연결 오브젝트의 핸들입니다. 예를 들어 cciGetSourceNode, cciGetTargetNode, cciGetSourceTerminalNamecciGetTargetTerminalName 호출에서 사용될 수 있습니다. 이 핸들은 사용자 엑시트 함수의 현재 호출 기간 중에만 유효합니다.
reasonCode
이 매개변수는 노드가 정상적으로 완료되었는지(CCI_SUCCESS) 아니면 핸들링하지 않은 예외 때문에 완료되었는지를(CCI_EXCEPTION) 표시합니다. 핸들링하지 않은 예외 때문에 노드가 완료되면 예외의 자세한 내용은 cciGetLastExceptionData를 호출하면 알 수 있습니다. 노드가 정상적으로 완료되면(catch 또는 failure 터미널에서 예외 핸들링 포함) cciGetLastExceptionData 호출의 효과는 확정되지 않습니다.

리턴 값

없음

void myNodeCompletionCallback(
                                 CciDataContext* userContext,
                                   CciMessage*        message,
                                 CciMessage*     localEnvironment,
                                   CciMessage* exceptionList,
                                 CciMessage*     environment,
                                 CciConnection*  connection
                                 int             reasonCode){
…
…
}
관련 태스크
사용자 엑시트 개발
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
as35940_