변경 시작

cciRegisterUserExit

bipInitializeUserExits 호출 시 사용자 코드가 호출할 수 있는 유틸리티 함수입니다. 이 함수는 특정 이벤트가 발생할 때마다 호출되도록 함수를 등록하려는 경우 사용자 코드에 의해 호출됩니다.

구문

typedef struct cci_UEVft {
int reserved;
char StrucId[4];
int Version;
cciInputMessageCallback iFpInputMessageCallback;
cciTransactionEventCallback iFpTransactionEventCallback;
cciPropagatedMessageCallback iFpPropagatedMessageCallback;
cciNodeCompletionCallback iFpNodeCompletionCallback;
} 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의 널(Null) 종료 문자열에 대한 포인터를 포함해야 합니다. 동일한 브로커에 설치될 수 있는 모든 사용자 엑시트에서 이름이 고유해야 합니다. 이 이름을 사용하여 다음과 같은 위치에서 사용자 엑시트를 식별합니다.
  • 사용자 추적 메시지
  • 예외 또는 syslog 메시지
  • 관리 명령(예: mqsichangeflowuserexit)
이름에는 다음과 같은 제한이 있습니다.
  • 영숫자 문자만으로 구성해야 합니다.
  • 255자 이하여야 합니다.
  • 동일한 브로커에 설치될 수 있는 모든 사용자 엑시트에서 이름이 고유해야 합니다.
userContext(입력)
호출자는 콜백 함수가 호출될 때 이 함수로 전달되는 컨텍스트 포인터를 제공할 수 있습니다. 이 매개변수는 널(NULL)이 될 수 있습니다.
functionTable(입력)
필드에 올바른 서명과 일치하는 함수에 대한 포인터를 포함하거나 널(null)을 포함해야 하는 struct에 대한 포인터입니다. 해당 필드의 널(null) 값은 사용자 엑시트가 해당 이벤트에 대해 호출되면 안 되는 것을 나타냅니다.

리턴 값

없음. 오류가 발생할 경우, 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;
cciRegisterUserExit(&rc,
MyConstants::myUserExitName,
0,
&myVft);
/* you should now check the rc for unexpected values*/ 
  return;
}
}/*end of extern "C" */
관련 태스크
사용자 엑시트 개발
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 5월 12, 2006
as35920_


변경 끝