Definisce una classe di nodo, come specificato dal parametro name, supportata dal produttore di nodi specificato come parametro factoryObject. Questa funzione è richiamata dal nodo durante l'esecuzione di bipGetMessageFlowNodeFactory, quando viene caricata la LIL.
Se sono implementate sia cniGetAttribute che cniGetAttribute2 o cniGetAttributeName e cniGetAttributeName2, cniDefineNodeClass ha esito negativo con 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; /* se non è un nodo di input */ vftable.iFRun = _run /* se è un nodo di input */
Di solito, viene definita solo una delle 2 ultime voci; ovvero, si definisce vftable.iFpEvaluate = _Transform_evaluate; per un nodo di elaborazione messaggi oppure si definisce vftable.iFpRun = _run; per un nodo di input.