BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   BEA Tuxedo FML リファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


CFfindocc、CFfindocc32(3fml)

名前

CFfindocc()CFfindocc32() - 変換された値のオカレンスの検索

形式

#include <stdio.h> 
#include "fml.h"
FLDOCC
CFfindocc(FBFR *fbfr, FLDID fieldid, char *value, FLDLEN len, int
type)
#include "fml32.h"
FLDOCC32
CFfindocc32(FBFR32 *fbfr, FLDID32 fieldid, char *value, FLDLEN32
len, int type)

機能説明

CFfindocc() は、Ffindocc() に似た働きをしますが、最初に、ユーザ指定の型 valuefieldid 型に変換します。CFfindocc() は、ユーザが提供する値、長さ、および型と一致するバッファにある指定されたフィールドのオカレンスを検索します。CFfindocc() は、最初に一致したフィールドのオカレンス番号を返します。fbfr は、フィールド化バッファを指すポインタです。fieldid は、フィールド識別子です。value は、検索される値を指すポインタです。type が CARRAY の場合、len は、入力値と比較する値の長さです。type は、value 内のフィールドのデータ型です。

FLD_PTRFLD_FML32、または FLD_VIEW32 のフィールド・タイプが使用されると、この関数は異常終了します。CFfindocc() または CFfindocc32() が使用されている場合に、これらのフィールド・タイプの 1 つが指定されると、FerrorFEBADOP が設定されます。

CFfindocc32() は 32 ビット FML で使用されます。

マルチスレッドのアプリケーション内のスレッドは、TPINVALIDCONTEXT を含め、どのようなコンテキスト状態で実行している場合でも、CFfindocc() または CFfindocc32() を呼び出すことができます。

戻り値

フィールド値が見つからない、あるいは他のエラーが見つかった場合、-1 を返し、Ferror を設定してエラー条件を示します。

エラー

次の条件の場合、CFfindocc() は異常終了し、Ferror を次の値に設定します。

[FALIGNERR]

"fielded buffer not aligned"
バッファが適切なバウンダリで開始していません。

[FNOTFLD]

"buffer not fielded"
バッファがフィールド化されていないか、または Finit() で初期化されていません。

[FMALLOC]

"malloc failed"
CARRAY (バッファ) から文字列に変換するときに、malloc(3) を使用しての領域の動的な割り当てが失敗しました。

[FEINVAL]

"invalid argument to function"
呼び出された関数の引数の 1 つが無効です (たとえば、value パラメータに NULL が指定された場合)。

[FNOTPRES]

"field not present"
フィールド・オカレンスが要求されましたが、指定されたフィールドとオカレンスの両方、あるいはどちらかは、フィールド化バッファにありませんでした。

[FBADFLD]

"unknown field number or type"
指定されたフィールド識別子は無効です。

[FTYPERR]

"invalid field type"
指定されたフィールド識別子は無効です。

[FEBADOP]

"invalid field type"
指定されたフィールド・タイプは無効です (FLD_PTRFLD_FML32、および FLD_VIEW32 など)。

関連項目

FML 関数の紹介」、Ffindocc、Ffindocc32(3fml)

 

先頭へ戻る 前のトピックへ 次のトピックへ