name 매개변수가 지정하는 노드 클래스를 정의합니다. 이 매개변수는 factoryObject 매개변수로 지정된 노드 팩토리에서 지원합니다. 이 함수는 LIL이 로드될 때 bipGetMessageFlowNodeFactory 실행 중 노드에 의해 호출됩니다.
cniGetAttribute와 cniGetAttribute2 또는 cniGetAttributeName과 cniGetAttributeName2가 구현되면 cniDefineNodeClass는 CCI_INV_IMPL_FUNCTION으로 실패합니다.
void cniDefineNodeClass( int* returnCode, CciFactory* factoryObject, CciChar* name, CNI_VFT* functbl);
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;을 정의합니다.