JPH09292959A - プリンタ制御装置 - Google Patents

プリンタ制御装置

Info

Publication number
JPH09292959A
JPH09292959A JP8129175A JP12917596A JPH09292959A JP H09292959 A JPH09292959 A JP H09292959A JP 8129175 A JP8129175 A JP 8129175A JP 12917596 A JP12917596 A JP 12917596A JP H09292959 A JPH09292959 A JP H09292959A
Authority
JP
Japan
Prior art keywords
print
function
pcb
printer
printing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8129175A
Other languages
English (en)
Inventor
Hidejiro Maehara
秀次郎 前原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP8129175A priority Critical patent/JPH09292959A/ja
Publication of JPH09292959A publication Critical patent/JPH09292959A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 プリンタの排紙終了時点を、プリントサーバ
において把握し、クライアントに適切なタイミングで通
知する。 【解決手段】 ホストコンピュータと、プリンタエンジ
ン300を直接VIDEOI/F500等で接続し、イ
メージへの展開をホストコンピュータで行う。文章印刷
の終了通知をポートへの出力終了時点ではなく、実際の
排紙完了時点で文章印刷完了とし、プリントを要求した
クライアントに対して、印刷終了の通知タイミングを実
際のプリンタマシンの動作と合わせる。また、JAM等
のエラーが発生した場合、サーバ及び印刷を要求したク
ライアント200に状況を通知し、エラー状態から復帰
した場合に、自動的にエラー表示を消す場合と、確認の
ためのキーを押してから、表示を消して再印刷すること
を選択可能とした。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プリンタ制御装
置、より詳細には、プリントサーバを利用してプリンタ
にデータを送信し、印刷を行うプリンタサーバコントロ
ールシステムに関する。
【0002】
【従来の技術】本発明は、プリントサーバ機能を利用し
てプリンタにデータを送信し、該プリンタにて印刷を行
う技術に関するものであるが、従来、プリンタコントロ
ーラとプリンタサーバを組み合せた技術は見当らない。
【0003】
【発明が解決しようとする課題】通常ホストにおける通
常プリントサーバ機能を利用し、プリンタにデータを送
信し、印刷を行う場合、出力ポートに文章のデータを送
信終了した時点で文章の印刷終了としているため、この
時点で印刷を要求したクライアントに印刷終了通知が送
られるため、実際にプリンタがイメージに展開し、印刷
された紙の排紙終了のタイミングと異なってしまうた
め、ユーザが印刷物を取りに行っても実際にはまだ処理
途中であり、待たされてしまうという欠点があった。
【0004】また通常プリンタにおいては、JAM等が
発生し、そのエラーを解除した時点で、プリンタが自動
的にバックアップされたデータを再度印刷を行う構成と
なっている。また、JAM等が発生し、プリントサーバ
では、まだ、次ページのデータを送信している場合、転
送動作が中断されそのエラー状態から復帰する場合に、
再実行のキー操作が必要となる場合が多い。
【0005】また、通常プリントサーバに接続されたプ
リンタにおいて、印刷結果が悪くユーザが強制的に印刷
中にもかかわらず電源をOFFされ、その後、再度電源
を投入されるような場合、電源をOFFされた次のデー
タから転送されるため、プリンタがエミュレーションコ
ードとして判別不可能なデータが送られ、再度エラーと
なる場合がある。
【0006】更に、通常、実際の給紙している紙サイズ
とトレーの情報が異なる場合は、プリンタに送られたデ
ータは印刷されたものとして処理されるため、プリンタ
のリセット、ホストに残されているデータの削除を行
い、再印刷するしか方法がない。
【0007】本発明は、上述のごとき実情に鑑みてなさ
れたもので、(1)プリンタの排紙終了時点を、プリン
トサーバにおいて把握し、クライアントに適切なタイミ
ングで通知すること、(2)プリントサーバでの復帰動
作と、プリンタとしての復帰動作を、サーバ管理者が選
択可能とすることにより、ユーザの要求による復帰動作
を選択可能とすること、(3)プリンタのエミュレーシ
ョン機能と、プリントサーバ機能を同一ホストにて行
い、プリントエンジンの電源が切断され、再度投入され
た場合からの復帰方法を選択可能とし、正常な動作をさ
せること、(4)プリンタのリセット、ホストに残され
ているデータの削除を行わなくても、再印刷が可能とな
ること、等を目的としてなされたものである。
【0008】
【課題を解決するための手段】請求項1の発明は、ホス
トコンピュータと、プリンタエンジンを直接VIDEO
I/F等で接続し、従来プリンタコントローラと言われ
たイメージへの展開機能をホストコンピュータで行い、
プリントサーバ機能を有するプリンタソフトにおいて、
文章印刷の終了通知をポートへの出力終了時点ではな
く、実際の排紙完了時点で文章印刷完了とし、プリント
を要求したクライアントに対して、印刷終了の通知タイ
ミングを実際のプリンタマシンの動作と合わせることを
特徴としたものである。
【0009】請求項2の発明は、上記プリンタシステム
において、たとえば、JAM等のエラーが発生した場
合、サーバ及び印刷を要求したクライアントに状況を通
知し、表示する機能において、エラー状態から復帰した
場合に、自動的にエラー表示を消す場合と、確認のため
のキーを押してから、表示を消しジャムバックアップさ
れたデータを再印刷することを選択可能としたことを特
徴としたものである。
【0010】請求項3の発明は、上記構成のプリンタシ
ステムにおいて、プリンタエンジンへ印刷中にプリンタ
エンジンの電源をOFFされた場合、印刷中(排紙中)
の紙の文章をバックアップする機能、スプールした文章
データすべてを削除する機能、スプールされている文章
の先頭から再度印刷実行させる機能を有し、プリンタエ
ンジンが再度電源投入された場合、上記のどの状態から
再スタートするかを選択可能としたことを特徴としたも
のである。
【0011】請求項4の発明は、請求項3において、プ
リンタエンジンに実際に印刷としている紙サイズを検出
する処断を設け、たとえばA3サイズのトレー情報によ
り印刷開始されたが、実際にはA4サイズの紙が入って
いたような場合、印刷を中断し、A3サイズの紙をトレ
ーにいれるような要求メッセージ表示し、文章の先頭か
ら再度印刷可能としたことを特徴としたものである。
【0012】
【発明の実施の形態】図1は、本発明によるコントロー
ラシステムを利用した全体構成図で、図中、100は本
発明によるコントローラシステム、200はクライアン
ト、300はプリンタエンジン、400はネットワー
ク、500はVIDEO I/Fで、本システムはホス
トコンピュータと、プリンタエンジン300を直接VI
DEOI/F500等で接続し、イメージへの展開機能
をホストコンピュータで行い、プリントサーバ機能を有
するプリンタソフトにおいて、Windows−NTのプリン
タサーバ機能を利用し、モニタといわれる外部へのポー
トアクセス用のモニタ部分を改良し、プリンタデータを
エミュレートするモジュールにデータを渡し、フレーム
メモリにイメージ展開をさせたのち、プリンタ固有のV
IDEO I/F500にイメージデータを流し、プリ
ンタエンジン300に印刷をさせるものである。また、
本システムコントローラの名称を以下、I−Copierコ
ントローラとして記述する。
【0013】請求項1の発明:本システムでは、プリン
トモニタ部10がデータをプリントサービスコントロー
ル20に送り、通常の場合、ここで、印刷完了として、
プリントプロバイダ11に完了を通知するため、クライ
アント200にネットワーク400を経由して印刷完了
通知が表示される。本システムでは、プリントモニタか
ら文章の最終データを渡したところでパイプがクローズ
される。プリントシステムコントロール20、描画タス
ク30は、文章の最終ページの排紙完了通知をプリント
エンジン300からVIDEO I/F500を通して
通知されたところで、プリントモニタ10に対し終了コ
ードを送り、モニタ10ではこのコードで文書印刷完了
としてプリントプロバイダ11に完了通知が渡される。
【0014】請求項2の発明:JAM等でのデータのバ
ックアップを行っているのはプリントサービスコントロ
ール部分20である。ユーザへの状態表示アプリケーシ
ョン40は、このコントロール部分20から表示データ
を取得し、表示されるJAM等からの復帰動作は、基本
メニュー、復帰動作にて自動復帰から手動復帰が選択さ
れる。自動復帰の場合は、プリントサービスコントロー
ル部分20にてJAM等が解除されたのが判断される
と、表示データを削除し、バックアップされたデータの
再印刷が行われる。手動復帰の場合は、解除時に、再実
行のメニューを表示し、ユーザがクリックしたことを表
示アプリ部から受け取ると、表示データを削除し、再印
刷の動作が行われる。
【0015】請求項3,4の発明:表示アプリの基本メ
ニュー 異状時設定により文章先頭、バックアップされ
ている文章、文章破棄が設定される。本システムはプリ
ントエンジンとのI/Fにおいてエンジンの応答がない
ことで電源OFFを検知する。また、本エンジンの場
合、カセットのコードと、実際に印刷される紙のサイズ
をチェックし、異なる場合紙サイズエラーコードを出力
し、給紙中の紙を廃止後、停止する。本システムはこの
2点のエラーを検出したのち、エラー状態を表示し、再
実行のためのユーザからの指示(再実行をクリック)に
より、上記設定に従い以降の動作を行う。文書先頭より
印刷の場合、まず、プリントシステム全体のリセットを
行い、プリントモニタに先頭文書からの再印刷を依頼
し、モニタ部がプリントプロバイダに要求することによ
り、先頭文書から再度データが送られてくる。バックア
ップされている文章からの場合は、JAMリカバリー動
作と同じく、印刷中の紙だけでなく、排紙中であった紙
も含めて、印刷の再実行が行われる。文章破棄の場合
は、システムコントロール部にあるバックアップ文章を
破棄し、描画タスク部分に以降のデータの空読みを依頼
する。モニタ部分は文章データの最後までを送るが、描
画タスク部分で空読みされ、文章終了まで行われる。以
下、本発明の各主要構成について、機能の概要、及び、
機能説明を行う。
【0016】プリントモニタの概要: 1.機能概要: 1.Windows NTプリントモニタ:プリントモニタ
は、図2に示すように、Windows NTプリントモデル
の中で、プリントプロバイダとプリントデバイスの間に
位置し、各ポートに接続されているプリントデバイスに
プリントデータを転送するために使用されるコンポーネ
ントである。プリントデータの転送は、文書単位で管理
されており、ポートのアクセスは、以下のようになる。 1)文書のプリント開始(ポートオープン) 2)プリントデータ転送(ポートライト) 3)文書のプリント終了(ポートクローズ) プリントモニタは、ポートの種類及び、機能に応じて更
にコンポーネントが分かれており、プリントプロバイダ
が出力先に応じて該当するプリントモニタを使用してい
る。I−Copierシステムコントローラでは、プリンタ
エミュレーションのひとつであるRicohScriptプリン
ト制御システム60にプリントデータを転送する専用の
プリントモニタを使用する。
【0017】2.I−Copierシステムコントローラプ
リントモニタ:I−Copierシステムコントローラは、
図1に示したように、Windows NTServerのローカル
ポートに接続された、RicohScriptプリンタとして動
作するシステムである。I−Copierプリントサーバシ
ステムでは、Windows NTプリントモデルをそのまま
使用し、プリントデバイス部にRicohScriptプリント
制御システムを用いた構成となっている。ここで説明す
るプリントモニタは、上記プリントサーバシステムを実
現するため、RicohScriptプリント制御システムにプ
リントデータを転送する機能を有するプリントモニタで
ある。
【0018】本プリントモニタは、RicohScriptデー
タのプリントを行なう専用のポート(図2のCIVIC
MON.DLL)を提供し、そのポートに対するプリン
ト要求を受付け、RicohScriptプリント制御システム
にプリントデータを転送する。RicohScriptプリント
制御システムへのプリントデータの転送は、名前付きパ
イプを介して行ない、プリントモニタは、名前付きパイ
プのクライアントとして動作する。また、プリントモニ
タでは、名前付きパイプをMS−DOSデバイスとして
定義し、デバイスという認識でそのパイプにアクセスす
る。
【0019】本プリントモニタは、(図3のプリントモ
ニタ内部構成図参照)Windows NTのローカルプリン
トモニタのローカルポートに対する処理と同様に、ここ
で定義しているデバイス(¥¥.¥CIVIC)に直接
出力されたプリントデータをプリントプロバイダが管理
するデフォルトのプリント文書として登録する機能も有
する。
【0020】名前付きパイプのデバイス定義の手順及
び、デバイスリンク先は、以下のようになる。 1)ポートオープン時 ¥¥.¥CIVIC → ¥¥.¥Pipe¥CIVIC 2)スレッド起動時 ¥¥.¥CIVIC → ¥¥.¥Pipe¥Spooler¥CIVIC (プリントモニタがこのデバイスにライトされたデータ
を受け取る) 3)プリンタ処理時 ¥¥.¥CIVIC → ¥¥.¥Pipe¥Spooler¥CIVIC (アプリが直接アクセスする場合のデバイス) ¥¥.¥NONSPOOLED_CIVIC → ¥¥.¥Pipe¥CIVIC (プリントモニタがプリント処理時で使用するデバイ
ス)
【0021】名前付きパイプのサーバとして動作するR
icohScriptプリント制御システムのパイプに対するア
クセス手順は、以下のようになる。 1)システム起動時に名前付きパイプをクリエイト後、
コネクトを行なう。プリントモニタがプリント処理を開
始するまでは、コネクト待ち状態となる。 2)コネクトが完了(プリントモニタがパイプをオープ
ン)したらプリントデータのリード処理を開始する。プ
リントモニタはプリントデータのライトを行なう。 3)リード時にERROR_BROKEN_PIPEエラーが発生した
ら、ディスコネクトを行なう。プリントモニタはプリン
トデータのライトが終了したらパイプをクローズする。
この状態で、サーバ側が全データをリードした時、上記
エラーが発生する。
【0022】4)サーバ側は、文書のプリントアウトが
完了した時点でコネクトを行なう。プリントモニタはパ
イプクローズ後、文書のプリント終了ぐ認識するため、
定期的にパイプの再オープンを試みる。 5)コネクトが完了(プリントモニタがパイプのオープ
ンに成功)したらプリント終了コマンドをライト後、デ
ィスコネクトする。プリントモニタは、プリント終了コ
マンドリード後、クローズする。 6)次のプリント処理を受け付けるため、コネクトを行
なう。プリントモニタが次文書のプリント処理を開始す
るまでは、コネクト待ち状態となる。 7)以下、2)から繰り返し。
【0023】2.機能説明 1)I/F機能一覧:表1にI/Fの機能一覧を示し、
次のI/F使用手順において各モジュールについて説明
する。
【0024】
【表1】
【0025】2)I/F使用手順: 1)Initialize Monitor プリントモニタ初期化I/Fであり、ロード後、他の機
能を使用する前に呼び出す必要がある。 2)EnumPorts,ConfigurePort,AddPort,Dele
tePort ポート制御関連のI/Fで、それぞれ独立して使用でき
る。本プリントモニタは、ポートの操作を可能としてい
ないため、EnumPorts以外のI/Fの呼び出しは、無
効である。 3)OpenPort,ClosePort 指定したポートの使用開始、終了を指示するI/Fであ
り、4)のI/Fを使用する場合は、その前にOpenPo
rtを呼び出してポートハンドルを取得しておく必要があ
る。 4)StartDocPort EndDocPort WritePort Rea
dPort 指定したポートに対して文書単位のプリントデータを出
力するI/Fであり、図4に示す手順で使用する(End
DocPortは、プリントアウトが完了してからリターン
する)。
【0026】以下、表1に示した各機能概要について説
明する。 プリントモニタの初期化: 機能概要 :プリントモニタの初期化 形式 :BOOL InitializeMonitor(pRegistryRoot) パラメータ:LPWSTR pRegistryRoot…Iレジストリルー
トディレクトリのポイント 戻り値 :TRUE:成功のみ 機能説明 :“CIVIC”をプリントモニタがサポー
トするポート名として内部データに設定する。Initial
izeMonitorは、プリントモニタロード後、最初にコー
ルするファンションである。
【0027】 機能概要 :サポートしているポート名の取得 形式 :BOOL EnumPorts(lpszName,dwLevel,lpbPorts,cbBuf,lpdwNeeded,lp dwRwturned) パラメータ:LPWSTR lpszName …I本プリントモニタが有るサーバ名 NULLの場合は、ローカル呼び出しを示す DWORD dwLevel …Iポート名データの構成レベル(1固定) LPBYTE lpbPorts …0ポート名をセットするバッファアドレス DWORD cbBuf …IlpbPortsにバッファサイズ(単位:Byte) LPDWORD lpdwNeeded …0lpbPortsに必要なバッファサイズ LPDWORD lpdwReturned…0サポートしているポートの数 戻り値 :TRUE…成功,FALSE…失敗
【0028】機能説明 :プリントモニタがサポートし
ている全てのポート名及び、ポート数を返す。ポート名
は、unicodeで設定される。1pdwNeededには、全ての
ポート名をセットするために必要な1pbPortsのバッフ
ァサイズが設定される。lpbPortsの構成を図5に示す。
dwLevel1が1でない場合、1pbPortsには何も設定せ
ず、1pdwNeededに0を設定してTRUEを返す。cbBufが
必要なバッファサイズより小さい場合、1pdwNeededに
必要なバッファサイズを設定してFALSEを返す。この場
合、エラー情報には、ERROR_INSUFFICIENT_BUFFER(122
L)が設定される。
【0029】 機能概要 :ポートの追加 形式 :BOOL AddPort(lpszName,hwnd,lpszMonitorName) パラメータ:LPWSTR lpszName …I本プリントモニタが有るサーバ名 NULLの場合は、ローカル呼び出しを示す HWND hwnd …Iウインドウハンドル LPWSTR lpszMonitorName…Iプリントモニタ名 戻り値 :TRUE…成功,FALSE…失敗 機能説明 :本プリントモニタは、ポートの追加を可能
としていないため、“このポートは操作できません。”
というメッセージを表示してTRUEを返す。プリントモニ
タ名がunicodeの“CIVICポート”でない場合、エラー情
報にERROR_INVALID_PARAMETER(87L)を設定してFALSEを
返す。
【0030】 機能概要 :ポートの削除 形式 :BOOL DeletePort(lpszName,hwnd,lpszPortName) パラメータ:LPWSTR lpszName …I本プリントモニタが有るサーバ名 NULLの場合は、ローカル呼び出しを示す HWND hwnd …Iウインドウハンドル LPWSTR lpszPortName …Iポート名 戻り値 :FALSE…失敗のみ 機能説明 :本プリントモニタは、ポートの削除を可能
にしていないため、“このポートは操作できません。”
というメッセージを表示してFALSEを返す。
【0031】 機能概要 :ポートの条件設定 形式 :BOOL ConfigurePort(lpszName,hwnd,lpszPortName) パラメータ:LPWSTR lpszName …I本プリントモニタが有るサーバ名 NULLの場合は、ローカル呼び出しを示す HWND hwnd …Iウインドウハンドル LPWSTR lpszPortName …Iポート名 戻り値 :TRUE…成功のみ 機能説明 :本プリントモニタは、ポートの条件設定を
可能にしていないため、“このポートは操作できませ
ん。”というメッセージを表示してTRUEを返す。
【0032】 機能概要 :ポートハンドルのオープン 形式 :BOOL OpenPort(pName,pHandle) パラメータ:LPWSTR pName …Iポート名 PHANDLE pHandle …0ポートに対応したハンドルをセットす るアドレス 戻り値 :TRUE…成功,FALSE…失敗 機能説明 :指定されたポート名に対応するポートのハ
ンドルをpHandleに設定する。指定されたポート名が“C
IVIC:”以外の場合は、FALSEを返す。
【0033】次に、指定されたポート名をMS-DOSデバイ
スとして定義して、プリントデータの転送を行なう名前
付きパイプとリングした後、スレッドを起動して、その
デバイスに直接出力されたプリントデータを受け取るた
め、今度は、上記デバイスをプリントモニタが管理する
スプール用の名前付きのパイプとリンクする(ポート名
の“:”は削除)。起動されたスレッドがプリントデー
タを受け取ると、プリントプロバイダを通してデフォル
トで定義されているプリンタにプリントデータを出力
し、プリントジョブを登録する。このため、デフォルト
のプリンタの出力するポートがプリント時に指定された
デバイスと異なっている場合、指定したデバイスと異な
るポートにプリントデータが出力されることになる。
【0034】 機能概要 :ポートハンドルのクローズ 形式 :BOOL ClosePort(hPort) パラメータ:HANDLE hPort …Iポートハンドル 戻り値 :TRUE…成功 機能説明 :ポートハンドルをクリアして、対応するス
レッドを終了させる。OpenPortで行なわれたデバイス
定義の解除も行なう。
【0035】 機能概要 :指定ポートに対するプリント開始通知 形式 :BOOL StartDocPort(hPort,pPrinterName,JobId,Level,pDocInfo) パラメータ:HANDLE hPort …Iポートハンドル LPWSTR pPrinterName …Iプリンタ名 DWORD JobId …IジョブID DWORD Level …Iジョブレベル LPBYTE pDocInfo …Iドキュメント情報のアドレス 戻り値 :TRUE…成功,FALSE…失敗
【0036】機能説明 :まず、指定されたプリンタを
オープンしてプリントハンドル及び、ジョブIDをセー
ブする。これは、プリント処理終了時に呼出されるEnd
DocPortモジュールで使用するためである。プリンタ
名が設定されていない場合又は、オープンに失敗した場
合は、TRUEを返す。次に、指定されたポートに対応する
デバイスをオープンしてプリント処理を準備を行なう。
【0037】オープンするデバイスは以下のように扱わ
れる(OpenPort参照)。 1)[ポート名]デバイスはプリントモニタでフックさ
れているため、新たにNONSPOOLED_[ポート名]デバイ
スを定義して、スレッド起動前に[ポート名]デバイス
で定義されていた名前付きパイプとリングする。(ポー
ト名の“:”は削除)。 2)¥¥.¥NONSPOOLED_[ポート名]デバイスをオープ
ン。デバイス(パイプ)のオープンに失敗した場合は、
FALSEを返す。
【0038】 機能概要 :指定ポートのプリント終了通知 形式 :BOOL EndDocPort(hPort) パラメータ:HANDLE hPort …Iポートハンドル 戻り値 :TRUE…成功のみ
【0039】機能説明 :デバイス(パイプ)クローズ
後、再度デバイスのオープンを行い、デバイスから通知
される。プリントアウトの完了を待ってから、デバイス
をクローズする(文章の最後のページの排紙完了にてプ
リントアウトの通知が来る)。次に、StartDocPort
モジュールでセーブしたプリンタ情報を使用して対応す
るプリントジョブの削除要求をプリントプロバイダに発
行する(Windows NT APIのSetJobを使用)。S
tartDocPortで行なわれたデバイス定義(NONSPOOLED_
[ポート名])の解除も行なう。
【0040】 機能概要 :指定ポートへのデータライト 形式 :BOOL WritePort(hPort,pBuffer,cbBuf,pcbWritten) パラメータ:HANDLE hPort …Iポートハンドル LPBYTE pBuffer …Iライトバッファアドレス DWORD cbBuf …Iライトサイズ LPDWORD pcbWritten …0実際にライトしたサイズをセットするア ドレス 戻り値 :TRUE…成功,FALSE…失敗 機能説明 :StartDocPortモジュールによってオー
プンされたデバイス(パイプ)にデータをライトする。
ライト(Windows NT APIのWriteFileを使用)
エラーが発生した場合、エラー情報をチェックする。エ
ラー情報がERROR_PIPE_NOT_CONNECTED (233L)の場合
は、プリント処理のキャンセルと見なして対応するプリ
ントジョブの削除要求をプリントプロバイダに発行し
て、TRUEを返す。その他の場合は、エラー情報をそのま
ま返す。pcbWrittenには実際にライトしたサイズが設
定される。
【0041】 機能概要 :指定ポートからのデータリード 形式 :BOOL ReadPort(hPort,pBuffer,cbBuf,pcbWritten) パラメータ:HANDLE hPort …Iポートハンドル LPBYTE pBuffer …Iリードバッファアドレス DWORD cbBuf …Iリードサイズ LPDWORD pcbRead …0実際にリードしたサイズをセットするア ドレス 戻り値 :FALSE…失敗のみ 機能説明 :本プリントモニタは、双方向のアクセスに
対応していないため、pcReadに0を設定して、FALSEを
返す。
【0042】プリントサービスコントロール概要:プリ
ントサービスコントロール20は、I−Copierシステ
ムコントローラにおいて、プリントモニタ10、描画タ
スク30、エンジン制御タスク60、状態表示アプリ4
0に対し、タスク間のデータ通信の仲介、エンジン状態
の管理、印刷条件の設定・管理、エンジンに依存しない
印刷制御等のサービスを提供するタスクおよびDLLで
ある。
【0043】プリントサービスコントロール内部構成:
図6に示すように、ページ管理、システム情報管理から
プリントサービスコントロールタスクへの要素はパイプ
を使用して行う。プリントサービスコントロールではパ
イプの監視用スレッドを起動し、スレッドはパイプにデ
ータが書き込まれると、プリントサービスコントロール
本体に通知する。
【0044】1.機能: 1)コマンド入出力:描画タスクへ他のタスクとの入出
力機能を提供する。具体的にはプリントモニタから描画
タスクへのPSコマンドの受け渡しと、描画タスクが出
力する表示文字列を他のアプリケーションへ渡す機能で
ある。プリントモニタからのPSコマンドの入力ではI
/Fとしてパイプを用意し、このパイプを通してモニタ
とPSコマンドの受け渡しを行う。モニタからは文書単
位でデータが渡され、印刷が終了すれば、モニタへ文書
印刷終了の通知を行う。描画タスクはプリントサービス
コントロールDLLの提供するI/Fを利用して、この
パイプを意識することなくPSコマンドを取得すること
ができる。PSコマンドの流れを図7に示す。
【0045】2)システム状態管理 I−Copierの他のモジュールに、エンジンステータ
ス、印刷情報、フレームメモリ使用状況、エラーステー
タス等のプリントサービスコントロールが共有メモリ上
に管理している情報の取得機能を提供する。
【0046】3)ページ管理 他のモジュールにエンジンへの文書開始・終了通知、ペ
ージコントロールブロック(PCB)の割り当て・印刷
諸条件の設定、フレームバッファの割り当て・アドレス
通知、PCBで指定したページの印刷要求等の機能を提
供する。描画タスクは共有メモリ上のPCBに直接アク
セスすることはできず、PCBへの設定は全てページ管
理DLLの関数を通して行う。PCBのデフォルト値、
又はカレントPCBの設定値を参照するために、図8の
ようにページ管理DLLをコールしてPCB情報のコピ
ーを取偉することは可能である。
【0047】また、ページ管理では共有メモリ中のPC
Bの状態管理をプリントサービスコントロールタスクと
分担して行う。プリントサービスコントロールではPC
Bを図9のようなイメージで管理する。デフォルトPC
Bには、プリントサービスコントロールのデフォルトの
印刷条件を保持する。未使用のPCBはnullPCBとし
て管理する。プリントサービスコントロールより割り当
てられ、印刷条件の設定やフレームバッファへの描画を
行っているPCBをカレントPCBと呼ぶ。フレームバ
ッファのイメージクリア禁止モードの場合、次のページ
のフレームバッファが割り当てられるまでの間、前ペー
ジのPCBのイメージを保持しておく必要がある。これ
を前ページPCBと呼ぶ。印刷要求の発行されたPCB
は排紙待ちPCBとして管理される。排紙待ちPCBの
内、フレームバッファのイメージをエンジンへ出力して
いないPCBは印刷待ちPCBとして管理される。
【0048】4)プリントサービスコントロールタスク エンジン制御タスクとの情報の入出力を本タスクで行
う。図6に示したように、各タスクとのI/Fには名前
付きパイプを用いる。エンジン制御タスクへの要求の送
信、要求のリターン情報受信用として、 ENGINE_COMMAND エンジン制御タスクからのイベント受信用として、 ENGINE_EVENT の2つの名前付きパイプを用いる。ENGINE_COMMAND以外
のパイプからの要求、イベントは非同期に発生するた
め、スレッドを作成し、常に監視出来るようにしてお
く。主な機能として、以下のものがある。 ・エンジン制御タスクへの印刷や情報取得の要求、要求
のリターン情報の取得 ・エンジン制御タスクからのイベントによる共有メモリ
の更新 ・エンジン制御タスクからのイベントによる印刷制御
【0049】印刷制御として以下のことを行う。 ・エラー表示(エラーの解除によってクリア) ・エラーリカバリ ・タイムアウトの監視 ・PCBの状態管理
【0050】2 機能説明: 1)表2に、プリントサービスコントロールライブラリ
初期化のモジュール名及び機能概要を示し、以降、その
機能について説明する。
【0051】
【表2】
【0052】 機能概要 :プリントサービスコントロールライブラリ
の初期化 形式 :int PSCInitLib(void) パラメータ:無し 戻り値 :0=成功,負=失敗 呼び出し元:プリントサービスコントロールライブラリ
を利用する総てのタスク 機能説明 :呼び出したタスクにリンクされるプリント
サービスコントロールライブラリの内部変数の初期化、
フレームメモリのアドレスの取得、共有メモリの同期オ
ブジェクトの初期化、他のタスクとのプロセス間通信
(IPC)の準備等を行う。プリントサービスコントロ
ールライブラリをリンクするタスクは必ず本関数を最初
に呼び出さなければならない。
【0053】 機能概要 :プリントサービスコントロールライブラリ
の終了 形式 :int PSCTermLib(void) パラメータ:無し 戻り値 :0=成功,負=失敗 呼び出し元:プリントサービスコントロールライブラリ
を利用する総てのタスク 機能説明 :呼び出したタスクにリンクされるプリント
サービスコントロールライブラリが獲得したリソースの
解放等を行う。プリントサービスコントロールライブラ
リをリンクするタスクは、タスク終了前に必ず本関数を
呼び出さなければならない。
【0054】2)コマンド入出力サービス: プリントモニタI/F プリントモニタから、描画タスクへのプリントデータ
(PSコマンド)の受け渡しは、プリントサービスコン
トロールDLLの提出する名前付きパイプを使用して行
う。このパイプ名を CIVICとし、プリントサービ
スコントロールDLLがサーバとなり、プリントモニタ
がクライアントとなる。パイプからのプリントデータ
(PSコマンド)の読み込みの手順を以下の図10に示
す。なお、図10に示す手順はプリントサービスコント
ロール起動後の最初の文書のものであり、次文書以降
は、の名前付きパイプの作成は必要ない。
【0055】表3に、描画タスクI/Fのモジュール名
及び機能概要を示し、以降、各機能について説明する。
【0056】
【表3】
【0057】 機能概要 :文書開始通知待ち 形式 :int PSCDocWait(void) パラメータ:無し 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク 機能説明 :プリントモニタからの文書開始の通知を待
つ。文書開始が通知されると、エンジン制御タスクへエ
ンジン制御権獲得要求を発行し、リターンする。
【0058】 機能概要 :文書終了通知 形式 :int PSCDocEnd(void) パラメータ:無し 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク 機能説明 :呼び出し元へは直ちにリターンする。本関
数を呼び出す前に割り当て済みのPCBがあれば解放し
ておかなければならない。プリントサービスコントロー
ルでは印刷中のページがあれば、排紙の完了を待ち、総
ての印刷処理が終了した後、エンジン制御タスクへエン
ジン制御権解放要求を発行し、プリントモニタへの文書
終了の通知を行う。
【0059】 機能概要 :プリントデータの取得 形式 :int PSCGetPrintData(int sz, uns8 *Buf) パラメータ:int sz …iバッファサイズ(>0) uns8*buf …0バッファ 戻り値 :正=実際に取得したサイズ,0=文書終了,負=失敗 呼び出し元:描画タスク 機能説明 :プリントデータ(PCコマンドデータ)を
取得する。プリントデータが存在する場合、すなわち、
プリントサービスコントロールが用意する名前付きパイ
プ(CIVIC)に、プリントモニタから書き込まれた
PSコマンドデータがある場合、この名前付パイプから
プリントデータを読み出し、呼び出し側の指定したバッ
ファへコピーを行う。名前付きパイプへプリントデータ
がセットされていなければ、プリントモニタにより書き
込まれるまで待つ。読み出したサイズは戻り値で示され
る。読み出したサイズが指定されたバッファサイズより
小さくても、文書終了と判断してはならない。名前付き
パイプのプリントデータがすべて読み出され、文書が終
了した場合には、プリントデータの取得要求に対し、0
を返す。
【0060】 機能概要 :読み込み可能なプリントデータのバイト数
の取得 形式 :int PSCAvailData(void) パラメータ:無し 戻り値 :0以上=最低限読み込み可能なプリントデ
ータのバイト数,負=失敗 呼び出し元:描画タスク 機能説明 :PSCGetPrintData(プリントデータ
の取得)で取得できるプリントデータ(PSコマンドデ
ータ)のサイズを取得する。本関数で正の値が返った場
合、次回のPSCGetPrintData(プリントデータの
取得)呼び出しでは、プリントモニタによるプリントデ
ータの書き込みを待つこははなく、且つ、この値以上の
サイズのプリントデータが読み出されることを保証す
る。本関数で0が返った場合、プリントモニタによるプ
リントデータの書き込みが行われていないか、あるい
は、既に文書が終了していることを示す。何れであるか
は、実際にPSCGetPrintData(プリントデータの
取得)を呼び出さなければ判断できない。
【0061】 機能概要 :表示文字列の書き込み 形式 :int PSCPutPSOutString(const uns8 *outs
tr) パラメータ:const uns8 *outstr … 0出力文字列 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク 機能説明 :描画タスクの処理において、リコースクリ
プトが文字列を出力する場合には、本関数に出力文字列
を渡し、コールする。アプリケーションがPSCGetP
SOutString(表示文字列の取得)をコールし、出力
文字列の取得が指定されていた場合、本関数に渡された
文字列を指定パイプへ書き込みを行う。指定されたパイ
プが一杯の場合にはアプリケーションが読み出すまで書
き込み待ちが発生する。アプリケーションによる取得が
指定されていない場合には、本関数内で出力文字列の読
み捨てを行う。
【0062】機能概要 :表示文字列の取得 形式 :int PSCGetPSOutString(LPCTSTR pipe_nam
e) パラメータ:LPCTSTR pipe_name … iパイプ名文字
列 戻り値 :0=成功,負=失敗 呼び出し元:未定 機能説明 :リコースクリプトが出力する文字列を取得
したい場合には、パイプ名にNULL以外のパイプ名文
字列を指定しコールする。出力文字列の取得を中止した
い場合には、パイプ名文字列にNULLを指定し本関数
をコールする。もし、パイプ名に文字列が指定されてい
れば、プリントサービスコントロールDLLが、指定さ
れた名前のパイプを作成し、リコースクリプトが出力す
る文字列をパイプに書き込む。パイプ名にNULLが指
定されればパイプを削除しリコースクリプトが出力する
文字列は無視する。
【0063】次に、システム状態管理関連サービスにつ
いて説明する。表4は、システム状態管理関連サービス
I/Fを示し、システム状態通知関連のサービスは、P
CBの取得状態に関係なく呼び出すことができる。
【0064】
【表4】
【0065】以下、順次、各機能概要及びその機能説明
をする。 機能概要 :現在のエンジンステータスの取得 形式 :int PSCGetEngInf(ESTS *enginf) パラメータ:ESTS *enginf … 0エンジン情報構造体 戻り値 :0=成功,負=失敗 呼び出し元:状態表示アプリケーション/描画タスク 機能説明 :現在のエンジン状態を取得する。本関数
は、常に最新のエンジン状態の情報を保持している共有
メモリの内容を、渡された構造体へコピーする。
【0066】 機能概要 :セレクト状態の取得 形式 :int PSCGetSelect(void) パラメータ:無し 戻り値 :0=offline,1=online 呼び出し元:状態表示アプリケーション 機能説明 :online/offline状態を取得する。プリン
トサービスコントロールモジュールの初期化後のデフォ
ルトの状態は、onlineである。但し、初期化時にエンジ
ンの電源が遮断されていた場合、電源が投入されるまで
offline状態が続く。
【0067】 機能概要 :セレクト状態の変更 形式 :int PSCSetSelect(int req) パラメータ:int req … 0=offline,1=online 戻り値 :0=成功,負=失敗 呼び出し元:未定 機能説明 :online/offline状態を取得する。online
状態では、プリントサービスコントロールモジュールが
通常の印刷動作を行う。offline状態では、印刷動作を
一時停止するため、次の機能を呼ぶとonline状態になる
まで待たされる。 (1)プリントモニタからのプリントデータ(PSコマ
ンド)の取得。 (2)印刷要求の発行。
【0068】 機能概要 :印刷制御 形式 :int PSCPrintCtl(int subfunc) パラメータ:int subfunc …i印刷制御モード 0=印刷中のPCB及び印刷待ちのPCBを総て解放する。 1=印刷を一時停止し、エンジン制御タスクへの新たな印刷要求を 行わない。 2=印刷処理を再開する。 3=現在の印刷制御モードを得る。 戻り値 :負…失敗 0以上=対象となったPCBの数(subfunc=0〜2) 現在の印刷制御モード(subfunc=3) 1=印刷一時停止中。 2=印刷処理中。 呼び出し元:状態表示アプリケーション/描画タスク 機能説明 :subfuncの指示に従い印刷動作を制御す
る。subfunc=0の場合、印刷一時停止状態は変更され
ない。
【0069】 機能概要 :リセットイベントのセット 形式 :int PSCSetReset(void) パラメータ:無し 戻り値 :0=成功,負=失敗 呼び出し元:未定 機能説明 :リセットイベントをプリントサービスコン
トロールへ通知する。PSCSetSelect(セレクト状
態の変更)によりofflineにした状態で呼び出すことが
望ましい。リセットイベントが通知されると、PSCD
ocEnd(文書終了通知)が呼び出されるまでの間、PS
CGetPrintData(プリントデータの取得)は文書終
了を返すようになる。印刷中のPCBはリセットイベン
トがセットされても印刷処理が継続される。
【0070】 機能概要 :リセットイベントの取得 形式 :int PSCGetReset(void) パラメータ:無し 戻り値 :0=リセットイベント無し,1=リセット
イベント有り 呼び出し元:描画タスク 機能説明 :リセットイベントの有無を描画タスクへ通
知する。PSCSetReset(リセットイベントのセッ
ト)によりリセットイベントが通知されると、PSCD
ocEnd(文書終了通知)が呼び出されるまでの間、リセ
ットイベント有りを返すようになる。リセットイベント
を取得した描画タスクはPSCPrintCtl(印刷制御)
により、印刷中、及び印刷待ちのPCBを解放した後、
PSCDocEnd(文書終了通知)を呼び出する。
【0071】 機能概要 :エラーステータスの取得 形式 :unsl6 PSCGetEngError(void) パラメータ:無し 戻り値 :0=エラー無し,正=エラー有り 呼び出し元:状態表示アプリケーション/描画タスク 機能説明 :呼び出された時点でステータス構造体に記
録されているエラーの有無を返す。
【0072】 機能概要 :プリンタエンジンのカウンタの取得 形式 :int PSCGetEngCount(uns32 cknd,uns32 *pcount) パラメータ:uns32 cknd …iカウンタの種類(1=モノクロカウンタ、 2=カラーカウンタ) uns32 *pcount無し …0カウンタの値 戻り値 :0=成功,負=失敗 呼び出し元:状態表示アプリケーション 機能説明 :共有メモリ上にバッファリングされている
カウンタ値を参照し指定されたカウンタ値を返す。カウ
ンタの用途を大別すると、エンジンの保守の目安と、課
金とがある。本関数で定義しているモノクロカウンタ、
カラーカウンタは、何れもエンジンの保守を目的とした
ものである。課金用のカウンタについては、具体的仕様
が決定していないので、現時点では定義しない。共有メ
モリ上のカウンタ値は、印刷処理実行中は、プリントサ
ービスコントロールが排紙完了通知などのタイミングで
共有メモリ上のカウンタ値を更新する。従って、エンジ
ンが管理しているカウンタ値の更新タイミングとずれる
可能性がある。また、エラーリカバリー処理後などにエ
ンジン制御タスクへ問い合わせを行い、エンジン側の管
理している値と同期をとるので、カウンタ値の更新タイ
ミングがエンジン側と異なっていた場合、カウンタ値が
戻る可能性がある。
【0073】 機能概要 :印刷情報の取得 形式 :int PSCGetPageInf(PC8 *rpcb,PCB *ppcb) パラメータ:PCB *rpcb …0展開中のページのPCBのコピー PCB *ppcb …0印刷中のページのPCBのコピー 戻り値 :0=成功,負=失敗 呼び出し元:状態表示アプリケーション
【0074】機能説明 :呼び出された時点でのPCB
管理データの状態を調べ、展開中のページのPCBのコ
ピー、印刷中のページのPCBのコピーを返す。展開中
のページのPCBには、createあるいはcomposeされた
カレントPCBが返される。そのようなPCBがなけれ
ば、展開中のページのPCBにはデフォルトPCBがセ
ットされる。デフォルトPCBあるいはcomposeされる
前のPCBが返された場合、描画タスクは印刷条件等の
設定を完了していない点に注意すること。PCBのcsta
tを見ればどのようなPCBが返されたかは判断でき
る。印刷中のページのPCBには、PSCPrintExec
により印刷要求が行われたPCBの内、エンジン制御タ
スクがイメージをエンジンへ転送中のPCB、あるい
は、次にエンジン制御タスクへ渡されるPCBが返され
る。そのようなPCBがなければ、印刷中のページのP
CBには前ページのPCBがセットされる。印刷中のペ
ージのPCBとして前ページのPCBが返されたかどう
かを区別する方法は定義していない。
【0075】 機能概要 :フレームメモリの使用状況の取得 形式 :int PSCGetFMemUse(uns16 *pafmsz,uns16 *pffmsz) パラメータ:uns16 *pafmsz …0フレームメモリ総容量(MB) uns16 *pffmsz …0フレームメモリ空き容量(MB) 戻り値 :0…成功,負…失敗 呼び出し元:状態表示アプリケーション/描画タスク 機能説明 :フレームメモリの大きさをMB(220バイ
ト)単位で返す。
【0076】 機能概要 :印刷データの有無のチェック 形式 :int PSCChkPrinting(void) パラメータ:無し 戻り値 :0…印刷データ無し,1…印刷中 呼び出し元:状態表示アプリケーション 機能説明 :プリントデータの読み出し状態と印刷状態
を調べ、プリントモニタから文書開始が通知されておら
ず、且つ、前文書の印刷が完了している場合、印刷デー
タ無しを返す。それ以外の場合、印刷中を返す。
【0077】ページ管理関連サービス 図11にページコントロールブロック(PCB)の割り
当て〜印刷要求の手順の概略を示す。図11において、
PSCCreatePCB(PCBの割り当て)では、PC
Bを呼び出し元タスクへ割り当てる。割り当てられたP
CBの設定はデフォルトPCBと同じ設定となってる。
ここで割り当てられたカレントPCBに対する設定の変
更は、PSCComposePCB(PCB設定の完了通知)
を呼び出す前に行っておくことが望ましい。PSCCom
posePCB(PCB設定の完了通知)では、カレントP
CBに対する設定をチェックし、フレームにバッファを
割り当てる。フレームバッファを割り当てた後にフレー
ムバッファのサイズに関連する設定項目を変更すること
はできない。排紙トレイの選択等、一部の項目について
のみ変更できる。PSCPrintExec(印刷要求の発
行)では、カレントPCBの設定に従って印刷を行う。
カレントPCBは印刷待ちリストに接続され、印刷処理
が完了すると破棄される。印刷要求発行後は、カレント
PCBに対するいかなる設定項目も変更できない。
【0078】PSCCreatePCB〜PSCComposeP
CBの間のカレントPCBに対する設定変更要求は、P
SCComposePCBを呼び出した際、設定の組み合わせ
が妥当かどうかまとめてチェックされる。PSCCompo
sePCB呼び出し後の設定変更要求は、変更要求の呼び
出しごとにチェックされる。PCB割り当て時にカレン
トPCBへコピーされるデフォルトPCBの設定はいつ
でも変更することが出来る。設定の組み合わせが妥当か
どうかのチェックはPSCCreatePCB呼び出し時に
チェックされる。デフォルトPCBは文書を越えて設定
が引き継がれる。両面印刷においては、給紙トレイ選択
等の表面、裏面で一致すべき設定項目を表と裏で異なる
値に設定してはならない。
【0079】PCB割り当て関連サービス 表5に、PCB割り当て関連サービスI/Fの一覧を示
し、以降、各機能について説明する。
【0080】
【表5】
【0081】 機能概要 :PCBの割り当て 形式 :int PSCCreatePCB(void) パラメータ:無し 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク 機能説明 :PCBを呼び出し元タスクへ割り当て、デ
フォルトPCBの設定をコピーする。デフォルトPCB
の設定の組み合わせが妥当かどうかは本関数が呼び出さ
れた際にチェックされる。一度に割り当てられるPCB
は1つだけである。PSCPrintExecを呼び、印刷、
あるいはPCBの解放を行うまでは、次のPCBの割り
当て要求を行うことはできない。呼び出し元タスクへ割
り当てられたPCBはカレントPCBと呼ぶ。本関数で
PCBを割り当てるとカレントPCBに対する設定変更
が可能となる。
【0082】 機能概要 :PCB設定の完了通知 形式 :int PSCComposePCB(void) パラメータ:無し 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク 機能説明 :割り当て済みのカレントPCBに対し、フ
レームバッファを割り当て、PCBを描画可能な状態に
する。割り当て可能なフレームメモリが無ければ割り当
て可能になるまで待つ。PCBのフレームバッファアド
レスには呼び出しタスクの論理アドレスが設定される。
フレームバッファサイズに影響するページ属性は、本関
数を呼び出す前に設定を完了しておかなければならな
い。本関数呼び出し前に変更された設定については、設
定の組み合わせが有効かどうかを本関数の中でまとめて
チェックを行う。
【0083】 機能概要 :印刷要求の発行 形式 :int PSCPrintExec(int mode) パラメータ:int mode …i実行モード 0=印刷を行わないで、フレームバッファ、PCBを解放する。 1=PCBの内容に従い、印刷処理を開始する。PCBは印刷終了後、 解放される。 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク 機能説明 :Compose済みのカレントPCB印刷を行う
ため、プリントサービスコントロール内の印刷待ちPC
Bチェーンへ接続する。
【0084】PCB設定関連サービス 表6に、PCB設定関連サービスI/Fの一覧を示し、
以降、各機能について説明する。
【0085】
【表6】
【0086】 機能概要 :解像度の設定 形式 :uns16 PSCSelectResolution(uns8 pcbknd,uns32 v_dpi) パラメータ:uns8 pcbknd …i設定を変更するPCBの種類 0=デフォルトPCB 1=カレントPCB uns16 v_dpi …i解像度 戻り値 :!0=選択された垂直解像度,0…失敗 呼び出し元:描画タスク 機能説明 :PCBへ設定される解像度を選択する。垂
直解像度、水平解像度とも同じ解像度に設定される。指
定された解像度を選択できない場合は、近い解像度に設
定される。カレントPCBの設定変更はPSCCompose
PCB(PCB設定の完了通知)呼び出し前に行ってお
かなければならない。
【0087】 機能概要 :解像度の独立設定 形式 :int PSCSelectHVResolution (uns8 pcbknd,uns16 h_dpi,uns16 v_dpi) パラメータ:uns8 pcbknd …i設定を変更するPCBの種類 0=デフォルトPCB 1=カレントPCB uns16 h_dpi …i水平解像度(0=垂直解像度と同じ) uns16 v_dpi …i垂直解像度 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク 機能説明 :PCBへ設定される水平解像度・垂直解像
度を選択する。カレントPCBの設定変更はPSCCom
posePCB(PCB設定の完了通知)呼び出し前に行っ
ておかなければならない。
【0088】 機能概要 :印字可能領域サイズの取得 形式 :int PSCGetFrameLimit (uns8 paper,int16 *woff,int16 *loff,uns16 *fwid,uns16 *flen) パラメータ:uns8 paper …i用紙サイズ int16 *woff …0フレームバッファの左余白ピクセル数 int16 *loff …0フレームバッファの上余白ピクセル数 uns16 *fwid …0フレームバッファのピクセル数単位の幅 uns16 *flen …0フレームバッファのピクセル数単位の長さ 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク 機能説明 :指定された用紙サイズに対して、印字可能
な最大のフレームバッファサイズを通知する。余白領域
サイズは印刷不可能領域のサイズを示す。用紙とフレー
ムバッファの位置関係については図12を参照。
【0089】 機能概要 :フレームバッファサイズ設定 形式 :int PSCSetFrameSize (uns8 pcbknd,int16 woff,int16 loff,uns16 fwid,uns16 flen) パラメータ:uns8 pcbknd …i設定を変更するPCBの種類 0=デフォルトPCB 1=カレントPCB int16 woff …iフレームバッファの左余白ピクセル数 int16 loff …iフレームバッファの上余白ピクセル数 uns16 fwid …iフレームバッファのピクセル数単位の幅 uns16 flen …iフレームバッファのピクセル数単位の長さ 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク
【0090】機能説明 :フレームバッファの幅と長さ
は、それぞれ、用紙の幅と長さと同じか小さくなければ
ならない。用紙とフレームバッファの位置関係について
は図12を参照。PCBのflbyteへ設定される主走査1
ラインの1プレーン当たりのバイト数は、与えられたフ
レームバッファの幅と1ピクセル当たりのビット数とか
ら、バウンダリを考慮して設定される。カレントPCB
の設定変更はPSCComposePCB(PCB設定の完了
通知)呼び出し前に行っておかなければならない。な
お、ハードウェア(エンジン)に依存するオフセットピ
クセル数はプリントサービスコントロールのレベルでは
関知しない。エンジン制御タスクで調整される。
【0091】 機能概要 :カラーモード選択 形式 :int PSCSelectColor (uns8 pcbknd,unt8 cmode,uns8 dmode) パラメータ:uns8 pcbknd …i設定を変更するPCBの種類 0=デフォルトPCB 1=カレントPCB unt8 cmode …i現像色モード 0×40=モノクロRed 0×20=モノクロGreen 0×10=モノクロBlue 0×08=モノクロCyan 0×04=モノクロMagenta 0×02=モノクロYellow 0×01=モノクロblack 0×00=カラー uns8 dmode …i1プレーン当たりの量子化数 1=1色当たり1bit(2値) 2=1色当たり2bit(4値) 4=1色当たり4bit(16値) 8=1色当たり8bit(256値) 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク
【0092】機能説明 :印刷時のカラーモード、及
び、1プレーン当たりの量子化数の設定を行う。カレン
トPCBの設定変更はPSCComposePCB(PCB設
定の完了通知)呼び出し前に行っておかなければならな
い。モノクロを指定した場合のフレームバッファはblac
Kのプレーンのみが利用される。
【0093】 機能概要 :両面印刷属性の設定 形式 :int PSCSetDualPrint(uns8 pcbknd,int dpmode) パラメータ:uns8 pcbknd …i設定を変更するPCBの種類 0=デフォルトPCB 1=カレントPCB int dpmode …i両面印刷モード 0=片面印刷開始 1=両面印刷(回転無し)開始 2=reserved 3=両面印刷(回転有り)開始 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク 機能説明 :指定されたPCBの両面印刷属性を変更す
る。カレントPCBの設定変更はPSCComposePCB
(PCB設定の完了通知)呼び出し前に行っておかなけ
ればならない。エンジンに指定された両面印刷機能が無
い場合、実行可能なモードに変更される。
【0094】 機能概要 :給紙トレイの選択 形式 :int PSCSelectIntray (uns8 pcbknd,uns8 *pintray,uns8 *ppaper,uns8 pkind) パラメータ:uns8 pcbknd …i設定を変更するPCBの種類 0=デフォルトPCB 1=カレントPCB uns8 *pintray …i/o給紙トレイID(4.7.4章参照) uns8 *ppaper …i/o選択する用紙サイズ uns8 pkind …i紙種,0=標準,1=OHP,2=厚紙 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク
【0095】機能説明 :PCBへ設定される給紙トレ
イ、用紙サイズ、紙種を同時に選択する。給紙トレイが
両面トレイのID(255)ならば、指定された用紙が
設定されているトレイを選択し、選択された給紙トレイ
のIDを返す。用紙サイズが用紙無し(0)ならば、選
択されたトレイに応じた用紙サイズを返す。指定された
用紙のセットされている給紙トレイが見つからない場合
はエラーとなり、PCBの設定は変更されない。カレン
トPCBの設定変更はPSCComposePCB(PCB設
定の完了通知)呼び出し前に行っておかなければならな
い。
【0096】 機能概要 :バックアップモードの設定 形式 :int PSCSetBackup(uns8 pcbknd,uns8 mode) パラメータ:uns8 pcbknd …i設定を変更するPCBの種類 0=デフォルトPCB 1=カレントPCB int mode …iバックアップモード bit6=JAM_BACKUPビット: 1=ジャムバックアップ動作を行う。 bit3=GET_NCLRビット: 0=フレームバッファ割り当て時にフレームバ ッファをクリアする。 1=前ページが印刷イメージクリア禁止モード ならば前ページのイメージを持つフレーム ッファを割り当てる。 戻り値 :設定されたモード 呼び出し元:描画タスク
【0097】機能説明 :ジャムバックアップ動作を行
うかどうか、及び、前ページのイメージのコピー動作を
行うかどうかの設定を変更する。前ページのイメージが
コピーされたフレームバッファを割り当てるためには、
前ページがPSCNotClearImage(印刷イメージクリ
ア禁止モード指定)により印刷イメージクリア禁止モー
ドに設定されていなければならない。カレントPCBの
GET_NCLRビットの設定変更はPSCComposePCB(P
CB設定の完了通知)呼び出し前のみ有効である。PS
CComposePCBが呼ばれフレームバッファが割り当て
られた後でカレントPCBに対する設定変更要求があっ
た場合、JAM_BACLUPビットのみが反映される。
【0098】 機能概要 :給紙トレイ自動切り替えモードの設定 形式 :int PSCSetAutotray(uns8 pcbknd,uns8 traymode) パラメータ:uns8 pcbknd …i設定を変更するPCBの種類 0=デフォルトPCB 1=カレントPCB uns8 traymode …iトレイ切り替えモード 0=トレイ切り替え無し 1=リミットレス給紙(ペーパエンドで給紙トレイ自動切り替え) 2=自動給紙選択(ペーパエンド以外でも給紙トレイ自動切り替え) 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク
【0099】機能説明 :PCBへ設定される給紙トレ
イ自動切り替えモードを選択する。自動給紙選択モード
では、印刷開始時やペーパーエンド発生時等において、
PCBに設定されているのと同じ用紙(サイズ、方向、
紙種)がセットされている給紙トレイをプリントサービ
スコントロール側で自動的に選択する。リミットレス給
紙モードは、ペーパーエンドの際に自動給紙選択と同様
に同じ用紙がセットされている給紙トレイを自動選択す
るモードである。自動給紙選択モードと異なり、印刷開
始時やエラーリカバリー時には、先ず、指定されたトレ
イに指定された用紙がセットされるのを待つ。給紙トレ
イとして手差しトレイが指定されている場合は、リミッ
トレス給紙モード、自動給紙選択モードとも選択するこ
とはできない。カレントPCBに対する設定の場合、給
紙トレイのチェックはPSCComposePCB(PCB設
定の完了通知)呼び出し時に行われる。
【0100】 機能概要 :給紙トレイの選択 形式 :int PSCSelectOuttray(uns8 pcbknd,uns8 outtray,uns8 emode) パラメータ:uns8 pcbknd …i=設定を変更するPCBの種類 0=デフォルトPCB 1=カレントPCB uns8 outtray …i=排紙トレイID uns8 emode …i=排紙モード bit6:1=ステープル指定 bit5:1=反転排紙指定 bit3:1=ドギーバック指定 bit0:1=ソート指定 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク 機能説明 :PCBへ設定される排紙トレイと排紙モー
ドを選択する。排紙トレイIDとして存在しないトレイ
が与えられた場合、PCBへは標準排紙トレイIDが設
定される。
【0101】 機能概要 :印刷部数の設定 形式 :int PSCSetCopyCount(uns8 pcbknd,int16 copy) パラメータ:uns8 pcpknd …i設定を変更するPCBの種類 0=デフォルトPCB 1=カレントPCB int16 Copy …iコピー部数(>0) 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク 機能説明 :PCBへ設定される印刷部数を設定する。
【0102】 機能概要 :タイムアウト時間の設定 形式 :int PSCSetTimeout(uns8 pcbknd,int16 feedt) パラメータ:uns8 pcpknd …i設定を変更するPCBの種類 0=デフォルトPCB 1=カレントPCB int16 feedt …iフィードタイムアウト時間(秒) 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク
【0103】機能説明 :手差しトレイに指定された用
紙がセットされるまでの最大待ち時間、及び、カセット
に指定された用紙がセットされるまでの最大待ち時間を
PCBへ設定する。タイムアウト時間として0が指定さ
れた場合、タイムアウトは行われない。タイムアウト処
理の動作は次の通り。手差し給紙の場合、タイムアウト
時間内に用紙がセットされなかったならばイメージを破
棄し、次のページの印刷処理へ移る。カセット給紙の場
合、紙切れに対するタイムアウト処理はない。カセット
に異なるサイズの用紙がセットされていた場合にタイム
アウト処理を行う。指定サイズの用紙をセットするよう
メッセージを出し、タイムアウト時間内に指定サイズの
用紙がセットされなければ、用紙サイズの違いを無視し
て異なるサイズの用紙に対してイメージを印刷する。
【0104】 機能概要 :印刷イメージクリア禁止モード設定 形式 :int PSCNotClearImage(uns8 pcbknd,int notclear) パラメータ:uns8 pcpknd …i設定を変更するPCBの種類 0=デフォルトPCB 1=カレントPCB int notclear …iクリアモード 0=印刷終了後、フレームバッファクリア。 1=次ページにイメージをコピーするため、印刷終了後もイメー ジを消さない。 戻り値 :0=成功,負=失敗 呼び出し元:描画タスク
【0105】機能説明 :印刷、あるいは排紙終了後
も、次ページのフレームバッファの割り当てが行われる
までイメージを保持するかどうかを指定する。保持した
イメージを次ページのフレームバッファへコピーするに
は、次ページのPCBのPSCComposePCB(PCB
設定の完了通知)を実行する前に、PSCSetBackup
(バックアップモードの設定)で、GET_NCLRビットを立
てておく必要がある。また、イメージクリア禁止モード
が指定されていても、PSCDocEnd(文書終了通知)
が呼び出されると保持していたイメージは破棄される。
【0106】 機能概要 :PCBの読み出し 形式 :int PSCGetPCB(uns8 pcbknd,PCB *pcb) パラメータ:uns8 pcbknd …i読み出すPCBの種類 0=デフォルトPCB 1=カレントPCB 255=前ページのPCB PCB *pcb …o PCBのコピー 戻り値 :0=成功,負=失敗 呼び出し元:状態表示アプリケーション/描画タスク 機能説明 :共有メモリ上の指定されたPCBを読み出
す。カレントPCBあるいは前ページのPCBが指定さ
れた場合、PCBが存在していなければエラーを返す。
【0107】 機能概要 :PCBの書き込み 形式 :int PSCPutPCB(uns8 pcbknd,PCB *pcb) パラメータ:uns8 pcbknd …i書き込むPCBの種類 0=デフォルトPCB 1=カレントPCB PCB *pcb …i PCBのコピー 戻り値 :0=成功,負=失敗 呼び出し元:状態表示アプリケーション/描画タスク
【0108】機能説明 :共有メモリ上の指定されたP
CBを書き換える。書き込むPCBのデータは、PSC
ComposePCB(PCB設定の完了通知)呼び出し時と
同様のチェックが行われる。カレントPCBについて
は、PSCComposePCB(PCB設定の完了通知)呼
び出し後の本関数によるPCBの書き込みは許されな
い。基本的には、PSCGetPCB(PCBの読み出
し)で読み出し、退避しておいたデフォルトPCBを復
元するために呼び出す。
【0109】エンジン制御タスク概要 I−Copierシステムコントローラ上で動作するプリン
トサービスコントロールタスクとエンジン制御タスクの
間のI/F仕様について記述する。 1.機能概要 エンジン制御タスクは、プリントサービスコントロール
タスクからプリンタの制御権の獲得/解放、印刷要求、
エラーリカバリー通知などの要求を受け付け、これらの
要求のステータスや、エラー情報・プリンタ情報などの
非同期イベントを通知する。このタスク間I/Fは、2
つのパイプを使用して行う。エンジン制御タスクへの要
求は、コマンドの書き込み、ステータスの読み込、イベ
ントの読み込みの3つの機能に分けることが出来る。プ
リントサービスコントロールタスクからエンジン制御タ
スクへの印刷要求などのコマンドとエンジン制御タスク
からプリントサービスコントロールへのコマンドのステ
ータス情報は、“ENGINE_COMMAND”という名前付きパイ
プで読み書きされる。エンジン制御タスクからプリント
サービスコントロールタスクへの非同期イベント情報
は、“ENGINE_EVENT”という名前付きパイプに書き込ま
れる。
【0110】エンジン制御タスクは、パイプに書き込ま
れたコマンドのキューイング処理を行い、即時に実行で
きない処理は実行可能な状態に遷移した時点で処理を開
始する。主な機能には以下のようなものがある。 プリンタ情報の取得。 プリンタの制御給の獲得/解放。 印刷の解消・中断・再開。 オンライン設定/オフライン設定。 印刷要求処理。 自動用紙選択、リミットレス給紙のサポート。 エラー通知。
【0111】2.処理概要 初期化処理 エンジン制御タスクは起動時に以下の手順で処理を行
う。 CIVICマネージャ、CIVICドライバの初期化
チェックを行う。 CIVICマネージャを呼び出して、プリンタ情報を
入手する。 2つの名前付きパイプに接続する。 パイプデータ監視スレッドを作成する。
【0112】コマンド受付処理 エンジン制御タスクは、プリントサービスコントロール
タスクから名前付きパイプ“ENGINE_COMMAND”を通して
コマンドを読み込む。コマンドはコマンド監視スレッド
で読み込み、コマンドとして確定した時点でコマンドキ
ューにセットする。受付が終了した時点で名前付きパイ
プ“ENGINE_COMMAND”にステータスを書き込む。コマン
ド送受信用パイプ名“ENGINE_COMMAND”\\.\pipe\ENGIN
E_COMMAND
【0113】メインループ処理 エンジン制御タスクメインループでは、コマンドキュー
のチェックとコマンド処理結果やプリンタ情報などのイ
ベントのチェックを行っている。エラー情報やプリンタ
状態変化のイベントは、検出次第すぐにイベント用の名
前付きパイプ“ENGINE_EVENT”に書き込み、コマンドの
実行結果はチェック後次のコマンドを実行したりコマン
ド用の名前付きパイプ“ENGINE_COMMAND”ステータスを
書き込んだりする。 イベント通知用パイプ名“ENGINE_EVENT” \\.\pi
pe\“ENGINE_EVENT”
【0114】3.I/Fコマンド説明 1)I/Fコマンド説明 以下にプリンタサービスコントロールタスクから受け付
けるコマンドについて説明する。表7にエンジン制御タ
スクのI/Fコマンドの一覧を示し、以降、各記能につ
いて説明する。
【0115】
【表7】
【0116】 機能概要 :エンジン情報(プリンタの状態)を獲得する。 コマンド形式 :情報種別+情報サイズ+要求ID パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=1:コ マンド要求) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=2) 要求ID(2バイト) … I/FコマンドID(ID=1) ステータス形式:情報種別+情報サイズ+ステータス+エンジン情報 パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=2:ス テータス) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=47) ステータス(2バイト) … 処理結果 0:正常終了 -1:エンジン異常 -2:その他のエ ラー エンジン情報(45バイト) …エンジン情報構造体のデータ 機能説明 :プリンタの状態を取り出す。各トレイの用
紙サイズ、エラーが発生していればエラー情報などのデ
ータを要求する。
【0117】 機能概要 :文書印刷の開始を通知する。 コマンド形式 :情報種別+情報サイズ+要求ID パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=1:コ マンド要求) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=2) 要求ID(2バイト) … I/FコマンドID(ID=2) ステータス形式:情報種別+情報サイズ+ステータス パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=2:ス テータス) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=2) ステータス(2バイト) … 処理結果 0:正常終了 -1:エンジン異常 -2:その他のエ ラー 機能説明 :文書印刷の開始を通知する。もし、コピー
モードであれば文書印刷の開始と同時にPRETERのパネル
とプリンタの制御権を獲得し、プリンタモードであれば
何もしない。
【0118】 機能概要 :文書印刷の終了を通知する。 コマンド形式 :情報種別+情報サイズ+要求ID パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=1:コ マンド要求) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=2) 要求ID(2バイト) … I/FコマンドID(ID=3) ステータス形式:情報種別+情報サイズ+ステータス パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=2:ス テータス) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=2) ステータス(2バイト) … 処理結果 0:正常終了 -1:エンジン異常 -2:その他のエ ラー
【0119】機能説明 :文書印刷の終了を通知する。
コピー優先モードでは、文書印刷の終了と同時にPRETER
のパネルとプリンタの制御権を解放する。プリンタ優先
モードでは、文書印刷が終了してもプリンタモードのま
まである。I−Copierシステムコントローラはプリン
タ優先モードなので、制御権は解放しない。このコマン
ドにより印刷の終了を判断し、コピーモードへのキー入
力による切り替えが可能となる。
【0120】 機能概要 :印刷要求を行う。 コマンド形式 :情報種別+情報サイズ+要求ID+PCBデータ パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=1:コ マンド要求) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=3) 要求ID(2バイト) … I/FコマンドID(ID=4) PCBデータ(54バイト) … 印刷するデータのPCBデータ ステータス形式:情報種別+情報サイズ+ステータス パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=2:ス テータス) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=2) ステータス(2バイト) … 処理結果 0:正常終了 -1:エンジン異常 -2:その他のエ ラー 機能説明 :印刷要求を行う。PCBの部数データに従
い、指定部数分の印刷を行う。
【0121】 機能概要 :エラー発生後、リカバリー通知を行う。 コマンド形式 :情報種別+情報サイズ+要求ID パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=1:コ マンド要求) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=2) 要求ID(2バイト) … I/FコマンドID(ID=5) ステータス形式:情報種別+情報サイズ+ステータス パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=2:ス テータス) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=2) ステータス(2バイト) … 処理結果 0:正常終了 -1:エンジン異常 -2:その他のエ ラー
【0122】機能説明 :エラーが発生した場合は、コ
マンドキューに残っているコマンドは全クリアする。こ
のコマンドが要求された時点でエラーは復旧されたこと
になるので、これ以降のコマンドの処理を実行する。リ
カバリー通知を必要とするイベントには以下のものがあ
る。トナーエンド、ジャム、SC情報、ドアオープン、
ペーパーエンド、キーイベントによる状態変更、その他
のエラー、
【0123】 機能概要 :ページカウンタの情報を取得する。 コマンド形式 :情報種別+情報サイズ+要求ID パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=1:コ マンド要求) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=2) 要求ID(2バイト) … I/FコマンドID(ID=6) ステータス形式:情報種別+情報サイズ+ステータス+カウンタ情報 パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=2:ス テータス) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=2) ステータス(2バイト) … 処理結果 0:正常終了 -1:エンジン異常 -2:その他のエ ラー 機能説明 :ページカウンタの情報の取得を要求する。
カウンタ情報は、取得後非同期に通知される。
【0124】 機能概要 :印刷制御要求を行う。 コマンド形式 :情報種別+情報サイズ+要求ID+制御種別 パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=1:コ マンド要求) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=2) 要求ID(2バイト) … I/FコマンドID(ID=7) 制御種別(1バイト) … 印刷制御の制御種別 (0:取消 1:中断 2:再開) ステータス形式:情報種別+情報サイズ+ステータス+PCBのID パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=2:ス テータス) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=3) ステータス(2バイト) … 処理結果 0:正常終了 -1:エンジン異常 -2:その他のエ ラー PCBのID(1バイト) … 取消、中断、再開されたPCBのID 機能説明 :印刷制御要求を行う。制御種別が0の時
は、コマンドキューに残っているコマンド全てをクリア
する。
【0125】 機能概要 :セレクト状態を取得する。 コマンド形式 :情報種別+情報サイズ+要求ID パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=1:コ マンド要求) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=2) 要求ID(2バイト) … I/FコマンドID(ID=8) ステータス形式:情報種別+情報サイズ+ステータス パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=2:ス テータス) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=2) ステータス(2バイト) … 処理結果 0:オフライン状態 1:オンライン状態 2:コピーモー ド -1:エンジン異常 -2:その他 のエラー 機能説明 :セレクト状態を取得する。
【0126】 機能概要 :セレクト状態を設定する。 コマンド形式 :情報種別+情報サイズ+要求ID+セレクト状態 パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=1:コ マンド要求) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=3) 要求ID(2バイト) … I/FコマンドID(ID=9) セレクト状態(1バイト) … 設定するセレクト状態。 0:オフライン 1:オンライン ステータス形式:情報種別+情報サイズ+ステータス パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=2:ス テータス) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=2) ステータス(2バイト) … 処理結果 0:正常終了 -1:エンジン異常 -2:その他のエ ラー 機能説明 :セレクト状態を設定・変更を要求する。
【0127】2)非同期イベント説明 以下にエンジン制御コマンドが通知する非同期イベント
について記述する。イベントIDは1〜12までである
が、エラーリカバリーが必要な場合は先頭ビットを1に
する。
【0128】 機能概要 :トナーニアエンド情報を通知する。 コマンド形式 :情報種別+情報サイズ+イベントID+通知データ パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=3:イ ベント) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=3) イベントID(2バイト) … 通知イベントの種類(ID=1) 通知データ(1バイト) … トナーニアエンドステータス bit0:トナーニアエンドC bit1:トナーニアエンドM bit2:トナーニアエンドY bit3:トナーニアエンドK イベント説明 :カラー4色のトナーのそれぞれのニア
エンド情報を通知する。ニアエンドが解除された時にも
通知する。
【0129】 機能概要 :トナーエンド情報を通知する。 コマンド形式 :情報種別+情報サイズ+イベントID+通知データ パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=3:イ ベント) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=3) イベントID(2バイト) … 通知イベントの種類(ID=2) 通知データ(1バイト) … トナーエンドステータス bit0:トナーニアエンドC bit1:トナーニアエンドM bit2:トナーニアエンドY bit3:トナーニアエンドK イベント説明 :カラー4色のトナーのそれぞれのトナ
ーエンド情報を通知する。トナーエンドが解除された時
にも通知する。
【0130】 機能概要 :ジャム情報を通知する。 コマンド形式 :情報種別+情報サイズ+イベントID+通知データ パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=3:イ ベント) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=3) イベントID(2バイト) … 通知イベントの種類(ID=3) 通知データ(1バイト) … ジャム情報 bit0:プリンタジャム bit1:DFジャム イベント説明 :ジャムが発生した時のジャムの状態を
通知する。ジャムを解除した時も通知する。
【0131】 機能概要 :SC情報を通知する。 コマンド形式 :情報種別+情報サイズ+イベントID+通知データ パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=3:イ ベント) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=4) イベントID(2バイト) … 通知イベントの種類(ID=4) 通知データ(2バイト) … 発生したSCコードを2バイト で表す イベント説明 :発生したSCコードを通知する。
【0132】 機能概要 :ドアオープン情報を通知する。 コマンド形式 :情報種別+情報サイズ+イベントID+通知データ パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=3:イ ベント) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=3) イベントID(2バイト) … 通知イベントの種類(ID=5) 通知データ(1バイト) … 発生したドアオープン情報 bit0:前ドア bit1:バンクドア bit2:ソータカバー bit3:DFカバー bit4:レジストガイド版 イベント説明 :発生したドアオープン情報を通知す
る。ドアオープンを解除した時も通知する。
【0133】 機能概要 :ペーパーエンド情報を通知する。 コマンド形式 :情報種別+情報サイズ+イベントID+通知データ パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=3:イ ベント) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=5) イベントID(2バイト) … 通知イベントの種類(ID=6) 通知データ(1バイト) … ペーパーエンド情報 0:手差し 1:トレイ1 2:トレイ2 3:トレイ3 …… 31:両面 イベント説明 :ペーパーエンド情報を通知する。ペー
パーエンドを回復させた時も通知する。
【0134】 機能概要 :カセットステータスの変更を通知する。 コマンド形式 :情報種別+情報サイズ+イベントID+通知データ パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=3:イ ベント) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=4) イベントID(2バイト) … 通知イベントの種類(ID=7) 通知データ(1バイト) … 変更した給紙トレイ 0:手差し 1:トレイ1 2:トレイ2 3:トレイ3 …… 31:両面 変更後の用紙サイズ(ASAPコードを返す。) イベント説明 :カセットステータスの変更を通知す
る。
【0135】 機能概要 :給紙トレイの変更を通知する。 コマンド形式 :情報種別+情報サイズ+イベントID+通知データ パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=3:イ ベント) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=4) イベントID(2バイト) … 通知イベントの種類(ID=8) 通知データ(2バイト) … トレイが変更されたPCBのID 変更後の給紙トレイ 0:手差し 1:トレイ1 2:トレイ2 3:トレイ3 …… 31:両面 イベント説明 :給紙トレイの変更を通知する。自動用
紙選択又はリミットレス給紙によってPCBで指定され
た給紙トレイ以外のトレイから給紙するように変更した
場合、変更されたPCBのIDと変更後の給紙トレイを
通知する。
【0136】 機能概要 :排紙イベントを通知する。 コマンド形式 :情報種別+情報サイズ+イベントID+通知データ パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=3:イ ベント) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=3) イベントID(2バイト) … 通知イベントの種類(ID=9) 通知データ(1バイト) … 排紙されたPCBのID イベント説明 :印刷要求されていたPCBの排紙を通
知する。
【0137】 機能概要 :画像データ転送終了を通知する。 コマンド形式 :情報種別+情報サイズ+イベントID+通知データ パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=3:イ ベント) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=3) イベントID(2バイト) … 通知イベントの種類(ID=10) 通知データ(1バイト) … 画像転送の終了したPCBのID イベント説明 :印刷要求されていたPCBの画像転送
の終了を通知する。
【0138】 機能概要 :その他のエラー情報を通知する。 コマンド形式 :情報種別+情報サイズ+イベントID+通知データ パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=3:イ ベント) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=4) イベントID(2バイト) … 通知イベントの種類(ID=11) 通知データ(2バイト) … その他のエラーのエラーコード
【0139】イベント説明 :その他のエラーの発生を
通知する。 エラーコードの以下の通りとする。 0x01:自動用紙選択のペーパーエンド 0x02:リミットレス給紙のペーパーエンド 0x10:PERTERの電源ON 0x11:PERTERの電源OFF 0x20:通信エラー 0x30:PCBのパラメータエラー
【0140】 機能概要 :パネルのキーイベントによる状態の変化を通知する。 コマンド形式 :情報種別+情報サイズ+イベントID+通知データ パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=3:イ ベント) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=4) イベントID(2バイト) … 通知イベントの種類(ID=12) 通知データ(2バイト) … キー入力コード 1:オンライン 2:オフライン 3:ジョブリセット 4:終了 イベント説明 :パネルでのキー入力イベントを通知す
る。
【0141】 機能概要 :ページカウンタを通知する。 コマンド形式 :情報種別+情報サイズ+イベントID+通知データ パラメータ :情報種別(2バイト) … I/Fコマンドの種類(TYPE=3:イ ベント) 情報サイズ(2バイト) … 以下に続くパラメータのサイズ (SIZE=10) イベントID(2バイト) … 通知イベントの種類(ID=13) 通知データ(8バイト) … ページカウンタデータ イベント説明 :印刷要求されていたPCBの画像転送
の終了を通知する。ページカウンタデータはモノカラー
カウンタ、フルカラーカウンタの順にlongデータが通知
される。
【0142】CIVICマネージャ(プリントエンジン
I/Fマネージャ)概要 I−Copierシステムコントローラ上で動作するCIV
ICマネージャが提供する上位モジュールとのI/F及
びデータについて記述する。 1.機能概要:CIVICマネージャは、エンジン制御
タスクから印刷要求などを受け付け、CIVICコマン
ドに変換してCIVICドライバのI/F関数をコール
することによりフルカラーコピー機プリントエンジンで
の印刷や情報の獲得を行う。主な機能には以下のような
ものがある。 プリントエンジンのパネル、プリンタの制御権の獲得
/解放。 プリントエンジンの各種情報の獲得(立ち上げ時)。 プリントエンジンのオンライン/オフラインの設定。 印刷処理。 プリンタ情報変化及びエラー情報の通知。
【0143】2.処理概要: 1)初期化処理 エンジン制御タスクは、以下のような手順で初期化処理
を行わなければならない。 エンジン制御タスク起動時に、CIVICマネージャ
(d11)はロードされ、CIVICマネージャはCI
VICドライバのハンドルの取得とイベント待ちスレッ
ドのクリエイトを行う。 CVInitialize()をコールし、初期化情報の取り
出しを行う。 CVGetPrinterInf()をコールし、プリンタ情報
を獲得する。 2)印刷処理 エンジン制御タスクは印刷を行う前に、必ずプリンタお
よびパネルの制御権を獲得しておかなければならない。
もし獲得していない時はCVGetPrinter()をコール
してプリンタの制御権を獲得する。また、オフライン状
態の時は印刷できないので、CVOnlinePrinter()
をコールしてオンライン状態にしなければならない。制
御権を獲得し、オンライン状態にした後で、CVPrint
Request()をコールして印刷要求を行う。印刷要求の
リターン値は、印刷コマンドのACKを受信した時点で
正常終了を返す。実際の印刷の完了は非同期通知で排紙
完了を受信することによって判断する。
【0144】I−Copierシステムコントローラではプ
リンタ優先モードを採用しているのでプリンタの制御権
の解放は処理手順の中では行わない。ただし、パネル上
でのエラー表示をプリントエンジンに処理してもらうた
め、パネルの制御をプリントエンジンに返さなければな
らない。そこで、CIVICマネージャはエラーが発生
したら、パネルの制御権をプリントエンジンに返してエ
ラー表示を処理してもらい、エラーが回復した時にパネ
ルの制御権を再要求することで、再印刷可能な状態に移
行する。このエラー時の制御権のやり取りはCIVIC
マネージャで自動的に行う。
【0145】3.イベント通知処理 イベント通知処理の実装方法は、イベント監視スレッド
を作成し、スレッド内でイベント情報のREADを行い、イ
ベントが発生していない時は発生するまでスレッドをWA
ITさせるという手順をとる。CIVICマネージャが読
み込むイベントは、プリンタ状態変化、システムステー
タス変化、エラー通知などの受信コマンドである。これ
らの受信コマンドに対しては詳細情報要求を行い、読み
込んだ詳細情報をイベントコードに変換してエンジン制
御タスクにPostMessage()を使って通知する。パラ
メータはwParamにイベントタイプを、1Paramにイベ
ントデータをセットして通知する。
【0146】表8に、CIVICマネージャのI/F関
数の一覧を示し、以降、各機能について説明する。
【0147】
【表8】
【0148】 機能概要 :CIVICマネージャの初期化状態をチェックする。 形式 :int CVInitialize(HWND hwnd) パラメータ :HWND hwnd …I 要求を行ったアプリケーションの ウインドウハンドル 戻り値 :0×00:正常終了 0×01:スレッド作成失敗 0×02:割込み登録エラー 0×06:受信バッファ確保失敗 0×11:プリンタ電源断 0×12:接続異常
【0149】機能説明 :CIVICマネージャの初期
化状態をチェックする。CIVICマネージャが正常に
初期化されたかどうかを確認するために、初期化結果情
報を取り出す。CIVICマネージャのロード時にプリ
ンタ電源断だった場合には、もう一度リセット処理を実
行して再接続の確認を行う。スレッドの作成失敗の時
は、CIVICマネージャは使用不能であるので終了さ
せること。その他のエラーの場合には、CIVICマネ
ージャ、CIVICドライバの両方とも使用不能である
ので終了させること。
【0150】 機能概要 :プリンタの各種情報の取得 形式 :int CVGetPrinterInf(HWND hwnd,PRT_INF *PrtInf) パラメータ :HWND hwnd …I 要求を行ったアプリケーションの ウインドウハンドル PRT_INF *PrtInf …0 プリンタ情報の構造体のポインタ 戻り値 :0×00:正常終了 0×10:通信ハードリセット 0×11:プリンタ電源断 0×12:接続異常 機能説明 :プリンタ情報を獲得する。
【0151】 機能概要 :プリンタの制御権の獲得 形式 :int CVGetPrinter(HWND hwnd) パラメータ :HWND hwnd …I 要求を行ったアプリケーションの ウインドウハンドル 戻り値 :0×00:正常終了 0×03:制御権取得済み 0×04:BUSY(取得失敗) 0×10:通信ハードリセット 0×11:プリンタ電源断 0×12:接続異常 機能説明 :プリンタの制御権を獲得する。
【0152】 機能概要 :プリンタの制御権の解放 形式 :int CVReleasePrinter(HWND hwnd) パラメータ :HWND hwnd …I 要求を行ったアプリケーションの ウインドウハンドル 戻り値 :0×00:正常終了 0×10:通信ハードリセット 0×11:プリンタ電源断 0×12:接続異常 機能説明 :プリンタの制御権を解放する。
【0153】 機能概要 :プリンタオンライン状態にする 形式 :int CVOnlinePrinter(HWND hwnd) パラメータ :HWND hwnd …I 要求を行ったアプリケーションの ウインドウハンドル 戻り値 :0×00:正常終了 0×10:通信ハードリセット 0×11:プリンタ電源断 0×12:接続異常 機能説明 :プリンタをオンライン状態にする。
【0154】 機能概要 :プリンタをオフライン状態にする 形式 :int CVOfflinePrinter(HWND hwnd) パラメータ :HWND hwnd …I 要求を行ったアプリケーションの ウインドウハンドル 戻り値 :0×00:正常終了 0×10:通信ハードリセット 0×11:プリンタ電源断 0×12:接続異常 機能説明 :プリンタをオフライン状態にする。
【0155】 機能概要 :印刷要求 形式 :int CVPrintRequest(HWND hwnd,IMAGE_INF *ImagInf,PRT_MOD E *PrtMode) パラメータ :HWND hwnd …I 要求を行ったアプリケーションの ウインドウハンドル IMAGE_INF *ImagInf …I イメージデータ情報構造体の ポインタ PRT_MODE *PrtMode …I 印刷条件情報のポインタ 戻り値 :0×00:正常終了 0×06:制御権未得獲 0×10:通信ハードリセット 0×11:プリンタ電源断 0×12:接続異常 0×30:プリンタ異常 機能説明 :イメージデータの印刷を要求する。
【0156】 機能概要 :ページカウンタの取得 形式 :int CVGetPageCounter(HWND hwnd,PAGE_CNT **PageCnt) パラメータ :HWND hwnd …I 要求を行ったアプリケーションの ウインドウハンドル PAGE_CNT *PageCnt …0 ページカウンタの値を保存する 構造体のポインタ 戻り値 :0×00:正常終了 0×10:通信ハードリセット 0×11:プリンタ電源断 0×12:接続異常 機能説明 :プリンタのフルカラーおよびモノカラーの
ページカウンタの値を取得する。
【0157】プリントエンジンVISEO I/Fドライバ概
要:I−Copierシステムコントローラ上で動作するC
IVICドライバが提供する上位モジュールとのI/F
及びデータについて説明する。
【0158】1.機能概要:CIVICドライバは、PC
I-CIVIC I/F Board上に実装されるCIP(CIVIC&PCIBrid
ge Controler)を制御し、フルカラーコピー機プリンタ
エンジンとの間でCIVIC I/F を介して通信を行
う。主な機能には以下のようなものがある。 CIVIC I/F を介したコマンドの送受信。 イメージデータ転送のための条件設定。 初期化時の相手装置の接続チェック。 フレームバッファの先頭アドレスの通知。 の機能については、I−Copierシステムコントロー
ラ上でカーネルモードで処理するモジュールが他になか
ったため、特別に機能追加を行った。
【0159】2.処理概要: 1)初期化処理 CIVICドライバには上位からの初期化I/Fはな
い。初期化処理は、ロード時に以下の処理を行う。 割り込みの登録処理。 シリアル通信条件の設定。 データ領域の確保および内部情報の初期化。 相手装置との接続確認。 *この処理結果は保存され、CIVICマネージャの初
期化関数によりエンジン制御タスクに渡される。
【0160】2)通信処理 コマンド発行は送信バッファの内容を1バイトずつ送信
する。送信バッファのデータを送信終了後は、相手装置
からのACK,NACK,LERRを受信するか、タイ
ムアウト時間経過後に呼出しモジュールに制御を返す。
コマンドの受信は、割込み関数の中で1バイトずつ受信
し、内部バッファにためていく。受信後に内部バッファ
の内容をチェックして1コマンド分のデータが確定した
時点で、受信コマンドバッファにコピーする。受信コマ
ンドバッファは、上位モジュールからのREAD要求に
対して返すデータを保存する。READ要求が来た時点
で受信コマンドバッファデータがある場合は、データを
READのバッファにコピーして制御を返す。もし、デ
ータがなかった場合は、IOマネージャには制御を返
す。イベント監視スレッドは、データがたまるまでWA
ITすること。
【0161】3)アドレスの取得処理 フレームバッファをアクセスするタスクが、初期化処理
の中で直接呼び出す。1つのタスクからは1度した呼ば
れることはなく、CIVICドライバはコールされた時
にマッピングを行い仮想アドレスを求める。
【0162】4)イベント情報の読み込み処理 プリンタの状態変化、エラー情報はCIVICドライバ
が受信コしンドバッファに溜め込むので、CIVICマ
ネージャのイベント監視スレッドはReadFile()によ
って情報を読みだす。受信コマンドバッファのデータの
内容は、基本的には受信したCIVICコマンドであ
る。例外としては、DMA転送終了イベントをCIVI
Cドライバで判断して受信コマンドバッファにセットす
る。
【0163】3.機能説明:表9に、CIVICドライ
バのI/F関数の一覧を示し、以降、各機能について説
明する。実際には、CreateFile(),ReadFil
e(),WriteFile(),Dwvice Io Control(),
CloseHandle()等を使って呼び出されるが、ディス
パッチルーチンで以下のI/F関数に振り分けて処理を
行う。このため、呼出元のCIVICマネージャへのリ
ターンステータスはRRUE/FALSEのいずれかで
ある。
【0164】
【表9】
【0165】 機能概要 :CIVICドライバの初期化時のチェック結果情報を取得する 形式 :int CivicGetInitInf(LPBYTE Status) パラメータ :LPBYTE Status …0 初期化時のチェック結果を格納した 領域のポインタ bit7:割込み登録結果 bit6:メモリ確保結果 bit5:受信バッファ獲得 bit1:接続異常 bit0:電源OFF 戻り値 :TRUE…成功 FALSE…失敗 機能説明 :CIVICドライバの初期化時のチェック
結果情報を取得する。制御コードは、CIVIC_GE
T_INIT_INF(=1)である。CIVICドラ
イバがロードされた時に、割り込みの登録、通信条件設
定、BREAK信号の送受信を行い、正常に動作した
か、エラーが発生したかを記憶しておく。この関数は上
記のチェック結果を各ビットに割当て、バイトデータを
返す。
【0166】 機能概要 :Reset処理(相手装置との接続確認) 形式 :int CivicReset(LPBYTE Status) パラメータ :LPBYTE Status …0 リセット処理の結果を格納する領域の ポインタ 0×00:正常終了 0×11:電源OFF 0×12:接続異常 戻り値 :TRUE…成功 FALSE…失敗 機能説明 :CIVIC I/F上でリセット処理(B
REAK信号の送受信)を行う。制御コードはCIVI
C_RESET(=2)である。この結果、正常に終了
すればこれ以降の通信が可能であることが分かる。リセ
ット処理の結果はStatusにセットされる。
【0167】 機能概要 :CIVICコマンドの発行 形式 :int CivicWrite(LPSTR Buffer,DWORD Count,LPBYTE Status) パラメータ :LPSTR Buffer …I発行するコマンドストリングのポインタ DWORD Count …I発行するコマンドストリングのサイズ LPBYTE Status …0コマンド発行の結果を格納する領域の ポインタ 0×00:正常終了 0×10:ハードリセット 0×11:電源OFF 0×12:接続異常 戻り値 :TRUE…成功 FALSE…失敗 機能説明 :送信バッファにセットされたCIVICコ
マンド発行する。制御コマンドはCIVIC_WRIT
E(=3)である。
【0168】 機能概要 :イメージデータ情報の設定 形式 :int CivicImageWrite(IMAGE_INF *ImageInf) パラメータ :IMAGE_INF *ImageInf …Iイメージ情報構造体のポインタ 戻り値 :TRUE…成功 FALSE…失敗 機能説明 :イメージデータ情報を設定する。制御コー
ドはCIVIC_IMAGE_WRITE(=4)であ
る。FGATEがアクティブになると、ここで指定した
データに従いイメージデータの転送が行われる。
【0169】 機能概要 :非同期イベントの読み込み 形式 :int CivicRead(LPSTR Buffer,LPDWORD Count) パラメータ :LPSTR Buffer …0 読み込むコマンドストリングのポインタ LPDWORD Count …I/O コマンドストリングのサイズを格納する ポインタ 戻り値 :TRUE…成功 FALSE…失敗 機能説明 :読み込みバッファにセットされたコマンド
を読み込む。制御コードはCIVIC_READ(=
5)である。一度に読み込むサイズは、コマンドコード
1個分であり、サイズは可変となる。
【0170】 機能概要 :フレームバッファの先頭アドレスを取得する 形式 :int CivicGetAddress(ADDRESS_INF *AddrInf) パラメータ :ADDRESS_INF *AddrInf …0 物理・仮想アドレス情報構造体 のポインタ 戻り値 :TRUE…成功 FALSE…失敗 機能説明 :フレームバッファの先頭の物理アドレス、
仮想アドレス、バッファサイズを通知する。制御コード
はCIVIC_GET_ADDRESS(=6)であ
る。この関数は、コールされるたびにマッピングを行う
ので、同じタスクでは1度しかコールしてはいけない。
【0171】状態表示アプリケーション概要 状態表示アプリケーションは、I−Copierシステムコ
ントローラが稼動する環境(Windows NTサーバ上)
で起動され、印刷処理中の印刷条件の表示や、印刷エン
ジンの状態を表示する機能を待つ。これらの印刷情報
は、プリントサービスコントロール部(図1参照)で全
て一括管理されているため状態表示アプリケーション
は、プリントサービスコントロールに情報取得要求を出
し、最新の印刷情報を取得し、画面に表示する。
【0172】1.処理概要:状態表示アプリケーション
は、プリントサービスコントロール部で保持する表示デ
ータを取得し表示するためプリントサービスコントロー
ルが提供するI/F関数をコールする。また、表示情報
の更新は定期的にI/F関数をコールし、ポーリングす
ることによって行うものとする。
【0173】2.デザイン仕様: 状態表示アプリケーションを起動すると、 (1)メニュー説明 (2)ツール説明 (3)状態表示 (4)エンジンステータス表示がなされ、前記状態表示
においては、給紙方法、用紙サイズ、排紙方法、階調、
カラーモード、紙種、解像度、印刷部数等が表示され、
エンジンステータス表示においては、印刷可能、トナー
ニアエンド、トナーエンド、カバーオープン、用紙ミス
フィード、原稿ミスフィード、サービスマンコール等が
表示される。
【0174】メインメニューからエンジン情報の表示を
実行するとトレイ用紙サイズソータ情報が表示され、ト
レイ用紙サイズには、各トレイにセットされている用紙
サイズが表示され、ソータ情報には、ソータの有無が表
示され、「有」の場合ソータの段数とソート機能の設定
状態表示され、OKで画面を消去する。メインメニュー
画面に戻る。
【0175】
【発明の効果】
(1)請求項1に対する作用効果 主にプリントモニタ及びプリンタシステムコントロール
部により、印刷完了通知が文章の最終ページの排紙完了
と一致するためクライアントへの通知タイミングと一致
し、ユーザが印刷物を取りに行ってもまだ印刷中である
ようなことがなくなった。 (2)請求項2に対する作用効果 エラーからの復帰状態が選択できることにより、プリン
タ管理者によるプリンタの管理方法に幅が出来たため、
より使いやすいプリントサーバシステムとなった。 (3)請求項3,4に対する作用効果 通常プリンタコントローラはプリンタエンジン内に内蔵
されており、プリンタ電源をOFFすると、それまでの
データが消えてしまい、再度印刷を実行するしかなかっ
た。 本発明による、プリンタエンジンの電源をOFFされた
場合でも、以降の印刷動作が正常に行われ、また電源O
FFをした理由によっては(印字品質が悪い、紙が違っ
てしまった等)メンテナンスを行った後でも文章先頭か
ら再印刷が行えるため、印刷を依頼したアプリケーショ
ンを再度実行するなどの手間が大幅に省ける。
【図面の簡単な説明】
【図1】 本発明によるコントローラシステムを利用し
た全体構成図である。
【図2】 プリントモニタの構成図である。
【図3】 プリントモニタの内部構成を示す図である。
【図4】 次文書のプリント動作を示す図である。
【図5】 Tpb Portsの構成を示す図である。
【図6】 プリントサービスコントロールの内部構成を
示す図である。
【図7】 PSコマンドのデータフローを示す図であ
る。
【図8】 PCBの参照の仕方を示す図である。
【図9】 PCBの管理イメージを示す図である。
【図10】 プリントデータの読み込み手順を示す図で
ある。
【図11】 PCB生成のフローを示す図である。
【図12】 用紙とフレームバッファの位置関係を示す
図である。
【符号の説明】
10…プリントモニタ、11…プリントブロバイダ、2
0…プリントサービスコントロール、30…描画タス
ク、40…状態表示アプリ、50…フレームバッファ、
60…エンジン制御タスク、70…プリントエンジンV
IDEO…I/Fドライバ、100…コントローラシス
テム、200…クライアント、300…プリンタエンジ
ン、400…ネットワーク、500…VIDEO…I/
F。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06F 13/00 354 G06F 13/00 354A

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 ホストコンピュータと、プリンタエンジ
    ンを直接VIDEOI/F等で接続し、イメージへの展
    開機能をホストコンピュータで行い、プリントサーバ機
    能を有するプリンタソフトにおいて、文章印刷の終了通
    知をポートへの出力終了時点ではなく、実際の排紙完了
    時点で文章印刷完了とし、プリントを要求したクライア
    ントに対して、印刷終了の通知タイミングを実際のプリ
    ンタマシンの動作と合わせることを特徴としたプリンタ
    制御装置。
  2. 【請求項2】 ホストコンピュータと、プリンタエンジ
    ンを直接VIDEOI/F等で接続し、イメージへの展
    開機能をホストコンピュータで行い、プリントサーバ機
    能を有するプリンタソフトにおいて、JAM等のエラー
    が発生した時に、サーバ及び印刷を要求したクライアン
    トに状況を通知し、表示する機能において、エラー状態
    から復帰した場合に、自動的にエラー表示を消す場合
    と、確認のためのキーを押してから表示を消し、ジャム
    バックアップされたデータを再印刷することを選択可能
    としたことを特徴としたプリンタ制御装置。
  3. 【請求項3】 ホストコンピュータと、プリンタエンジ
    ンを直接VIDEOI/F等で接続し、イメージへの展
    開機能をホストコンピュータで行い、プリントサーバ機
    能を有するプリンタソフトにおいて、プリンタエンジン
    へ印刷中にプリンタエンジンの電源をOFFされた場
    合、印刷中の紙の文章をバックアップする機能と、スプ
    ールした文章データすべてを削除する機能と、スプール
    されている文章の先頭から再度印刷実行させる機能とを
    有し、プリンタエンジンが再度電源投入された時に、上
    記のどの状態から再スタートするかを選択可能としたこ
    とを特徴としたプリンタ制御装置。
  4. 【請求項4】 請求項3において、プリンタエンジンに
    実際に印刷としている紙サイズを検出する手段を有し、
    あるサイズのトレー情報により印刷開始されたが、実際
    には前記あるサイズ以外の紙が入っていたような場合、
    印刷を中断し、前記あるサイズの紙をトレーにいれるよ
    うな要求メッセージ表示し、文章の先頭から再度印刷可
    能としたことを特徴としたプリンタ制御装置。
