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 最終更新: 08/21/2006
as07430_