cniCreateNodeContext

Erstellt einen Kontext für eine Instanz eines Knotenobjekts. Die Funktion wird vom Nachrichtenbroker aufgerufen, sobald eine Instanz eines Knotenobjekts erstellt wird. Knoten werden erstellt, wenn ein Nachrichtenfluss vom Broker eingesetzt oder wenn die Ausführungsgruppe gestartet wird.

Die Zuständigkeiten des Knotens sind an diesem Punkt die Folgenden:
  1. (Optional) Überprüfen, ob der im Parameter nodeName angegebene Name des Knotens von der Factory unterstützt wird.
  2. Zuordnen von Knoteninstanz-spezifischen Datenbereichen, die möglicherweise erforderlich sind (z. B. Kontext, attributive Daten und Terminals).
  3. Durchführen zusätzlicher Ressourcenübernahme oder -initialisierung, die für die Verarbeitung des Knotens möglicherweise erforderlich sind.
  4. Zurückgeben der Adresse des Kontexts zur aufrufenden Funktion. Wenn eine Einsetzungsfunktion für diesen Knoten aufgerufen wird, wird der entsprechende Kontext als Argument an diese Funktion übergeben. Das bedeutet, dass ein in C entwickelter benutzerdefinierter Knoten seine eigenen statischen Zeiger zu Instanz-spezifischen Datenbereichen nicht verwaltet.
Definiert in Typ Mitglied
CNI_VFT Obligatorisch iFpCreateNodeContext

Syntax

CciContext* cniCreateNodeContext(
  CciFactory*  factoryObject,
  CciChar*     nodeName,
  CciNode*     nodeObject);

Parameter

factoryObject
Die Adresse des Factory-Objekts, das der Eigner des erstellten Knotens ist (Eingabe).
nodeName
Der Name des Knotens, der erstellt wird (Eingabe).
nodeObject
Die Adresse des Knotenobjekts, das gerade erstellt wurde (Eingabe).

Rückgabewerte

Bei Erfolg wird die Adresse des Knotenkontexts zurückgegeben. Ansonsten wird ein Nullwert (CCI_NULL_ADDR) ausgegeben.

Beispiel

  static char* functionName = (char *)"_Switch_createNodeContext()";
  NODE_CONTEXT_ST* p;

  /* Allocate a pointer to the local context */
  p = (NODE_CONTEXT_ST *)malloc(sizeof(NODE_CONTEXT_ST));

  if (p) {

    /* Kontextbereich löschen */
    memset(p, 0, sizeof(NODE_CONTEXT_ST));

    /* Knotenobjektzeiger in unserem Kontext speichern */
    p->nodeObject = nodeObject;

    /* Knotenname speichern */
    CciCharNCpy((CciChar*) &p->nodeName, nodeName, MAX_NODE_NAME_LEN);
}
  else
	 /* Fehlerbehandlung */
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
as07430_