bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo C リファレンス

 Previous Next Contents View as PDF  

tprealloc(3c)

名前

tprealloc()−型付きバッファのサイズを変更するルーチン

形式

#include <atmi.h>  
char * tprealloc(char *ptr, long size)

機能説明

tprealloc() は、ptr が指すバッファのサイズを size バイトに変更し、新しい (おそらく移動した) バッファを指すポインタを返します。tpalloc() と同様、割り当てるバッファは少なくとも size および dfltsize と同じ大きさになります。ここで、dfltsize は特定のバッファ・タイプの tmtype_sw に指定されたデフォルトのバッファ・サイズです。この 2 つの値の大きい方のサイズが 0 またはそれ以下であると、このバッファは変更されず、NULL が返されます。 A buffer&srq;s’ remains the same after it is reallocated.この関数が正常に終了した場合、返されたポインタは、バッファを参照するために使用します。以後、バッファの参照に ptr を使用しないようにしてください。バッファの内容は、新しいサイズと古いサイズのうち短い方の長さまでは変更されません。

ある種のバッファ・タイプは、使用する前に初期化を行っておく必要があります。tprealloc() は、バッファを再割り当てした後、(通信マネージャ固有の方法で) バッファを再度初期化します。このため、呼び出し元から返されるバッファはすぐに使用できます。

マルチスレッドのアプリケーション中のスレッドは、TPINVALIDCONTEXT を含め、どのコンテキスト状態で実行していても、tprealloc() の呼び出しを発行できます。

戻り値

tprealloc() は正常終了すると、long ワードに境界を合わせた、適切なタイプのバッファへのポインタを返します。

異常終了すると、tprealloc() は NULL を返し、tperrno を設定してエラー条件を示します。

エラー

再初期化関数が正常に実行できなかった場合、tprealloc() は異常終了して NULL を返し、ptr が指すバッファの内容は無効になってしまう可能性があります。異常終了時には、tprealloc()tperrno を次のいずれかの値に設定します。

[TPEINVAL]

無効な引数が与えられた場合 (たとえば、ptr が、もともと tpalloc() によって割り当てられたバッファを指していない場合など)。

[TPEPROTO]

tprealloc() が不正に呼び出されました。

[TPESYSTEM]

BEA Tuxedo システムのエラーが発生しました。エラーの正確な内容がログ・ファイルに書き込まれます。

[TPEOS]

オペレーティング・システムのエラーが発生しました。

使用法

バッファの再初期化が正常に実行できなかった場合、tprealloc() は異常終了して、NULL を返し、ptr が指すバッファの内容は無効になってしまう可能性があります。この関数は、C ライブラリの malloc()realloc()、または free() とともに使用することはできません (たとえば、tprealloc() で割り当てたバッファは free() で解放することはできません)。

関連項目

tpalloc(3c)tpfree(3c)tptypes(3c)

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy