定義体に指定した論理アテンションに対応する入力操作に、無効(禁止)状態の設定または解除を行います。
PSINT PSFUNCTION ps_enable_attention (
PSFILE psfile,
PSUSHORT mode,
PSUSHORT num,
PSPSTR PSPOINTER pMask);
psfile | : | オープン処理で獲得した表示ファイル識別子を指定します。 | ||
mode | : | アテンションマスクを操作する種別を指定します。値とその意味は以下のとおりです。 | ||
PS_EATTN_ON | : | アテンションの有効状態を設定(無効状態解除)します。 | ||
PS_EATTN_OFF | : | アテンションの無効状態を設定します。 | ||
num | : | 処理の対象とする論理アテンションの個数を指定します。 | ||
pMask | : | 処理の対象とする論理アテンションのアテンション情報へのポインタを、numの個数分指定した領域のアドレスを指定します。アテンション情報には、NULLで終わる文字列を4バイトで指定します。 |
画面への入出力時にアテンション情報"ATN1"と"ATN2"の2つの論理アテンションを無効状態にします。
PSFILE psfile; SAMPLE samp; PSPSTR PSPOINTER pMask1[] = {"ATN1","ATN2"}; PSPSTR PSPOINTER *pMask2; PSUSHORT rtn; pMask2 = pMask1; psfile = ps_open("DSPFILE", PS_OPEN_DSP, &Error, 0); ps_set_formatsize(psfile,"SAMPLE",s_SAMPLE); ps_enable_attention(psfile, PS_EATTN OFF, 2, pMask2); ps_read(psfile, PS_READ_NOERASE, "SCREEN", &samp, 0);
正常終了時には0が返されます。エラー発生時には1または2が返されます。psfileの指定に誤りがある場合には2が、それ以外のエラーの場合には1が返されます。1が返された場合には通知コードの獲得で通知コードを獲得してエラー原因を識別できます。
処理中にオペレータがタスクリストからの終了を選択すると-1が返されます。その場合、利用者プログラムは必ず実行を終了してください。
アテンション無効状態は定義体ごとに指定可能であり、解除するまで有効となります。
同一定義体に対して複数回のアテンション指定を行った場合、依頼ごとに無効となるアテンションが追加されます。
アテンションの無効状態の解除は、設定と同様に定義体ごとに解除する論理アテンションを指定します。
未使用の定義体に対して依頼を行った場合、定義体をローディングした後に無効状態を設定します。定義体を切り替えて使用する場合、無効指定した定義体(利用者登録した定義体を除く)を再ローディングすると、その定義体の無効状態が解除されるので注意が必要です。