![]() |
![]() |
|
|
Fprojcpy、Fprojcpy32(3fml)
名前
Fprojcpy()、Fprojcpy32() - バッファのプロジェクションおよびコピー
形式
#include <stdio.h>
#include "fml.h"
int
Fprojcpy(FBFR *dest, FBFR *src, FLDID *fieldid)
#include "fml32.h"
int
Fprojcpy32(FBFR32 *dest, FBFR32 *src, FLDID32 *fieldid)
機能説明
Fprojcpy() は、Fproj() と類似していますが、プロジェクションはその場所で行われず、宛先バッファで行われます。dest は、宛先バッファのポインタです。src は、もとのフィールド化バッファを指すポインタです。fieldid は、フィールド識別子の配列を指すポインタです。宛先バッファのすべてのフィールドは、最初に削除され、ソース・バッファに投影した結果は、宛先バッファに組み込まれます。ソース・バッファは変更されません。フィールド識別子の配列は、再配列される場合があります。それらが番号順でない場合、ソートされます。バッファを更新することにより FLD_PTR フィールドが削除されても、ポインタによって参照されるメモリ領域は変更または解放されません。
この関数は、領域が不足した場合に異常終了します。この関数は、操作を完了するために付加領域を十分に割り当てた後、再起動されます。
Fprojcpy32() は 32 ビット FML で使用されます。
マルチスレッドのアプリケーション内のスレッドは、TPINVALIDCONTEXT を含め、どのようなコンテキスト状態で実行している場合でも、Fprojcpy() または Fprojcpy32() を呼び出すことができます。
戻り値
この関数は、エラー発生時に -1 を返し、Ferror を設定してエラー条件を示します。
エラー
次の条件の場合、Fprojcpy() は異常終了し、Ferror を次の値に設定します。
ソース・バッファまたは宛先バッファのどちらかが適切なバウンダリで開始していません。
ソース・バッファまたは宛先バッファのどちらかがフィールド化バッファでないか、または Finit() によって初期化されていません。
フィールド値は、変換先のフィールド化バッファにコピーされますが、バッファには十分な領域が残っていません。
関連項目
「FML 関数の紹介」、Fjoin、Fjoin32(3fml)、Fojoin、Fojoin32(3fml)、Fproj、Fproj32(3fml)
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|