cniDefineNodeClass

Definiert eine Knotenklasse wie vom Parameter name angegeben und unterstützt von der Knotenfactory, die als Parameter factoryObject bestimmt wurde. Diese Funktion wird vom Knoten während der Ausführung von bipGetMessageFlowNodeFactory aufgerufen, wenn die LIL-Datei geladen wird.

Wenn sowohl cniGetAttribute als auch cniGetAttribute2 oder cniGetAttributeName und cniGetAttributeName2 implementiert werden, schlägt cniDefineNodeClass mit with CCI_INV_IMPL_FUNCTION fehl.

Syntax

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

Parameter

returnCode
Der Rückkehrcode aus der Funktion (Ausgabe).
Mögliche Rückkehrcodes sind:
  • 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
Die Adresse des Factory-Objekts, das den benannten Knoten unterstützt. Die Adresse wird von cniCreateNodeFactory zurückgegeben (Eingabe).
name
Der Name des zu definierenden Knotens. Der Name des Knotens muss mit den Zeichen Node enden (Eingabe).
functbl
Die Adresse der CNI_VFT-Struktur, die Zeiger zu den Knotenimplementierungsfunktionen enthält (Eingabe). Hier ist ein Beispiel einer Funktionstabelle:
vftable.iFpCreateNodeContext = _Transform_createNodeContext;
vftable.iFpDeleteNodeContext = _deleteNodeContext;
vftable.iFpGetAttributeName2 = _getAttributeName2;
vftable.iFpSetAttribute      = _setAttribute;
vftable.iFpGetAttribute2     = _getAttribute2;
vftable.iFpEvaluate          = _Transform_evaluate; /* falls kein Empfangsknoten */
vftable.iFRun                = _run                 /* falls ein Empfangsknoten */

Es wird normalerweise nur einer der letzten 2 Einträge definiert, d. h. man definiert vftable.iFpEvaluate = _Transform_evaluate; für einen Nachrichtenverarbeitungsknoten oder vftable.iFpRun = _run; für einen Empfangsknoten.

Rückgabewerte

Keine. Beim Auftreten eines Fehlers gibt der Parameter returnCode den Grund dafür an.

Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
as07510_