BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   C 言語を使用した BEA Tuxedo アプリケーションのプログラミング   |   先頭へ   |   前へ   |   次へ   |   目次

 


バッファ・タイプの確認

tptypes(3c) 関数は、バッファのタイプとサブタイプ (指定されている場合) を返します。次は tptypes() 関数の文法です。

long
tptypes(char *ptr, char *type, char *subtype)

次の表は、tptypes() 関数の引数を示しています。

ttptypes() 関数の引数

引数

説明

ptr

データ・バッファを指すポインタ。このポインタは、tpalloc() または tprealloc() の呼び出しで設定されます。NULL は指定できません。また、文字型にキャストする必要があります。この 2 つの条件が満たされていない場合、tptypes() 関数は引数が無効であることを示すエラーを返します。

type

データ・バッファのタイプを指すポインタ。type は文字型の値です。

subtype

データ・バッファのサブタイプ (指定されている場合) を指すポインタ。subtype は文字型の値です。VIEWVIEW32X_C_TYPE、および X_COMMON 以外のタイプの場合、返された subtype パラメータは NULL 文字列を含む文字配列を指します。

処理が正常に終了した場合、tptypes() 関数は長精度型 (long) でバッファの長さを返します。

エラーが発生した場合、tptypes() 関数は -1 を返し、tperrno(5) に対応するエラー・コードを設定します。エラー・コードについては、『BEA Tuxedo C リファレンス』の 「C 言語アプリケーション・トランザクション・モニタ・インターフェイスについて」、および tpalloc(3c) を参照してください。

処理の正常終了時に tptypes() 関数から返されたサイズ値を使用して、次の例に示すように、デフォルトのバッファ・サイズがデータを格納するのに十分な大きさかどうかを確認できます。

バッファ・サイズの取得

. . .
iptr = (FBFR *)tpalloc("FML", NULL, 0);
ilen = tptypes(iptr, NULL, NULL);
. . .
if (ilen < mydatasize)
iptr=tprealloc(iptr, mydatasize);

関連項目

 

先頭へ戻る 前のトピックへ 次のトピックへ