印刷マネージャは印刷に関連する処理を統一的に扱うための外殻であり、 印刷に関するアプリケーションからのプログラミングインタフェース、 およびユーザインタフェースを統一することを目的としている。
印刷マネージャでは、TAD データを印刷用紙上にレイアウトして、 指定されたプリンタに印刷する機能を備えているため、 アプリケーションは、 印刷する TAD データを用意するだけで印刷機能を実現することができるため、 印刷に関する処理を大幅に軽減することができる。
印刷に関する全体の構成を示す。
印刷マネージャは、大きく以下の3つの機能を備えている。
印刷管理では、印刷に関連する各種のパラメータの表示設定処理、 TAD データをレイアウトして実際に印刷する処理、 レイアウト結果を画面に表示するプレビュー処理などの、 印刷に直接関連する各種の処理を行う。
一般に印刷には時間がかかるため、 印刷終了までアプリケーションを待たせることはできない。 そのため、 印刷要求をプリンタごとの待ち列に登録した時点で印刷処理を一旦終了させ、 バックグラウンド処理により待ち列に入っている印刷要求を順番に処理していくスプール方式をとる。
スプール管理では、印刷要求の登録、削除、実行、印刷終了の通知、 登録状態の取り出しなどのスプールに関する処理を行う。
印刷を行うプリンタはあらかじめシステムに登録しておく必要がある。
プリンタ管理では、プリンタの登録、削除、 各種の情報の設定や取り出しなどの処理を行う。
基本印刷レイアウタは、 印刷管理を処理を実際に行うためのシステムアプリケーションであり、 印刷マネージャから起動される。
プリンタイメージドライバは、 プリンタ機種に依存した各種の情報の提供や、 プリンタへ出力する印刷データの生成を行うシステムアプリケーションであり、 基本印刷レイアウタから起動される。
基本印刷レイアウタ、およびプリンタイメージドライバの処理、 構成やインタフェースの詳細に関してはインプリメントに依存する。
TAD データをレイアウトするために想定されている仮想的な用紙をレイアウト用紙と呼び、 TAD データ内の用紙指定付せんにより定義される。
印刷用紙とは、 実際に印刷を行うために印刷時に指定する用紙であり、 レイアウト用紙と一致することが普通であるが、 レイアウト用紙とは異なる印刷用紙に印刷することもできる。 このとき、拡大 / 縮小を行ったり、 印刷位置をずらしたりすることができる。
印刷管理として、以下の機能を持つ。
システムに登録されているプリンタの一覧をユーザに示し、 対象とするプリンタを選択させる機能。
印刷するために必要となる印刷用紙などの各種のパラメータをユーザに示し、 設定させる機能。
選択したプリンタに対して、 設定した各種の印刷パラメータにしたがって実際にスプール方式によりプリンタに印刷する機能。
実際の印刷終了後に通知を行うかどうか、 および、対象のファイルを削除するかどうかの指定を行うことができる。
印刷するデータは、 TAD データが基本であるが、 印刷データも指定することができる。 ここで、印刷データとは、 プリンタにそのまま出力することにより印刷を行うことができるプリンタへのコマンド列データで、 その内容はプリンタの機種に依存する。
印刷データを実際のプリンタに出力せずに、 ファイルとして作成する機能も持つ。 この場合はスプール方式は使用されない。
実際の印刷は行わずに、画面上に印刷結果を表示を行なう機能。 おもに、印刷結果を事前に確認するために使用される。
これらの機能の詳細およびユーザインタフェースに関してはインプリメントに依存する。
印刷パラメータは、 印刷するための必要となる共通的なパラメータであり、 以下にその内容の詳細を示す。
typedef struct { SIZE size; /* 用紙サイズ */ PNT offset; /* 印刷位置指定 */ UH ratio; /* 印刷倍率 */ UH spage; /* 開始ページ指定 */ UH epage; /* 終了ページ指定 */ UH ncopy; /* 印刷部数 */ UH spec; /* 印刷仕様 */ UB prnvobj; /* 仮身印刷/展開 */ UB expvobj; /* 仮身展開レベル */ SIZE layoutsz; /* レイアウト用紙サイズ */ RECT ovlmgn; /* オーバーレイマージン */ UB reserve[32]; /* 予約 */ } PR_PAR;
印刷用紙の縦、横の大きさをミリメートル単位で指定する。
用紙サイズは用紙全体の大きさを設定するが、実際に印刷される領域は、 プリンタに依存した上下左右の物理マージンを除いた印刷可能領域であるため、 一般に用紙サイズより小さくなる。
size.h == 0 のときは、以下の特殊な指定が有効となる。 size.v = PR_A4 : A4サイズ短辺方向行の書式 PR_A5 : A5サイズ短辺方向行の書式 PR_B4 : B4サイズ短辺方向行の書式 PR_B5 : B5サイズ短辺方向行の書式 PR_A4R : A4サイズ長辺方向行の書式 PR_A5R : A5サイズ長辺方向行の書式 PR_B4R : B4サイズ長辺方向行の書式 PR_B5R : B5サイズ長辺方向行の書式
印刷用紙上で実際に印刷する上側、 および左側のオフセットをミリメートル単位で指定する。
通常は 0 を指定するが、 0 以外を指定した場合は右下部分が印刷用紙をはみ出て印刷されないことがある。
印刷時の倍率をパーセント ( % ) で指定する。
レイアウト用紙にレイアウトした内容を指定した倍率で拡大 / 縮小した結果を、 印刷用紙に印刷する。
レイアウト用紙の左上の位置を、 印刷用紙の印刷位置指定で指定した位置に合わせて印刷するため、 倍率の指定によっては、 右下部分が印刷用紙をはみ出て印刷されなかったり、 余白となることがある。
0 は自動倍率を意味し、 レイアウト用紙全体が印刷用紙全体に一致するように自動的に実際の倍率が計算される。 レイアウト用紙と印刷用紙が同じときは 100 % の倍率となる。
通常は 0 を指定する。
印刷する開始ページ番号と終了ページ番号を指定する。
ページ番号は 1 から始まるが、開始ページに 0 を指定したときは、 全ページを印刷することを意味する。
印刷する部数を指定する。 0 を指定すると 1 とみなされる。 通常は 1 を指定する。
印刷の品質に関する指定を行う。 実際にどのように印刷されるかどうかは選択したプリンタに依存する。
印刷品質 : PR_NORM 通常印刷 PR_DRAFT ドラフト印刷 (低品質、高速) PR_FINE ファイン印刷 (高品質、低速) カラー / モノクロ印刷 : PR_COLOR カラー印刷
仮身の印刷方法を指定する。
仮身を印刷するか無視するかの指定 : PR_PRNVOBJ 仮身を印刷する。 仮身を展開してその内容を印刷するか、仮身の形式で印刷するかの指定 : PR_EXPVOBJ 仮身を展開して印刷する。
仮身を展開して印刷する場合のネストの深さを指定する。
仮身印刷、および、仮身展開が指定されているときのみ有効となる。
仮身の属性として展開印刷が指定されている仮身のみが展開される。
レイアウト用紙の縦、横の大きさをミリメートル単位で指定する。
layoutsz.h == 0
のときは、
layoutsz.v
により、
用紙サイズと同様の特殊な指定が有効となる。
ただし、layoutsz.v == 0
のときは、
レイアウト用紙サイズは未定義となり、用紙サイズと同じとみなされる。
通常は、 TAD データ内の用紙指定付せんで定義されているレイアウト用紙と同じ大きさの指定を行う。
レイアウト用紙上の上下左右のオーバーレイマージンの大きさをミリメートル単位で指定する。
通常は、TAD データ内の用紙指定付せんで定義されているオーバーレイマージンと同じ大きさの指定を行う。
スプール管理では、 システムに登録されたプリンタごとにスプール処理のための待ち列を管理し、 以下の機能を行う。この待ち列のことをスプールキューと呼ぶ。
印刷の要求を選択したプリンタのスプールキューに登録する。
プリンタが印刷中でないときは、印刷処理を開始する。
スプールキューに登録した印刷要求の登録を削除する。
印刷中のときは、印刷処理を中断する。
スプールキューに登録した印刷要求の現在の状態を取り出す。
スプールキューの先頭に登録されている、 印刷要求を実際に処理して印刷を行う。
印刷を終了した時点で、以下の処理を行う。
通知指定があるとき、アプリケーションに対して終了通知を行う。
削除指定があるとき、対象ファイルを削除する。
スプールキューの先頭から取り除き、 次の要求があれば、その要求に対する印刷処理を開始する。
スプールキューから取り出せる印刷登録状態の詳細を以下に示す。
typedef struct { W prid; /* 印刷登録 ID */ W pid; /* 登録プロセス ID */ UW time; /* 登録日時 */ LINK lnk; /* 登録ファイル */ UH mode; /* 印刷モード */ UH stat; /* 出力状態 */ UH rempage; /* 残りページ数 */ UH remcopy; /* 残り部数 */ } PR_STAT;
印刷登録を行ったときに割り当てられる内部的な ID を示す。
印刷登録 ID を使用して、印刷登録の状態を取り出したり、
登録を削除することができる。
印刷登録を行ったプロセスのプロセス ID を示す。
印刷登録したシステム時間を示す。
印刷登録の対象のファイルを示す。
登録時の印刷モードであり、 以下の通りである。
削除モード : PR_NODEL 印刷終了後ファイルを削除しない。 PR_DEL 印刷終了後ファイルを削除する。 通知モード : PR_NOMSG 印刷終了は通知しない。 PR_MSG 印刷終了をメッセージにより通知する。
以下のいずれかの状態を示す。
PR_WAIT 出力待ち PR_ACTIVE 出力中 PR_DELETE 削除中
出力状態が出力中のとき、残りのページ数を示す。
出力中でないときは、意味を持たない。
出力状態が出力中のとき、残りの部数を示す。
出力中でないときは、意味を持たない。
登録された印刷モードで、 印刷終了の通知を指定されている場合、 実際の印刷が終了した時点で、 印刷登録を行ったアプリケーションプロセスに対して以下のメッセージが送信される。
#define MS_PRINT MS_MNG5 /* 印刷メッセージタイプ */ typedef struct { W type; /* = MS_PRINT */ W size; /* メッセージ本体サイズ (= 8) */ W prid; /* 印刷登録 ID */ W code; /* 終了コード(0: 正常) */ /* PR_CANCEL: 取り消された */ } PR_MESG;
正常に印刷が終了した場合は、終了コードに 0 が設定される。
印刷が終了する前に取り消された場合は、
終了コードに PR_CANCEL
が設定される。
システムには複数のプリンタを登録することができる。 プリンタ管理では、プリンタに関する以下の機能を持つ。
システムに登録されているプリンタの一覧を取り出す。
プリンタに関連する構成情報を取り出す。
プリンタに関連する構成情報を設定(変更)、追加(登録)、削除する。
システムに登録されたプリンタは以下に示す内容のプリンタ構成情報を持つ。
#define L_DEVPAR 88 /* 出力デバイスパラメータ長さ */ #define L_HWPAR 160 /* プリンタ固有パラメータ長さ */ typedef struct { TC prname[L_PRNM]; /* プリンタ名 */ TC hwname[L_PRNM]; /* プリンタ機種名 */ TC devname[L_DEVNM]; /* 出力デバイス名 */ TC drvname[L_FNM]; /* ドライバファイル名 */ VB devpar[L_DEVPAR]; /* 出力デバイスパラメータ */ VB hwpar[L_HWPAR]; /* プリンタ固有パラメータ */ } PR_CONF;
プリンタに付ける任意の名前。
この名前によりプリンタの区別や選択が行われる。
プリンタの機種を示す名前。
機種名はシステムに登録されているプリンタイメージドライバにより定義される。
プリンタが実際に接続されている出力デバイスを示す名前。
システムに登録されている実際のデバイス名の他に、以下の特殊な指定がある。
file ファイルへの出力 none 出力なし
プリンタの機種に対応したプリンタイメージドライバのファイル名。
このドライバにより、プリンタの機種に対応した印刷データを作成する。
出力デバイス名に関連するパラメータ。
出力デバイスの種別ごとに異なる構造となる。
プリンタに関連するパラメータ。
プリンタの機種、およびインプリメントに依存した構造となる。
プリンタイメージドライバにより操作される。
typedef struct { SIZE size; /* 用紙サイズ(mm) */ PNT offset; /* 印刷位置指定(mm) */ UH ratio; /* 用紙倍率(%) (0:自動) */ UH spage; /* 開始ページ指定(0:全体) */ UH epage; /* 終了ページ指定(0:全体) */ UH ncopy; /* 印刷部数 (0 は 1) */ UH spec; /* 印刷仕様 */ UB prnvobj; /* 仮身印刷/展開の有無 */ UB expvobj; /* 仮身展開レベル */ SIZE layoutsz; /* レイアウト用紙サイズ(mm) */ RECT ovlmgn; /* オーバーレイマージン(mm) */ UB reserve[32]; /* 予約 */ } PR_PAR;
#define PR_PRNVOBJ 0x01 /* 仮身印刷 */ #define PR_EXPVOBJ 0x02 /* 仮身展開 */
#define PR_NORM 0x00 /* 通常印刷 */ #define PR_DRAFT 0x01 /* ドラフト印刷 */ #define PR_FINE 0x02 /* ファイン印刷 */ #define PR_COLOR 0x10 /* カラー印刷 */
size.h = 0
のときの size.v
)#define PR_A4 0x00a4 /* A4 縦方向 */ #define PR_A5 0x00a5 /* A5 縦方向 */ #define PR_B4 0x00b4 /* B4 縦方向 */ #define PR_B5 0x00b5 /* B5 縦方向 */ #define PR_A4R 0x80a4 /* A4 横方向 */ #define PR_A5R 0x80a5 /* A5 横方向 */ #define PR_B4R 0x80b4 /* B4 横方向 */ #define PR_B5R 0x80b5 /* B5 横方向 */
#define PR_CANCEL 0x01 /* 設定取り消し */ #define PR_SET 0x02 /* 設定 */ #define PR_PREVIEW 0x03 /* 画面表示 */ #define PR_PRINT 0x04 /* 印刷 */ #define PR_FILEOUT 0x05 /* ファイル出力 */
#define PR_NOMSG 0x00 /* 印刷終了メッセージなし */ #define PR_MSG 0x01 /* 印刷終了メッセージあり */ #define PR_NODEL 0x00 /* 登録ファイルの削除なし */ #define PR_DEL 0x02 /* 登録ファイルの削除あり */
typedef struct { W prid; /* 印刷登録 ID */ W pid; /* 登録プロセス ID */ UW time; /* 登録日時 */ LINK lnk; /* 登録ファイル */ UH mode; /* 印刷モード */ UH stat; /* 出力状態 */ UH rempage; /* 残りページ数 */ UH remcopy; /* 残り部数 */ } PR_STAT;
#define PR_WAIT 0 /* 出力状態: 出力待ち */ #define PR_ACTIVE 1 /* 出力状態: 出力中 */ #define PR_DELETE 2 /* 出力状態: 削除中 */
#define MS_PRINT MS_MNG5 /* 印刷メッセージタイプ */ typedef struct { W type; /* = MS_PRINT */ W size; /* メッセージ本体サイズ (= 8) */ W prid; /* 印刷登録 ID */ W code; /* 終了コード(0: 正常) */ /* PR_CANCEL: 取り消された */ } PR_MESG;
#define L_PRNM 20 /* プリンタ名の長さ */ typedef struct { TC prname[L_PRNM]; /* プリンタ名 */ TC hwname[L_PRNM]; /* プリンタ機機名 */ TC devname[L_DEVNM]; /* 出力デバイス名 */ } PR_INFO;
#define L_DEVPAR 88 /* 出力デバイスパラメータ長さ */ #define L_HWPAR 160 /* プリンタ固有パラメータ長さ */ typedef struct { TC prname[L_PRNM]; /* プリンタ名 */ TC hwname[L_PRNM]; /* プリンタ機種名 */ TC devname[L_DEVNM]; /* 出力デバイス名 */ TC drvname[L_FNM]; /* ドライバファイル名 */ VB devpar[L_DEVPAR]; /* 出力デバイスパラメータ */ VB hwpar[L_HWPAR]; /* プリンタ固有パラメータ */ } PR_CONF;
ここでは、印刷マネージャがサポートしている関数群について説明する。 これらの関数は、外殻として提供される。
各関数は ERR
型または WERR
型の関数値をとり、何らかのエラーがあった場合は
「負」のエラーコードが戻る。正常終了時には「0」または「正」の値が戻る。
各関数のエラーコードとしては、本章で示した以外にも、 核や外殻でエラーが検出された場合は、 そのエラーコードが直接戻る場合がある。
|
WERR rset_par(TC *prname, PR_PAR *prpar, LINK *fout)
TC *prname プリンタ名 [入出力] PR_PAR *prpar 印刷パラメータ [入出力] LINK *fout 出力ファイルへのリンク [出力]
=PR_CANCEL : 正常終了(設定を中止した) =PR_SET : 正常終了(設定を行った) =PR_PREVIEW : 正常終了(次に画面表示を行う) =PR_PRINT : 正常終了(次に印刷を行う) =PR_FILEOUT : 正常終了(次にファイル出力を行う) <0 : エラー(エラーコード)
prpar で指定した印刷パラメータを初期値として、
印刷パラメータをユーザに表示し、
設定させ、その結果を prpar
に戻すとともに、
選択されたプリンタ名を
prname
に戻す。
prname
が空でなく、
かつ登録されているプリンタ名のときは、
プリンタ選択の初期値となる。そうでない場合は、
最初に登録されているプリンタ名が初期値となる。
選択されたプリンタの出力デバイスがファイルのとき、
または、ファイル出力が選択された場合は、
出力ファイルが生成され、そのリンクが fout
に戻される。
生成された出力ファイルは、参照カウント 0 の空ファイルの状態となる。
関数値として、選択した操作を示す以下の値 ( >= 0
) が戻る。
PR_CANCEL
:
設定を中止した。
prname, prpar
の内容は更新されない。
PR_SET
:
設定を行った。
prname, prpar
の内容は更新されている。
PR_PREVIEW
:
設定を行い、次に画面表示を行う。
更新された prname, prpar
を使用して、
次に rpvw_fil()
により画面表示を行う必要がある。
PR_PRINT
:
設定を行い、次に印刷を行う。
更新された prname, prpar
を使用して、
次に rprn_fil()
により印刷を行う必要がある。
PR_FILEOUT
:
設定を行い、次にファイル出力を行う。
更新された prname, prpar, fout
を使用して、
次に rout_fil()
によりファイル出力を行う必要がある。
EX_ADR : アドレス(prname, prpar, fout)が不正。 EX_NOEXS : プリンタは 1 つも存在しない。
|
WERR rprn_fil(TC *prname, LINK *lnk, PR_PAR *prpar, UW mode)
TC *prname プリンタ名 [入力] LINK *lnk 印刷するファイルのリンク [入力] PR_PAR *prpar 印刷パラメータ [入力] UW mode 印刷モード [入力]
>0 : 正常終了(印刷登録 ID) <0 : エラー(エラーコード)
prname
で指定したプリンタに対して、
lnk
で指定したファイルを prpar
で指定した印刷パラメータにしたがって印刷を行う。
prpar == NULL
の時は、
ファイルの内容をプリンタに対する印刷データ列とみなし、
ファイル内の全レコードの内容を順番にそのままプリンタへ出力する。
prpar != NULL
の時は、
ファイルの内容は TAD データとみなし、
prpar
で指定した印刷パラメータにしたがって、
レイアウト処理を行い、
生成した印刷データ列をプリンタへ出力する。
印刷を登録した時点で、実際に印刷される前にリターンし、 印刷登録 ID をリターン値として戻す。
実際の印刷処理が終了するまでにファイルの内容を変更した時の印刷結果は保証されない。
mode
は以下を指定する。
mode : (PR_NODEL || PR_DEL) | (PR_NOMSG || PR_MSG)
PR_NODEL
:
印刷終了後ファイルを削除しない。
PR_DEL
:
印刷終了後ファイルを削除する。
ただし、ファイルの参照カウントが 0 でない時は削除されない。
PR_NOMSG
:
印刷終了は通知しない。
PR_MSG
:
印刷終了をメッセージにより通知する。
EX_ADR : アドレス(prname, lnk, prpar)が不正。 EX_NOEXS : 指定したプリンタは存在しない。 その他 : ファイルアクセスエラー。
|
ERR rout_fil(TC *prname, LINK *lnk, PR_PAR *prpar, LINK *fout)
TC *prname プリンタ名 [入力] LINK *lnk 印刷するファイル [入力] PR_PAR *prpar 印刷パラメータ [入力] LINK *fout 出力ファイルへのリンク [入力]
=0 : 正常終了 <0 : エラー(エラーコード)
prname
で指定したプリンタに対して、
lnk
で指定した TAD
データファイルを prpar
で指定した印刷パラメータにしたがって、レイアウト処理を行い、
生成した印刷データ列を
fout
で指定した出力ファイルに格納する。
処理を終了してからリターンする。
EX_ADR : アドレス(prname, lnk, prpar, fout)が不正。 EX_NOEXS : 指定したプリンタは存在しない。 その他 : ファイルアクセスエラー。
|
ERR rpvw_fil(TC *prname, LINK *lnk, PR_PAR *prpar)
TC *prname プリンタ名 [入力] LINK *lnk 画面表示するファイル [入力] PR_PAR *prpar 印刷パラメータ [入力]
=0 : 正常終了 <0 : エラー(エラーコード)
prname
で指定したプリンタに対して、
lnk
で指定した TAD データファイルを
prpar
で指定した印刷パラメータにしたがって、
レイアウト処理を行った結果を画面表示 ( プレビュー )
する。
画面表示を終了してからリターンする。
EX_ADR : アドレス(prname, lnk, prpar)が不正。 EX_NOEXS : 指定したプリンタは存在しない。 その他 : ファイルアクセスエラー。
|
WERR rcan_ent(TC *prname, W prid)
TC *prname プリンタ名 [入力] W prid 印刷登録 ID [入力]
≧0 : 正常終了(印刷取り消し数) <0 : エラー(エラーコード)
prname
で指定したプリンタに対する印刷登録を取り消す。
取り消された印刷登録の印刷モードが
PR_DEL
の場合、登録されたファイルは削除される。
prid == 0
のとき :
全ての印刷登録を取り消し、
実際に取り消した登録数をリターン値として戻す。
何も登録されていないときは 0 が戻る。
prname == NULL
のときは、特別な動作として、
登録されている全てのプリンタの全ての印刷登録を取り消す。
prid != 0
のとき :
prid
で指定した印刷登録 ID
の登録を取り消し、1 をリターン値として戻す。
EX_ADR : アドレス(prname)が不正。 EX_NOEXS : 指定したプリンタは存在しない。 EX_PAR : 印刷登録 ID は存在しない。
|
WERR rget_ent(TC *prname, W prid, PR_STAT *stat, W cnt)
TC *prname プリンタ名 [入力] W prid 印刷登録 ID [入力] PR_STAT *stat 印刷登録状態の取り出し領域 [出力] W cnt 取り出し数 [入力]
≧0 : 正常終了(印刷登録数) <0 : エラー(エラーコード)
prname
で指定したプリンタに対する印刷登録状態を取り出す。
cnt
は stat
の領域の数を示し、
実際の登録数より少ない場合は、cnt
個のみ
stat
に取り出される。
cnt == 0
または stat == NULL
のときは、取り出さずに登録数のみを戻す。
prid == 0
のとき :
全ての登録状態を取り出し、
実際の登録数をリターン値として戻す。
何も登録されていないときは、0 が戻る。
prname == NULL, stat == NULL, cnt == 0
のときは、
特別な動作として、
登録されている全てのプリンタの印刷登録数の合計をリターン値として戻す。
prid != 0
のとき :
prid
で指定した印刷登録 ID の登録状態を取り出し、
1 をリターン値として戻す。
EX_ADR : アドレス(prname, stat)が不正。 EX_NOEXS : 指定したプリンタは存在しない。 EX_PAR : 印刷登録 ID は存在しない。
|
WERR rlst_prn(PR_INFO *info, W cnt)
PR_INFO *info プリンタ情報の取り出し領域 [出力] W cnt 取り出し数 [入力]
≧0 : 正常終了(登録済みのプリンタ数) <0 : エラー(エラーコード)
登録済みのプリンタ一覧を info
に取り出し、
登録済みのプリンタ数をリターン値として戻す。
cnt
は info
の領域の数を示し、
実際のプリンタ登録数より少ない場合は、
cnt
個のみ info
に取り出される。
cnt == 0
または、
info == NULL
の時は、
取り出さずに、登録済みのプリンタ数を戻す。
EX_ADR : アドレス(info)が不正。
|
WERR rget_cnf(TC *prname, PR_CONF *cnf)
TC *prname プリンタ名 [入力] PR_CONF *cnf プリンタ構成情報の取り出し領域 [出力]
≧0 : 正常終了(プリンタ最大登録数) <0 : エラー(エラーコード)
prname
で指定したプリンタの構成情報を
cnf
に取り出し、
プリンタの最大登録数をリターン値として戻す。
prname == NULL
の時は、
取り出さずに、プリンタの最大登録数を戻す。
EX_ADR : アドレス(prname, cnf)が不正。 EX_NOEXS : 指定したプリンタは存在しない。
|
ERR rset_cnf(TC *prname, PR_CONF *cnf)
TC *prname プリンタ名 [入力] PR_CONF *cnf プリンタ構成情報 [入力]
=0 : 正常終了 <0 : エラー(エラーコード)
prname
で指定したプリンタの構成情報を
cnf
で指定した内容に設定する。
prname != NULL
のとき :
cnf == NULL
のとき (プリンタの登録削除) :
prname
で指定したプリンタ構成情報を削除する。
praname
で指定したプリンタに対して、
印刷登録されているときはエラーとなる。
cnf == ((PR_CONF)*1)
のとき (プリンタの登録位置を先頭に移動) :
prname
で指定したプリンタ構成情報を先頭に移動する。
prname
で指定したプリンタ構成情報を
cnf
で指定した内容に変更する。
praname
で指定したプリンタに対して、
印刷登録されているときはエラーとなる。
prname == NULL
のとき (プリンタの登録) :
cnf
で指定したプリンタ構成情報を最後に追加する。
EX_ADR : アドレス(prname, cnf)が不正。 EX_LIMIT : プリンタ登録数が制限を超えた。 EX_EXS : 指定したプリンタに対して印刷登録されている。 EX_NOEXS : 指定したプリンタは存在しない。 EX_PAR : パラメータが不正。 その他 : ファイルアクセスエラー。