JP8129175A 1996-04-24 1996-04-24 プリンタ制御装置 Pending JPH09292959A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8129175A JPH09292959A (ja) 1996-04-24 1996-04-24 プリンタ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8129175A JPH09292959A (ja) 1996-04-24 1996-04-24 プリンタ制御装置

Publications (1)

Publication Number Publication Date
JPH09292959A true JPH09292959A (ja) 1997-11-11

Family

ID=15003007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8129175A Pending JPH09292959A (ja) 1996-04-24 1996-04-24 プリンタ制御装置

Country Status (1)

Country Link
JP (1) JPH09292959A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006272904A (ja) * 2005-03-30 2006-10-12 Canon Inc 画像処理装置、制御方法、プログラム、ジョブ処理システム、ジョブ処理方法、及び記憶媒体
CN100381292C (zh) * 2004-07-09 2008-04-16 佳能株式会社 打印机、打印控制装置和控制方法
US7605935B2 (en) 2000-07-26 2009-10-20 Seiko Epson Corporation Printer, printer control method, program therefor, and recording medium storing the program
US7849471B2 (en) 2005-08-31 2010-12-07 Canon Kabushiki Kaisha Server apparatus, method for controlling the server apparatus, related control program, and storage medium storing the program
JP2017173928A (ja) * 2016-03-18 2017-09-28 株式会社リコー 情報処理装置、情報処理方法およびプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7605935B2 (en) 2000-07-26 2009-10-20 Seiko Epson Corporation Printer, printer control method, program therefor, and recording medium storing the program
CN100381292C (zh) * 2004-07-09 2008-04-16 佳能株式会社 打印机、打印控制装置和控制方法
JP2006272904A (ja) * 2005-03-30 2006-10-12 Canon Inc 画像処理装置、制御方法、プログラム、ジョブ処理システム、ジョブ処理方法、及び記憶媒体
US7849471B2 (en) 2005-08-31 2010-12-07 Canon Kabushiki Kaisha Server apparatus, method for controlling the server apparatus, related control program, and storage medium storing the program
JP2017173928A (ja) * 2016-03-18 2017-09-28 株式会社リコー 情報処理装置、情報処理方法およびプログラム

