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

Tuxedo C リファレンス

 Previous Next Contents View as PDF  

rpc_sm_allocate、rpc_ss_allocate(3c)

名前

rpc_sm_allocate()rpc_ss_allocate()−RPC スタブ・メモリ管理方式でのメモリの割り当て

形式

#include <rpc/rpc.h> 
idl_void_p_t rpc_sm_allocate(unsigned32 size, unsigned32 *status)
idl_void_p_t rpc_ss_allocate(unsigned32 size)

機能説明

アプリケーションは rpc_sm_allocat3() を呼び出し、RPC スタブ・メモリ管理方式でメモリを割り当てます。入力パラメータ size は、割り当てるメモリの大きさをバイト単位で指定します。このルーチンを呼び出す前に、スタブ・メモリ管理環境が確立されていなければなりません。サーバ・スタブから呼び出されるサービス・コードでは通常、スタブ自身が必要な環境を確立します。スタブから呼び出されないコードで rpc_sm_allocate() を使用する場合には、アプリケーションが rpc_sm_enable_allocate() を呼び出し、必要なメモリ管理環境を確立しなければなりません。

サーバ・スタブのパラメータ中に参照によるパラメータの転送に使用される以外のポインタが含まれている、あるいは [enable_allocate] 属性が ACS ファイル内の操作に指定されている場合には、環境は自動的に設定されます。そうでなければ、環境は rpc_sm_enable_allocate() を呼び出すことで、アプリケーションにより設定されなければなりません。

スタブがメモリ管理環境を確立する場合には、スタブ自身が rpc_sm_allocate() により割り当てられたメモリを解放します。アプリケーションは rpc_sm_free() を呼び出し、呼び出し側スタブに戻る前にメモリを解放することができます。

アプリケーションがメモリ管理環境を確立した場合には、アプリケーションは rpc_sm_free() または rpc_sm_disable_allocate() を呼び出し、割り当てられたすべてのメモリを解放しなければなりません。

出力パラメータ status には、このルーチンからのステータス・コードが返されます。このステータス・コードは、ルーチンが成功して完了したか、または失敗した場合はその理由を示します。次は、ステータス・コードとその意味の一覧です。

rpc_s_ok

常にこのコードが返されます。戻り値により障害の原因を決定します。

rpc_ss_allocate() は、この関数の例外復帰バージョンであり、出力パラメータ status を持ちません。例外は発生しません。

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

戻り値

正常終了すると、このルーチンは割り当てられたメモリを指すポインタを返します。idl_void_p_t は、ISO 標準 C 環境では void * に、他の環境では char * に定義されていることに注意してください。

メモリ不足の場合、ルーチンは NULL ポインタを返します。

関連項目

rpc_sm_disable_allocate、rpc_ss_disable_allocate(3c)rpc_sm_enable_allocate、rpc_ss_enable_allocate(3c)rpc_sm_free、rpc_ss_free(3c)

TxRPC を使用した BEA Tuxedo アプリケーションのプログラミング

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy