既存のアプリケーションでは、データボックスの参照は、 データボックスのシステムコールを独自に呼び出すことはせずに、 本節で述べるライブラリを通して参照している。
本ライブラリはデータマネージャが認識する、 データの数を減らすために用意されたものである。 1Bではデータマネージャが管理するデータ数の制限があったこと、 ならびに 1 データあたりの管理情報が大きかったために、 このようなライブラリが構築された。
新規アプリケーションの開発では、 とくに以下のライブラリを無理して使用する必要はない。
|
W opendbox(LINK *lnk, W dtyp, W dnum)
LINK *lnk データボックスへのリンク W dtyp 扱うデータのデータタイプ W dnum 扱うデータのデータ番号
= 0 正常終了(データボックスファイルID) < 0 エラー(エラーコード)
以下の処理を行なう。
dopn_dat(NULL)
でオープンする。
dtyp
で指定したデータタイプ、dnum
で指定したデータ番号のデータを
dget_dtp()
で取りだす。EX_DNUM
の エラーでかつ lnk ≠ NULL
の時は下記の処理を行い、データを取り出す。
lnk
で指定したファイルを dopn_dat()
でオープンする。
dtyp
, dnum
で指定したデータを
dget_dtp()
で取り出し、
データの格納されている共有メモリのポインタと大きさを取り出す。
dcls_dat()
でクローズする。
0xf0ff
のデータ番号のデータが存在する場合は、
そのデータをローカルデータボックスに ddef_ldt()
で登録する。
pact_err()
により、
"データボックスがオープンできません。" のエラーパネルを表示する。
|
W opendatabox(LINK *lnk, W dtyp, W dnum, W eflg)
LINK *lnk データボックスへのリンク W dtyp 扱うデータのデータタイプ W dnum 扱うデータのデータ番号 W eflg エラーパネル表示フラグ =0 エラーパネルを表示しない =1 エラーパネルを表示する
=0 正常終了(データボックスファイルID) <0 エラー(エラーコード)
エラーパネル表示フラグの指定によりエラーパネルの表示を制御できることを除き、
opendbox()
と同様。
|
VOID closedbox(void)
なし
なし
全てのデータボックスをクローズする。
具体的には dcls_dat(NULL)
を実行する。
|
B* getdbox(W dnum)
W dnum 検索対象のデータ番号
≠NULL データへのポインタ =NULL データが見つからない
dnum
で指定したデータ番号のデータをデータボックスから検索し、
そのポインタを関数値として戻す。
|
B* ptrdbox(W offset)
W offset オフセット
≠NULL データへのポインタ =NULL データが見つからない
データボックス内の offset
をデータポインタに変換し、
関数値として戻す。
|
W setdbox(B *ptr)
B *ptr データへのポインタ
不定
オンメモリのデータボックスデータを内部でデータボックスとして扱うためのポインタとしてセットする。