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/05/19
as07430_