ページの先頭行へ戻る
MeFt V11.0 ユーザーズガイド
FUJITSU Software

7.5.13 入力の中断

【提供インタフェース】

参考

COBOLから使用する場合は、CALL文でF3BJMI00.DLLからエクスポートしているこの関数を呼び出します。

【機能説明】

  他の利用者プログラムの入力中のMeFtのウィンドウに、入力中断依頼を行います。

[形式]

#include <windows.h>
#define _ PS_DEP_SYSTEM
#include <psdef.h>

PSINT PSFUNCTION ps_cancel_read(
    HWND bswhndl,
    PSLONG reserve)

[パラメタ]

bswhndl

:

入力実行中のMeFtのウィンドウハンドルを指定します。ウィンドウハンドルは、ウィンドウハンドルの獲得で獲得してください。

reserve

:

リザーブです。必ず0を指定します。

[使用例]

利用者プログラムSAMPLE1が、利用者プログラムSAMPLE2に対して、入力中断依頼を行います。この例では、入力中断するウィンドウのウィンドウハンドルは、ファイルhWnd.DATによってSAMPLE1に渡しています。

[SAMPLE1]
PSFILE psfile;
SAMPLE samp;
PSUSHORT rtn;
HWND hWnd;
if((fp = fopen("hWnd.DAT", "r+b"))==NULL)
    return(1);
fread((HWND)&hWnd, 4, 1, fp);
fclose(fp);
ps_cancel_read(hWnd, 0);
[SAMPLE2]
PSFILE psfile;
SAMPLE samp;
PSUSHORT rtn;
HWND hWnd;
psfile = ps_open("DSPFILE", PS_OPEN_DSP, &Error, 0);
ps_set_formatsize(psfile, "SAMPLE", s_SAMPLE);
if((fp = fopen("hWnd.DAT", "w+b"))==NULL)
    return(1);
hWnd = ps_get_window(psfile, 0);
fwrite(&hWnd, 4, 1, fp); /* ウィンドウハンドルをファイルに格納します。*/
fclose(fp);
ps_read(psfile, PS_READ_NOERASE, "SCREEN", &samp, 0);
[診断]

  正常終了時には0が返されます。bswhndlで指定したウィンドウハンドルを持つ、ウィンドウがなかった場合には1が返されます。

  処理中にオペレータがタスクリストからの終了を選択すると-1が返されます。その場合、利用者プログラムは必ず実行を終了してください。

注意事項
  • 入力中断を実行しても、入力中断直前までに入力したデータは、レコードデータ域に格納されます。

  • 入力中断した利用者プログラムは、入力中断による入力完了として、アテンション情報(RC00)とMEFD_RC_OTHCAN(5A)を獲得できます。

  • 入力中断を行った利用者プログラムは、入力中断できたかどうかを復帰値として獲得することができます。入力中断時の入力結果などを獲得することはできません。

  • 入力中断したウィンドウが、入力の状態にない場合は、入力中断が保留されます。保留された入力中断依頼は、このウィンドウの次回入力時に処理します。

  • 入力中断依頼を保留されたウィンドウに、複数の入力中断依頼を行っても、このウィンドウが処理する入力中断依頼は初めの1回だけで、それ以降の入力中断依頼は破棄されます。

  • 入力中断依頼を保留したウィンドウがクローズした場合には、入力中断依頼は破棄されます。