cniDefineNodeClass

name 매개변수가 지정하는 노드 클래스를 정의합니다. 이 매개변수는 factoryObject 매개변수로 지정된 노드 팩토리에서 지원합니다. 이 함수는 LIL이 로드될 때 bipGetMessageFlowNodeFactory 실행 중 노드에 의해 호출됩니다.

cniGetAttributecniGetAttribute2 또는 cniGetAttributeNamecniGetAttributeName2가 구현되면 cniDefineNodeClass는 CCI_INV_IMPL_FUNCTION으로 실패합니다.

구문

void cniDefineNodeClass(
    int*                   returnCode,
    CciFactory* factoryObject,
    CciChar*    name,
    CNI_VFT*     functbl);

매개변수

returnCode
함수의 리턴 코드(출력).
가능한 리턴 코드는 다음과 같습니다.
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_FACTORY_OBJECT
  • CCI_INV_NODE_NAME
  • CCI_INV_OBJECT_NAME
  • CCI_INV_VFTP
  • CCI_MISSING_IMPL_FUNCTION
  • CCI_NAME_EXISTS
factoryObject
이름이 지정된 노드를 지원하는 팩토리 오브젝트의 주소. 주소는 cniCreateNodeFactory로부터 리턴됩니다(입력).
name
정의할 노드의 이름. 노드의 이름은 Node 문자로 끝나야 합니다(입력).
functbl
노드 구현 함수를 가리키는 포인터가 들어 있는 CPI_VFT 구조의 주소(입력). 다음은 함수 테이블의 예입니다.
vftable.iFpCreateNodeContext = _Transform_createNodeContext;
	vftable.iFpDeleteNodeContext = _deleteNodeContext;
vftable.iFpGetAttributeName2 = _getAttributeName2;
  vftable.iFpSetAttribute      = _setAttribute;
vftable.iFpGetAttribute2     = _getAttribute2;
vftable.iFpEvaluate          = _Transform_evaluate; /* if not an input node */ 
vftable.iFRun                = _run                 /* if an input node */

일반적으로 마지막 두 항목 중 하나만 정의하게 됩니다. 즉, 메시지 처리 노드의 경우 vftable.iFpEvaluate = _Transform_evaluate;를 정의하고 입력 노드의 경우 vftable.iFpRun = _run;을 정의합니다.

리턴 값

없음. 오류가 발생할 경우, returnCode 매개변수는 오류의 이유를 표시합니다.

주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
as07510_