|
|
Fupdate、Fupdate32(3fml)
名前
Fupdate()、Fupdate32() - ソース・バッファで宛先バッファを更新する
形式
#include <stdio.h>
#include "fml.h"
int
Fupdate(FBFR *dest, FBFR *src)
#include "fml32.h"
int
Fupdate32(FBFR32 *dest, FBFR32 *src)
機能説明
Fupdate() は、ソース・バッファのフィールド値で宛先バッファを更新します。dest および src は、フィールド化バッファを指すポインタです。フィールド ID/オカレンスと一致するフィールドの場合は、フィールド値はソース・バッファの値を使って宛先バッファで更新されます。ソース・バッファに、一致するフィールドを持たない宛先バッファのフィールドは、そのままです。宛先バッファに、一致するフィールドを持たないソース・バッファのフィールドが、宛先バッファに追加されます。
FLD_PTR 型の値の場合、Fupdate32() はポインタの値を格納します。FLD_PTR フィールドが指すバッファを割り当てるには、tpalloc() を呼び出します。FLD_FML32 型の値の場合、Fupdate32() はインデックスを除いた FLD_FML32 フィールド全体の値を格納します。FLD_VIEW32 型の値の場合、Fupdate32() は FVIEWFLD 型の構造体を指すポインタを格納します。これには、vflags (現在未使用で 0 に設定された flags フィールド)、vname (VIEW 名を含む文字配列)、および data (C 構造体として格納される VIEW データを指すポインタ) が含まれます。アプリケーションは、vname と data を Fupdate32() に提供します。
Fupdate32() は 32 ビット FML で使用されます。
マルチスレッドのアプリケーション内のスレッドは、TPINVALIDCONTEXT を含め、どのようなコンテキスト状態で実行している場合でも、Fupdate() または Fupdate32() を呼び出すことができます。
戻り値
この関数は、エラー発生時に -1 を返し、Ferror を設定してエラー条件を示します。
エラー
次の条件の場合、Fupdate() は異常終了し、Ferror を次の値に設定します。
ソース・バッファまたは宛先バッファのどちらかが適切なバウンダリで開始していません。
ソース・バッファまたは宛先バッファがフィールド化バッファではない、または Finit() によって初期化されていません。
フィールド値が、宛先バッファで追加または変更されますが、バッファ領域の残りが十分ではありません。
関連項目
「FML 関数の紹介」、Fjoin、Fjoin32(3fml)、Fojoin、Fojoin32(3fml)、Fproj、Fproj32(3fml)、Fprojcpy、Fprojcpy32(3fml)
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|