Diese Funktion definiert eine Knotenklasse, die durch den Parameter name angegeben wird und von der als Parameter factoryObject angegebenen Knoten-Factory unterstützt wird. Diese Funktion wird während der Ausführung von bipGetMessageFlowNodeFactory vom Knoten aufgerufen, wenn die LIL geladen wird.
Wenn sowohl cniGetAttribute als auch cniGetAttribute2 oder cniGetAttributeName und cniGetAttributeName2 implementiert werden, schlägt cniDefineNodeClass mit with CCI_INV_IMPL_FUNCTION fehl.
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 */
Normalerweise definieren Sie nur einen der letzten zwei Einträge, d. h., Sie definieren vftable.iFpEvaluate = _Transform_evaluate; für einen Nachrichtenverarbeitungsknoten oder vftable.iFpRun = _run; für einen Empfangsknoten.