|
|
|
|
|
Fcmp、Fcmp32(3fml)
名前
Fcmp()、Fcmp32() - 2 つのフィールド化バッファの比較
形式
#include <stdio.h>
#include "fml.h"
int
Fcmp(FBFR *fbfr1, FBFR *fbfr2)
#include "fml32.h"
int
Fcmp32(FBFR32 *fbfr1, FBFR32 *fbfr2)
機能説明
Fcmp() は、フィールド識別子を比較してから、2 つの FML バッファのフィールド値を比較します。fbfr1 および fbfr2 は、比較するフィールド化バッファを指すポインタです。
FLD_PTR 型の値の場合、ポインタの値 (アドレス) が等しければ、2 つのポインタ・フィールドは等しいと見なされます。FLD_FML32 型の値の場合、すべてのフィールド・オカレンスおよび値が等しければ、2 つのフィールドは等しいと見なされます。FLD_VIEW32 型の値の場合、VIEW 名が同じとき、およびすべての構造体メンバのオカレンスと値が等しいとき、2 つのフィールドは等しいと見なされます。
Fcmp32() は 32 ビット FML で使用されます。
マルチスレッドのアプリケーション内のスレッドは、TPINVALIDCONTEXT を含め、どのようなコンテキスト状態で実行している場合でも、Fcmp() または Fcmp32() を呼び出すことができます。
戻り値
この関数は、2 つのバッファが等しい場合には 0 を返します。次に示す条件の場合 -1 を返します。
Fcmp() は、上記のいずれかの条件の逆が true の場合、1を返します。たとえば、fbfr1 フィールドのフィールド識別子が fbfr2 フィールドの対応するフィールド識別子より大きい場合です。この場合、バッファの実際の大きさ (つまり、Falloc() に渡された大きさ) は認識されず、バッファのデータのみが認識されます。この関数はエラー発生時に -2 を返し、Ferror を設定してエラーの状態を示します。
エラー
次の条件の場合、Fcmp() は異常終了し、Ferror を次の値に設定します。
バッファが適切なバウンダリで開始していません。
バッファがフィールド化されていないか、または Finit() で初期化されていません。
関連項目
「FML 関数の紹介」、Fadd、Fadd32(3fml)、Fchg、Fchg32(3fml)
|
|
|
|
|
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|