|
|
データのバッファへの格納
バッファを割り当てると、そこにデータを格納できるようになります。
次の例では、3 つのメンバ (フィールド) を持つ VIEW 型バッファ aud を作成しています。3 つのメンバは、コマンド行がある場合はそこから取得される支店 ID の b_id、照会された残高を返す balance、およびステータス行にメッセージを返す ermsg です。audit を使用して特定の支店の残高が照会されると、b_id の値には要求の送信先の支店 ID、balance にはゼロ、ermsg には NULL 文字列がそれぞれ設定されます。
メッセージ・バッファへのデータの格納 - 例 1
...
audv = (struct aud *)tpalloc("VIEW", "aud", sizeof(struct aud));
/* aud 構造体を用意します。 */
audv->b_id = q_branchid;
audv->balance = 0.0;
(void)strcpy(audv->ermsg, "");
...
auditを使用して銀行全体の残高が照会されると、BAL サーバが呼び出されてサイトごとの残高合計が取得されます。個々のサイトで照会を行うには、代表支店 ID を指定します。代表支店 ID は、配列 sitelist[] に格納されます。したがって、aud 構造体は、次の例のように設定されます。
メッセージ・バッファへのデータの格納 - 例 2
...
/* aud 構造体を用意します。 */
audv->b_id = sitelist[i];/* このフィールドでルーティングを行います。 */
audv->balance = 0.0;
(void)strcpy(audv->ermsg, "");
...
STRING バッファにデータを格納するプロセスについては、「バッファのサイズ変更」のコード例を参照してください。
関連項目
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|