この章の目次にもどる
前頁:3.10 TCP/IPマネージャにもどる

3.11 印刷マネージャ

3.11.1 印刷マネージャの機能

印刷マネージャは印刷に関連する処理を統一的に扱うための外殻であり、 印刷に関するアプリケーションからのプログラミングインタフェース、 およびユーザインタフェースを統一することを目的としている。

印刷マネージャでは、TAD データを印刷用紙上にレイアウトして、 指定されたプリンタに印刷する機能を備えているため、 アプリケーションは、 印刷する TAD データを用意するだけで印刷機能を実現することができるため、 印刷に関する処理を大幅に軽減することができる。

印刷に関する全体の構成を示す。

印刷の全体構成
図 142 : 印刷の全体構成

印刷マネージャは、大きく以下の3つの機能を備えている。

印刷管理 :

印刷管理では、印刷に関連する各種のパラメータの表示設定処理、 TAD データをレイアウトして実際に印刷する処理、 レイアウト結果を画面に表示するプレビュー処理などの、 印刷に直接関連する各種の処理を行う。

スプール管理 :

一般に印刷には時間がかかるため、 印刷終了までアプリケーションを待たせることはできない。 そのため、 印刷要求をプリンタごとの待ち列に登録した時点で印刷処理を一旦終了させ、 バックグラウンド処理により待ち列に入っている印刷要求を順番に処理していくスプール方式をとる。

スプール管理では、印刷要求の登録、削除、実行、印刷終了の通知、 登録状態の取り出しなどのスプールに関する処理を行う。

プリンタ管理 :

印刷を行うプリンタはあらかじめシステムに登録しておく必要がある。

プリンタ管理では、プリンタの登録、削除、 各種の情報の設定や取り出しなどの処理を行う。

基本印刷レイアウタは、 印刷管理を処理を実際に行うためのシステムアプリケーションであり、 印刷マネージャから起動される。

プリンタイメージドライバは、 プリンタ機種に依存した各種の情報の提供や、 プリンタへ出力する印刷データの生成を行うシステムアプリケーションであり、 基本印刷レイアウタから起動される。

基本印刷レイアウタ、およびプリンタイメージドライバの処理、 構成やインタフェースの詳細に関してはインプリメントに依存する。

3.11.2 印刷管理

3.11.2.1 レイアウト用紙と印刷用紙

TAD データをレイアウトするために想定されている仮想的な用紙をレイアウト用紙と呼び、 TAD データ内の用紙指定付せんにより定義される。

印刷用紙とは、 実際に印刷を行うために印刷時に指定する用紙であり、 レイアウト用紙と一致することが普通であるが、 レイアウト用紙とは異なる印刷用紙に印刷することもできる。 このとき、拡大 / 縮小を行ったり、 印刷位置をずらしたりすることができる。

レイアウト用紙と印刷用紙
図 143 : レイアウト用紙と印刷用紙

3.11.2.2 印刷管理の機能

印刷管理として、以下の機能を持つ。

プリンタ選択 :

システムに登録されているプリンタの一覧をユーザに示し、 対象とするプリンタを選択させる機能。

印刷パラメータ設定 :

印刷するために必要となる印刷用紙などの各種のパラメータをユーザに示し、 設定させる機能。

印刷 :

選択したプリンタに対して、 設定した各種の印刷パラメータにしたがって実際にスプール方式によりプリンタに印刷する機能。

実際の印刷終了後に通知を行うかどうか、 および、対象のファイルを削除するかどうかの指定を行うことができる。

印刷するデータは、 TAD データが基本であるが、 印刷データも指定することができる。 ここで、印刷データとは、 プリンタにそのまま出力することにより印刷を行うことができるプリンタへのコマンド列データで、 その内容はプリンタの機種に依存する。

印刷データを実際のプリンタに出力せずに、 ファイルとして作成する機能も持つ。 この場合はスプール方式は使用されない。

画面表示 ( プレビュー ) :

実際の印刷は行わずに、画面上に印刷結果を表示を行なう機能。 おもに、印刷結果を事前に確認するために使用される。

これらの機能の詳細およびユーザインタフェースに関してはインプリメントに依存する。

3.11.2.3 印刷パラメータ

印刷パラメータは、 印刷するための必要となる共通的なパラメータであり、 以下にその内容の詳細を示す。

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 データ内の用紙指定付せんで定義されているオーバーレイマージンと同じ大きさの指定を行う。

3.11.3 スプール管理

3.11.3.1 スプール管理の機能

スプール管理では、 システムに登録されたプリンタごとにスプール処理のための待ち列を管理し、 以下の機能を行う。この待ち列のことをスプールキューと呼ぶ。

印刷登録 :

印刷の要求を選択したプリンタのスプールキューに登録する。
プリンタが印刷中でないときは、印刷処理を開始する。

印刷登録の削除 :

スプールキューに登録した印刷要求の登録を削除する。
印刷中のときは、印刷処理を中断する。

印刷登録の状態取りだし :

スプールキューに登録した印刷要求の現在の状態を取り出す。

印刷処理 :

スプールキューの先頭に登録されている、 印刷要求を実際に処理して印刷を行う。

印刷を終了した時点で、以下の処理を行う。

3.11.3.2 印刷登録状態

