cniCreateNodeContext

为节点对象的实例创建任何上下文。无论何时构造节点对象的实例,由消息代理调用它。当由代理部署消息流时或当启动执行组时,构造节点。

在此点,节点的责任是要:
  1. (可选地)验证在 nodeName 参数中指定的受工厂支持的节点名称。
  2. 分配可能需要的任何节点实例特定的数据区(例如,上下文、属性数据和终端)。
  3. 执行节点处理可能需要的任何其他资源购置或初始化。
  4. 将上下文的地址返回到正在调用的函数。无论何时调用此节点实例的实施函数,将相应的上下文作为参数传递到该函数。这意味着在 C 中开发的用户定义的节点不需要在每个实例数据区维护 其自己的静态指针。
在其中定义 类型 成员
CNI_VFT 必需 iFpCreateNodeContext

语法

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

参数

factoryObject
拥有正在创建的节点(输入)的工厂对象的地址。
nodeName
正在创建的节点的名称(输入)。
nodeObject
刚刚创建的节点对象的地址(输入)。

返回值

如果成功,返回节点上下文的地址。否则,返回零值(CCI_NULL_ADDR)。

示例

  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) {

        /* Clear the context area */
         memset(p, 0, sizeof(NODE_CONTEXT_ST));

        /* Save our node object pointer in our context */
    p->nodeObject = nodeObject;

        /* Save our node name */
    CciCharNCpy((CciChar*)&p->nodeName, nodeName, MAX_NODE_NAME_LEN);}
  else
	 /* Handle errors */
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
as07430_