cniDefineNodeClass

name パラメーターで指定したとおりにノード・クラスを定義します。 これは、factoryObject パラメーターとして指定されるノード・ファクトリーによってサポートされます。 この関数は、bipGetMessageFlowNodeFactory の実行時に LIL がロードされる際にノードによって呼び出されます。

cniGetAttribute および cniGetAttribute2 の両方、または cniGetAttributeName および cniGetAttributeName2 の両方をインプリメントすると、cniDefineNodeClass は CCI_INV_IMPL_FUNCTION で失敗します。

構文

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

パラメーター

returnCode
関数からの戻りコード (出力)。
考えられる戻りコードは以下のとおりです。
  • 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
名前付きノードをサポートするファクトリー・オブジェクトのアドレス (入力)。 このアドレスは、cniCreateNodeFactory から戻されます (入力)。
name
定義されるノードの名前。 ノードの名前には最後に文字 Node を付ける必要があります(入力)。
functbl
ノード・インプリメンテーション関数へのポインターを含む CNI_VFT 構造のアドレス (入力)。 以下に示すのは、関数表の例です。
vftable.iFpCreateNodeContext = _Transform_createNodeContext;
vftable.iFpDeleteNodeContext = _deleteNodeContext;
vftable.iFpGetAttributeName2 = _getAttributeName2;
vftable.iFpSetAttribute = _setAttribute;
vftable.iFpGetAttribute2 = _getAttribute2;
vftable.iFpEvaluate = _Transform_evaluate; /* if not an input node */
vftable.iFRun = _run /* if an input node */

一般に、最後の 2 つの項目のうち 1 つだけを定義します。 つまり、メッセージ処理ノードの場合は vftable.iFpEvaluate = _Transform_evaluate; を定義し、 入力ノードの場合は vftable.iFpRun = _run; を定義します。

戻り値

なし。エラーが発生した場合、returnCode パラメーターがエラーの理由を示します。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
as07510_