分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス C言語編

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

dc_mcf_tempget

名称

一時記憶データの受け取り

形式

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には,1〜32000バイトの値を設定してください。一時記憶データが,gtemplengの長さを超えている場合は,超えた部分は切り捨てられます。一時記憶データが「gtempleng -8」(バッファ形式1の場合),または「gtempleng -6」(バッファ形式2の場合)よりも短い場合は,残りの受け取り領域については何もしません。

一時記憶データがない場合は,MCFアプリケーション定義のtempsizeで指定した長さだけの(00)16があるものとして,dc_mcf_tempget関数を実行します。

受信するセグメントの領域の形式を次に示します。Lは,バッファ形式1では8バイト,バッファ形式2では6バイトです。

[図データ]

UAPで値を設定する引数

●action

使うバッファ形式を設定します。

 
{DCMCFBUF1|DCMCFBUF2}
DCMCFBUF1
バッファ形式1を使うときに設定します。
DCMCFBUF2
バッファ形式2を使うときに設定します。

●getdata

一時記憶データを受け取る領域を設定します。dc_mcf_tempget関数を呼び出したあと,getdataで示す領域には,一時記憶データが返されます。

●gtempleng

一時記憶データを受け取る領域の長さを設定します。バッファ形式によって,指定するバイト数が異なります。

●resv01

ヌル文字を設定します。

OpenTP1から値が返される引数

●getdata

一時記憶データが返されます。

●gdataleng

前回更新したデータ長が返されます。

リターン値

リターン値 リターン値(数値) 意味
DCMCFRTN_00000 0 正常に終了しました。
DCMCFRTN_72000 -13000 SPPでは,dc_mcf_tempget関数は呼び出せません。
DCMCFRTN_72013 -13013 受け取り領域の長さを超える一時記憶データを受け取りました。超えた部分は切り捨てられました。
DCMCFRTN_72016 -13016 actionに設定した値が間違っています。
resv01の指す領域の値がヌル文字になっていません。
DCMCFRTN_72036 -13036 受け取り領域の長さが9バイト未満(バッファ形式1の場合),または7バイト未満(バッファ形式2の場合)です。
DCMCFRTN_72101 -13101 MCFアプリケーション定義で継続問い合わせ応答型(type=cont)と指定していないMHPで,dc_mcf_tempget関数を呼び出しています。
DCMCFRTN_72106 -13106 先頭セグメントを受信するdc_mcf_receive関数を呼び出す前に,dc_mcf_tempget関数を呼び出しています。
DCMCFRTN_72107 -13107 dc_mcf_contend関数を呼び出したあとで,dc_mcf_tempget関数を呼び出しています。
上記以外 プログラムの破壊などによる,予期しないエラーが起こりました。