|
|
|
|
|
CFget、CFget32(3fml)
名前
CFget()、CFget32() - フィールドの取得および変換
形式
#include <stdio.h>
#include "fml.h"
int
CFget(FBFR *fbfr, FLDID fieldid, FLDOCC oc, char *buf, FLDLEN *len,
int type)
#include "fml32.h"
int
CFget32(FBFR32 *fbfr, FLDID32 fieldid, FLDOCC32 oc, char *buf,
FLDLEN32 *len, int type)
機能説明
CFget() は、Fget() に似た変換関数です。主な違いとして、CFget() は、ユーザが提供したバッファに変換した値を複写します。fbfr は、フィールド化バッファを指すポインタです。fieldid は、フィールド識別子です。oc はフィールドのオカレンス番号です。buf は、プライベート・データ領域を指すポインタです。入力時において len は、プライベート・データ領域の長さを指すポインタです。戻り時において len は、返された値の長さを指すポインタです。入力時において len パラメータが NULL の場合は、フィールド値を入れるためのバッファが十分大きいために、値の長さが返されないものと想定されます。buf パラメータが NULL の場合、フィールド値は返されません。type は、ユーザが変換したい戻り値の変換後のデータ・タイプです。
FLD_PTR、FLD_FML32、または FLD_VIEW32 のフィールド・タイプが使用されると、この関数は異常終了します。CFget() または CFget32() が使用されているとき、これらのフィールド・タイプの 1 つが指定されると、Ferror に FEBADOP が設定されます。
CFget32() は 32 ビット FML で使用されます。
マルチスレッドのアプリケーション内のスレッドは、TPINVALIDCONTEXT を含め、どのようなコンテキスト状態で実行している場合でも、CFget() または CFget32() を呼び出すことができます。
戻り値
この関数は、エラー発生時に -1 を返し、Ferror を設定してエラー条件を示します。
エラー
次の条件の場合、CFget() は異常終了し、Ferror を次の値に設定します。
バッファが適切なバウンダリで開始していません。
バッファがフィールド化されていないか、または Finit() で初期化されていません。
CARRAY (バッファ) から文字列に変換するときに、malloc(3) を使用しての領域の動的な割り当てが失敗しました。
len で指定されたデータ領域の大きさは、フィールド値を保持できるほど大きくありません。
フィールド・オカレンスが要求されましたが、指定されたフィールドとオカレンスの両方、あるいはどちらかは、フィールド化バッファにありませんでした。
指定されたフィールド識別子は無効です。
指定されたフィールド識別子は無効です。
指定されたフィールド・タイプは無効です (FLD_PTR、FLD_FML32、および FLD_VIEW32) など)。
関連項目
|
|
|
|
|
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|