|
|
型付きバッファの割り当て
初期状態では、バッファはクライアント・プロセスに対応付けられていません。クライアント・プロセスでメッセージを送信する場合、サポートされているタイプのバッファを割り当てて、メッセージを格納できるようにします。型付きバッファを割り当てるには、次に示すように tpalloc(3c) 関数を使用します。
char *
tpalloc(char *type, char *subtype, long size)
次の表は、tpalloc() 関数の引数を示しています。
tpalloc() 関数の引数
次の例で示すように、VIEW、VIEW32、X_C_TYPE、および X_COMMON 型バッファには subtype 引数が必要です。 VIEW 型バッファの割り当て 次の例は、FML 型バッファの割り当て方法を示しています。subtype 引数に NULL 値が指定されていることに注目してください。 FML 型バッファの割り当て 次の例は、CARRAY 型バッファの割り当て方法を示しています。このバッファ型では、size 値を指定する必要があります。 CARRAY 型バッファの割り当て 処理が正常に終了すると、tpalloc() 関数は char 型のポインタを返します。STRING と CARRAY 以外のタイプでは、ポインタを適切な C 構造体または FML ポインタにキャストする必要があります。 tpalloc() 関数は、エラーを検出すると NULL ポインタを返します。次は、エラー条件の例です。struct aud *audv; /* VIEW 構造体 aud を指すポインタ */
. . .
audv = (struct aud *)tpalloc("VIEW", "aud", sizeof(struct aud));
. . .FBFR *fbfr; /* FML バッファ構造体を指すポインタ */
. . .
fbfr = (FBFR *)tpalloc("FML", NULL, Fneeded(f, v))
. . .char *cptr;
long casize;
. . .
casize = 1024;
cptr = tpalloc("CARRAY", NULL, casize);
. . .
全エラー・コードとその説明については『BEA Tuxedo C リファレンス』の tpalloc(3c) を参照してください。
次のコード例は、STRING 型バッファの割り当て方法を示しています。この例では、tpalloc() の size 引数の値として、デフォルト値が使用されています。
STRING 型バッファの割り当て
char *cptr;
. . .
cptr = tpalloc("STRING", NULL, 0);
. . .
関連項目
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|