スプールキューから取り出せる印刷登録状態の詳細を以下に示す。

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 を使用して、印刷登録の状態を取り出したり、 登録を削除することができる。

登録プロセス ID :

印刷登録を行ったプロセスのプロセス ID を示す。

登録日時 :

印刷登録したシステム時間を示す。

登録ファイル :

印刷登録の対象のファイルを示す。

印刷モード :

登録時の印刷モードであり、 以下の通りである。

     削除モード :
          PR_NODEL    印刷終了後ファイルを削除しない。
          PR_DEL      印刷終了後ファイルを削除する。

     通知モード :
          PR_NOMSG    印刷終了は通知しない。
          PR_MSG      印刷終了をメッセージにより通知する。
     
出力状態 :

以下のいずれかの状態を示す。

        PR_WAIT     出力待ち
        PR_ACTIVE   出力中
        PR_DELETE   削除中
残りページ数 :

出力状態が出力中のとき、残りのページ数を示す。
出力中でないときは、意味を持たない。

残り部数 :

出力状態が出力中のとき、残りの部数を示す。
出力中でないときは、意味を持たない。

3.11.3.3 印刷終了メッセージ

登録された印刷モードで、 印刷終了の通知を指定されている場合、 実際の印刷が終了した時点で、 印刷登録を行ったアプリケーションプロセスに対して以下のメッセージが送信される。

#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 が設定される。

3.11.4 プリンタ管理

3.11.4.1 プリンタ管理の機能

システムには複数のプリンタを登録することができる。 プリンタ管理では、プリンタに関する以下の機能を持つ。

プリンタ一覧の取り出し :

システムに登録されているプリンタの一覧を取り出す。

プリンタの構成情報の取り出し :

プリンタに関連する構成情報を取り出す。

プリンタの構成情報の設定 ( 登録、削除 ) :

プリンタに関連する構成情報を設定(変更)、追加(登録)、削除する。

3.11.4.2 プリンタ構成情報

システムに登録されたプリンタは以下に示す内容のプリンタ構成情報を持つ。

#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    出力なし
ドライバファイル名 :

プリンタの機種に対応したプリンタイメージドライバのファイル名。
このドライバにより、プリンタの機種に対応した印刷データを作成する。

出力デバイスパラメータ :

出力デバイス名に関連するパラメータ。
出力デバイスの種別ごとに異なる構造となる。

プリンタ固有パラメータ :

プリンタに関連するパラメータ。
プリンタの機種、およびインプリメントに依存した構造となる。 プリンタイメージドライバにより操作される。

3.11.5 データ/定数の定義

□ 印刷パラメータ

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;

□ 仮身印刷/展開の有無(prnvobj)

#define PR_PRNVOBJ  0x01        /* 仮身印刷 */
#define PR_EXPVOBJ  0x02        /* 仮身展開 */

□ 印刷仕様(spec)

#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;

□ 出力状態(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;

3.11.6 印刷マネージャの関数

ここでは、印刷マネージャがサポートしている関数群について説明する。 これらの関数は、外殻として提供される。

各関数は ERR 型または WERR 型の関数値をとり、何らかのエラーがあった場合は 「負」のエラーコードが戻る。正常終了時には「0」または「正」の値が戻る。

各関数のエラーコードとしては、本章で示した以外にも、 核や外殻でエラーが検出された場合は、 そのエラーコードが直接戻る場合がある。

rset_par
 
印刷パラメータ設定

【形式】

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 つも存在しない。
rprn_fil
 
印刷の実行

【形式】

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    : 指定したプリンタは存在しない。
その他      : ファイルアクセスエラー。
rout_fil
 
ファイル出力の実行

【形式】

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    : 指定したプリンタは存在しない。
その他      : ファイルアクセスエラー。
rpvw_fil
 
印刷の画面表示(プレビュー)

【形式】

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    : 指定したプリンタは存在しない。
その他      : ファイルアクセスエラー。
rcan_ent
 
印刷登録の取り消し

【形式】

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 は存在しない。
rget_ent
 
印刷登録状態の取り出し

【形式】

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 で指定したプリンタに対する印刷登録状態を取り出す。

cntstat の領域の数を示し、 実際の登録数より少ない場合は、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 は存在しない。
rlst_prn
 
プリンタ一覧の取り出し

【形式】

WERR    rlst_prn(PR_INFO *info, W cnt)

【パラメータ】

PR_INFO *info   プリンタ情報の取り出し領域 [出力]
W       cnt     取り出し数 [入力]

【リターン値】

≧0    : 正常終了(登録済みのプリンタ数)
<0    : エラー(エラーコード)

【解説】

登録済みのプリンタ一覧を info に取り出し、 登録済みのプリンタ数をリターン値として戻す。

cntinfo の領域の数を示し、 実際のプリンタ登録数より少ない場合は、 cnt 個のみ info に取り出される。

cnt == 0 または、 info == NULL の時は、 取り出さずに、登録済みのプリンタ数を戻す。

【エラーコード】

EX_ADR      : アドレス(info)が不正。
rget_cnf
 
プリンタ構成情報の取り出し

【形式】

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    : 指定したプリンタは存在しない。
rset_cnf
 
プリンタ構成情報の設定/登録/削除

【形式】

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      : パラメータが不正。
その他      : ファイルアクセスエラー。

この章の目次にもどる
前頁:3.10 TCP/IPマネージャにもどる