画面・帳票サポートシステム XMAP3 プログラミングガイド 画面編

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

7.4.1 関数の機能概要

Windows専用の汎用入出力関数とそれぞれの機能概要を表7-12に,Windows専用の汎用入出力関数の発行順序を図7-17に示します。

表7-12 Windows専用の汎用入出力関数

関数 機能概要 備考
XmapDrvCreateOpen メモリ確保,仮想端末オープン(ディスプレイ) OPEN要求関数
XmapDrvClose メモリ解放,仮想端末クローズ CLOSE要求関数
XmapDrvSend 画面の出力
XmapDrvReceive 画面の入力
XmapDrvTransceive 画面の入出力
XmapDrvGetError エラーコードの詳細を取得
XmapDrvCreate メモリ確保
XmapDrvOpen 仮想端末オープン OPEN要求関数
XmapDrvSetMapOption マッピングオプションを設定 出力制御パラメタ関数
XmapDrvSetDataCode データ有無コードを設定 オープン制御パラメタ関数

(凡例)
−:該当しない。

図7-17 Windows専用の汎用入出力関数の発行順序

[図データ]

<この項の構成>
(1) XmapDrvCreateOpen関数
(2) XmapDrvClose関数
(3) XmapDrvSend関数
(4) XmapDrvReceive関数
(5) XmapDrvTransceive関数
(6) XmapDrvGetError関数
(7) XmapDrvCreate関数
(8) XmapDrvOpen関数
(9) XmapDrvSetMapOption関数
(10) XmapDrvSetDataCode関数

(1) XmapDrvCreateOpen関数

インタフェース用メモリを確保したり,仮想端末をオープンしたりします。

形式
[図データ]
仮想端末名称(tname):仮想端末定義ファイルで指定した名称を指定します。

処理内容
XMAP_COM,XMAP_REQ,XMAP_OPNおよびXMAP_MDOテーブルを確保し,仮想端末をオープンする。

リターンコード
0:異常終了
1以上:正常終了(仮想端末識別子:確保した領域の先頭アドレス)

注意事項
仮想端末名称は8バイト以内で指定し,最後にNULLで終わる文字列を指定してください。
一つのAP(プロセス)内で同時にオープンできる端末数の上限は15個です。
データ有無コードには標準値「1F」が仮定されます。

(2) XmapDrvClose関数

仮想端末をクローズします。

形式
[図データ]

仮想端末識別子(termid):オープン要求関数の戻り値を指定します。

処理内容
  1. 仮想端末をクローズする。
  2. XMAP_COM,XMAP_REQ,XMAP_OPN,XMAP_MDOテーブル領域を解放する。

リターンコード
0:正常終了
−1:異常終了

注意事項
クローズ済みの仮想端末識別子を指定した場合,アクセス違反を起こす場合があります。

(3) XmapDrvSend関数

画面を表示します。

形式
[図データ]
仮想端末識別子(termid) :オープン要求関数の戻り値を指定する。
物理マップ名称(pmpname) :出力する物理マップ名称を指定する。
出力論理マップ(olog) :出力論理セグメントを指定する。

処理内容
画面を表示します。

リターンコード
0:正常終了
−1:異常終了

注意事項
クローズ済みの仮想端末識別子を指定した場合,アクセス違反を起こす場合があります。
エラーが発生した場合,自動的にクローズ処理が実行されます。

(4) XmapDrvReceive関数

画面に入力されたデータを取得します。

形式
[図データ]
仮想端末識別子(termid):オープン要求関数の戻り値を指定する。
入力論理マップ(ilog):入力論理マップを指定する。
入力論理マップの全体長を入力論理マップの先頭(2バイト)に指定する。

処理内容
画面に入力されたデータを取得します。

リターンコード
0:正常終了
−1:異常終了

注意事項
クローズ済みの仮想端末識別子を指定した場合,アクセス違反を起こす場合があります。
エラーが発生した場合,自動的にクローズ処理が実行されます。
入力論理マップ長として実際より短い値を指定した場合,エラーを返します。

(5) XmapDrvTransceive関数

画面を表示したり,画面に入力されたデータを取得したりします。

形式
[図データ]
仮想端末識別子(termid):オープン要求関数の戻り値を指定する。
物理マップ名称(pmpname):出力する物理マップ名称を指定する。
出力論理マップ(olog):出力論理マップを指定する。
入力論理マップ(ilog):入力論理マップを指定する。
入力論理マップの全体長を入力論理マップの先頭(2バイト)に指定する。

処理内容
画面を表示したり,画面に入力されたデータを取得したりします。

リターンコード
0:正常終了
−1:異常終了

注意事項
クローズ済みの仮想端末識別子を指定した場合,アクセス違反を起こす場合があります。
エラーが発生した場合,自動的にクローズ処理が実行されます。
入力論理マップ長として実際より短い値を指定した場合,エラーを返します。

(6) XmapDrvGetError関数

エラーの詳細を取得します。

形式
[図データ]

処理内容
直前に発行された関数のエラー詳細を取得します。

リターンコード
0以上:正常終了(詳細エラーコード)

(7) XmapDrvCreate関数

メモリを確保します。

形式
[図データ]

処理内容
XMAP_COM, XMAP_REQ, XMAP_OPN, XMAP_MDOテーブル領域を確保します。

リターンコード
0:異常終了
1以上:正常終了(仮想端末識別子:確保した領域の先頭アドレス)

(8) XmapDrvOpen関数

仮想端末をオープンします。

形式
[図データ]

仮想端末識別子(termid):XmapDrvCreateの戻り値を指定する。

仮想端末名称(tname):仮想端末定義ファイルで指定した名称を指定する。

処理内容
仮想端末をオープンします。

リターンコード
0:正常終了
−1:異常終了

注意事項
クローズ済みの仮想端末識別子を指定した場合,アクセス違反を起こす場合があります。
仮想端末名称には,最後にヌルで終わる文字列を指定してください。9バイト以上の場合,9バイト以降は切り捨てられます。
一つのAP(プロセス)内で同時にオープンできる端末数の上限は15個です。

(9) XmapDrvSetMapOption関数

マッピングオプションを指定する。

形式
[図データ]
  1. 仮想端末識別子(termid)
    オープン要求関数の戻り値を指定する。
  2. マッピングオプション(mode)
    マッピングオプションを指定する。

指定できるマッピングオプションは,次のとおりです。

内容 指定値
マージ 0
論理マップだけ 2
物理マップだけ 3

modeの内容の詳細については,「1.5.3(1) マッピングオプション」を参照してください。

処理内容
マッピングオプションを設定します。

リターンコード
0:正常終了

注意事項
クローズ済みの仮想端末識別子を指定した場合,アクセス違反を起こす場合があります。
modeに不当な値を指定した場合,「マージ」を仮定します。

(10) XmapDrvSetDataCode関数

データ有無コードを設定する。

[図データ]

  1. 仮想端末識別子(termid)
    オープン要求関数の戻り値を指定する。
  2. データ有無コード(code)
    データ有無コードを指定する。

処理内容
データ有無コード((00)16〜(1F)16または(FF)16)を設定します。データ有無コードはすべてのAPにかかわるコードのため,できるだけ標準値((1F)16)を利用することをお勧めします。

リターンコード
0:正常終了

注意事項
クローズ済みの仮想端末識別子を指定した場合,アクセス違反を起こす場合があります。
この関数を発行しない場合,データ有無コードには標準値「1F」が仮定されます。