Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/TCP/IP編


dc_mcf_tempget − 一時記憶データの受け取り(C言語)

〈このページの構成〉

形式

 ANSI C,C++の形式

 #include <dcmcf.h>
 int  dc_mcf_tempget(DCLONG action, char *getdata, DCLONG gtempleng,
                     DCLONG *gdataleng, char *resv01)

 K&R版 Cの形式

 #include <dcmcf.h>
 int  dc_mcf_tempget(action, getdata, gtempleng, gdataleng, resv01)
 DCLONG    action;
 char      *getdata;
 DCLONG    gtempleng;
 DCLONG    *gdataleng;
 char      *resv01;

機能

継続問い合わせ応答用一時記憶領域に格納されている一時記憶データを受け取ります。

gtemplengの長さ(7〜32006バイト)を超える一時記憶データがある場合,超えた部分については切り捨てます。

dc_mcf_tempget実行時,gtemplengから6を減算した値と比べて一時記憶データ長が短い場合,一時記憶データを受け取り領域に設定します。残りの受け取り領域については何も設定しません。

dc_mcf_tempget実行時,初期状態(継続問い合わせ応答開始後,dc_mcf_tempputを1回も実行していない状態)の場合,アプリケーション属性定義(mcfaalcap -n)のtempsizeオペランドで指定した長さの(00)16の一時記憶データがあるものとして,dc_mcf_tempgetを実行します。

受け取り領域の形式を次に示します。

[図データ]

UAPで値を設定する引数

●action

DCMCFBUF2を設定します。

●getdata

受け取り領域を設定します。

処理終了後,getdataにはOpenTP1から値が返されます。

●gtempleng

受け取り領域長を7〜32006バイトで設定します。

●resv01

ヌル文字列を設定します。

OpenTP1から値が返される引数

●getdata

受け取った一時記憶データが返されます。初期状態の場合,継続問い合わせ応答用一時記憶領域の長さ(アプリケーション属性定義(mcfaalcap -n)のtempsizeオペランドの指定値)分だけ(00)16が埋められます。

●gdataleng

前回更新した一時記憶データの長さが返されます。初期状態の場合,継続問い合わせ応答用一時記憶領域の長さ(アプリケーション属性定義(mcfaalcap -n)のtempsizeオペランドの指定値)が返されます。

リターン値

リターン値

リターン値(数値)

意味

DCMCFRTN_00000

0

正常に終了しました。

DCMCFRTN_72000

-13000

SPPではdc_mcf_tempget関数を呼び出せません。

DCMCFRTN_72013

-13013

gtemplengの設定値を超える一時記憶データを受け取りました。gtemplengの設定値を超えた部分は切り捨てられました。

DCMCFRTN_72016

-13016

resv01に設定した値が間違っています。

引数に設定した値に間違いがあります。

DCMCFRTN_72036

-13036

gtemplengの設定値が不足しています。7バイト以上の領域を確保してください。

DCMCFRTN_72101

-13101

継続問い合わせ応答型でないアプリケーションで,dc_mcf_tempget関数を呼び出しています。

DCMCFRTN_72106

-13106

先頭セグメントを受信するdc_mcf_receive関数を呼び出す前に,dc_mcf_tempget関数を呼び出しています。

DCMCFRTN_72107

-13107

dc_mcf_contend関数を呼び出したあとで,dc_mcf_tempget関数を呼び出しています。

上記以外

プログラムの破壊などによる,予期しないエラーが発生しました。

(凡例)

−:該当しません。