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できません。