cniCreateElementAsLastChildFromBitstream

新しい構文エレメント・ツリーを、指定した構文エレメントの最後の子として作成し、指定したパーサーにこれを関連付けます。 指定したビット・ストリームを構文解析することにより、新しい構文エレメント・ツリーにデータが入れられます。この関数の実行時にビット・ストリームがコピーされ、これによって呼び出し側はオリジナルのビット・ストリームを保持するために割り当てられていたメモリーを解放するか、または再利用することができます。この関数は、メッセージ本体、つまりメッセージ・ルートの最後の子を作成する場合にのみ使用できます。 出力メッセージはすでに存在していなければなりません。 この出力メッセージのルート・エレメントはターゲット・エレメント・パラメーターとして渡されなければなりません。 この呼び出しはメッセージ本体の作成専用に設計されているため、連続したエレメントの構築には使用できません。 例えば、ルートの最後の子として RFH2 を作成してから、RFH2 の後にルートの最後の子として XML メッセージを作成するためにこれを使用することはできません。

構文

CciElement* cniCreateElementAsLastChildFromBitstream (
  int* returnCode,
  CciElement* targetElement,
  const struct CciByteArray* value,
  const CciChar* parserClassName,
  CciChar* messageType,
  CciChar* messageSet,
  CciChar* messageFormat,
  int encoding,
  int ccsid,
  int options);

パラメーター

returnCode
関数からの戻りコード (出力)。NULL ポインターを指定すると、ノードがエラーを処理しないことを示します。 入力が NULL でない場合、出力は呼び出しの成功状況を示します。 この呼び出しの実行時にスローされた例外は、フロー内の次のアップストリーム・ノードに対して再度スローされます。 この例外の詳細については、cciGetLastExceptionData を呼び出してください。
考えられる戻りコードは以下のとおりです。
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
  • CCI_INV_PARSER_NAME
  • CCI_INV_DATA_POINTER
targetElement
新しい構文エレメント・ツリーが作成される構文エレメント (入力)。 これはメッセージ・ルートでなければなりません。
parserClassName
ビット・ストリームの構文解析に使用するパーサー・クラスの名前 (入力)。ビット・ストリーム全体を構文解析するために使用したものと同じパーサーを使用する必要があります。
value
構文解析されるビット・ストリームへのポインターを含む CciByteArray 構造へのポインター。 このビット・ストリームの CciBytes 単位のサイズでもあります (出力)。
messageType
ビット・ストリームからエレメント・ツリーを作成するために使用されるメッセージ・タイプ定義 (入力)。NULL ポインターはこのパラメーターが無視されることを意味します。 また、指定したパーサーがこの値を必要としない場合 (例えば、汎用 XML パーサーの場合)、このパラメーターは無視されます。
messageSet
ビット・ストリームからエレメント・ツリーを作成するために使用されるメッセージ・セット定義 (入力)。NULL ポインターはこのパラメーターが無視されることを意味します。 また、指定したパーサーがこの値を必要としない場合 (例えば、汎用 XML パーサーの場合)、このパラメーターは無視されます。
messageFormat
ビット・ストリームからエレメント・ツリーを作成するために使用される形式 (入力)。 NULL ポインターはこのパラメーターが無視されることを意味します。 また、指定したパーサーがこの値を必要としない場合 (例えば、汎用 XML パーサーの場合)、このパラメーターは無視されます。
encoding
ビット・ストリームを構文解析する際に使用するエンコード方式 (入力)。このパラメーターは必須です。 値 0 を指定して、キュー・マネージャーのエンコード方式を使用するように指示することができます。
ccsid
ビット・ストリームを構文解析する際に使用する コード化文字セット ID (入力)。このパラメーターは必須です。 値 0 を指定して、キュー・マネージャーの CCSID を使用するように指示することができます。
options
変更の始まりこれは将来の利用のために予約済みです。上位互換性を維持するために、値 0 を指定しなければなりません。変更の終わり

戻り値

成功した場合、新規エレメント・オブジェクトのアドレスが戻されます。 失敗した場合、ゼロの値 (CCI_NULL_ADDR) が戻され、戻りコードのパラメーターがエラーの理由を示します。 実行時に例外が発生する場合、returnCode が CCI_EXCEPTION に設定されます。

  outMQMD = cniCreateElementAsFirstChildUsingParser(&rc,
                                                outRootElement,
                                                CciString("MQHMD",BIP_DEF_COMP_CCSID));
  checkRC(rc);

  cniCopyElementTree(&rc, inMQMD, outMQMD);
  checkRC(rc);
  
  outBlobRoot = cniCreateElementAsLastChildFromBitstream(
                                                   &rc,
                                                   outRootElement,
                                                   &bitstream,
                                                   inParserClassName,
                                                   messageType,
                                                   messageSet,
                                                   messageFormat,
                                                   encoding,
                                                   ccsid,
                                                   0);
    

  
  checkRC(rc);
  ...

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