トランザクショナル分散オブジェクト基盤 TPBroker Object Transaction Monitor プログラマーズガイド

[目次][索引][前へ][次へ]

TSCContext(COBOL)

TSCContextはシステム提供クラスです。

TSCContextは,TSCユーザプロキシを使用してクライアント側からサーバ側のTSCユーザオブジェクトの副プログラムを呼び出すとき,暗黙的にサーバ側に渡すユーザデータのコンテナクラスです。次にTSCContextの特徴を示します。

TSCContextによるユーザデータの取得

TSCProxyObjectを使用して,クライアント側からサーバ側のTSCユーザオブジェクトの副プログラムを呼び出すときに,TSCContextによって引数以外のユーザデータをサーバ側に渡すことができます。

クライアント側では,TSCProxyObject-TSCContextGetによってTSCContextを取得し,送信したいユーザデータを設定します。サーバ側では,オブジェクトが呼び出されている間,TSCObject-TSCContextGetを使用してTSCContextを取得します。このTSCContextが保持しているユーザデータは,クライアント側のTSCContextに設定したユーザデータと同じ内容です。

形式

 
CALL 'TSCContext-setUserData' USING
            BY VALUE       CONTEXT-PTR
            BY VALUE       DATA-PTR
            BY VALUE       DATA-LENGTH
            BY REFERENCE   CORBA-ENVIRONMENT.
 
CALL 'TSCContext-getUserData' USING
            BY VALUE       CONTEXT-PTR
            BY REFERENCE   CORBA-ENVIRONMENT.
         RETURNING         DATA-PTR.
 
CALL 'TSCContext-getUserDataLength' USING
            BY VALUE       CONTEXT-PTR
            BY REFERENCE   CORBA-ENVIRONMENT.
         RETURNING         DATA-LENGTH.

副プログラム

●CALL 'TSCContext-setUserData' USING

            BY VALUE      CONTEXT-PTR
            BY VALUE      DATA-PTR
            BY VALUE      DATA-LENGTH
            BY REFERENCE  CORBA-ENVIRONMENT.
 
項目 型・(入出力の区別)意味
引数 BY VALUE CONTEXT-PTR USAGE POINTER (入力)TSCContextのポインタ
BY VALUE TA-PTR USAGE POINTER (入力)ユーザデータ(文字列のポインタ)
BY VALUE DATA-LENGTH PIC 9(9) COMP (入力)ユーザデータの長さ
BY REFERENCE CORBA-ENVIRONMENT (出力)例外情報集団項目
戻り値 ありません。
例外 TSCBadParamException

ユーザデータを設定します。ここで設定したユーザデータの領域の管理責任は,ユーザにあります。

●CALL 'TSCContext-getUserData' USING

            BY VALUE          CONTEXT-PTR
            BY REFERENCE      CORBA-ENVIRONMENT
         RETURNING            DATA-PTR.
 
項目 型・(入出力の区別)意味
引数 BY VALUE CONTEXT-PTR USAGE POINTER (入力)TSCContextのポインタ
BY REFERENCE CORBA-ENVIRONMENT (出力)例外情報集団項目
戻り値 DATA-PTR USAGE POINTER ユーザデータ
例外 TSCBadParamException

ユーザデータを取得します。ユーザが自分で設定したものでないかぎり,ここで取得したユーザデータをユーザが解放してはいけません。

●CALL 'TSCContext-getUserDataLength' USING

            BY VALUE          CONTEXT-PTR
            BY REFERENCE      CORBA-ENVIRONMENT
         RETURNING            DATA-LENGTH.
 
項目 型・(入出力の区別)意味
引数 BY VALUE CONTEXT-PTR USAGE POINTER (入力)TSCContextのポインタ
BY REFERENCE CORBA-ENVIRONMENT (出力)例外情報集団項目
戻り値 DATA-LENGTH PIC 9(9) COMP ユーザデータの長さ
例外 TSCBadParamException

ユーザデータの長さを取得します。

マルチスレッド環境での副プログラム呼び出し規則

マルチスレッド環境で,TSCContextクラスのインスタンスの副プログラムを呼び出す規則を次に示します。

副プログラム 複数のスレッド上からの同時呼び出し
TSCContext-setUserData できません。
TSCContext-getUserData できません。
TSCContext-getUserDataLength できません。