변경 시작

cciPropagatedMessageCallback

콜백으로 등록될 수 있고 메시지가 한 노드에서 다른 노드로 전달될 때마다 호출되는 함수입니다. 사용자 엑시트 상태가 활성인 경우 콜백이 등록된 실행 그룹 내에 전달된 모든 메시지에 대해 호출됩니다. cciRegisterUserExit에 전달된 CCI_UE_VFT struct의 iFpPropagatedMessageCallback 필드로 함수에 대한 포인터를 제공하여 콜백을 등록합니다.

구문

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

매개변수

userContext(입력)
cciRegisterUserExit 함수에 전달된 값입니다.
message
전달되는 메시지 오브젝트에 대한 핸들입니다. 사용자 엑시트 코드는 이 트리를 갱신하지 않아야 합니다.
localEnvironment
전달되는 로컬 환경 오브젝트에 대한 핸들입니다.
exceptionList
전달되는 예외 목록 오브젝트에 대한 핸들입니다.
environment
현재 메시지 플로우의 환경 오브젝트에 대한 핸들입니다.
connection
두 노드 사이의 연결 오브젝트에 대한 핸들입니다. 예를 들어 cciGetSourceNode, cciGetTargetNode, cciGetSourceTerminalNamecciGetTargetTerminalName을 호출하는 경우 사용할 수 있습니다. 이 핸들은 사용자 엑시트 함수를 호출하는 동안에만 유효합니다.

리턴 값

없음

void myPropagatedMessageCallback(
  CciMessage*        message,
CciMessage* localEnvironment,
  CciMessage* exceptionList,          
CciMessage* environment,
CciConnection* connection){
  int          rc = CCI_SUCCESS;
CciNode* targetNode = cciGetTargetNode(amp rc,
connection);
CciChar targetNodeName [initialStringBufferLength];
targetNodeNameLength = cciGetNodeName(amp rc,
targetNode,
targetNodeName,
initialStringBufferLength);
/* you should now check the rc for unexpected values*/ 
/*if rc is CCI_BUFFER_TOO_SMALL then you should resize and retry*/
}
관련 태스크
사용자 엑시트 개발
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 5월 12, 2006
as35930_


변경 끝