Similar Documents

Publication Publication Date Title
JP3448947B2 (ja) リモート印刷システムおよびそのリモート印刷方法
JP3405159B2 (ja) 印刷装置
US5720015A (en) Method and apparatus for providing remote printer resource management
US8176143B2 (en) Web service providing apparatus
EP1404112B1 (en) Image forming apparatus and print process method
US6914687B1 (en) Data processing apparatus and image recording apparatus, method for controlling data processing apparatus and method for controlling image recording apparatus, and storage medium
JP3774702B2 (ja) 印刷制御プログラム及び情報処理装置
US7362456B2 (en) Print job substitution in a copy job
JP3197717B2 (ja) ネットワークプリンタ装置及びlanネットワークシステム
JP3683542B2 (ja) 画像形成装置
JPH09292959A (ja) プリンタ制御装置
JP3639022B2 (ja) 複合画像形成装置
JP3683543B2 (ja) 画像形成装置
JPH08289068A (ja) 複合型デジタル複写機
JP3173721B2 (ja) プリンタ及びその動作方法
JP2000108464A (ja) 画像形成システムおよび画像形成システムの制御方法
JP2000151873A (ja) 情報処理システム及び情報処理方法
JP2003167705A (ja) 画像処理システム、情報処理装置、画像処理装置、画像出力制御方法、記憶媒体、及びプログラム
JPH11134236A (ja) 画像処理装置及びその制御方法
JP3864122B2 (ja) 画像処理システム
JP2007305143A (ja) 情報処理装置および情報処理方法
JP2006005963A (ja) 情報処理装置および情報処理方法
JP2003072208A (ja) 画像形成装置および障害情報通知方法
JP4636836B2 (ja) サーバ装置、印刷装置、データ保護処理方法、及びプログラム
JPH07152514A (ja) リモート印刷システム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040622