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