JP2005208894A - 周辺装置制御方法、制御プログラム及びその装置 - Google Patents

周辺装置制御方法、制御プログラム及びその装置 Download PDF

Info

Publication number
JP2005208894A
JP2005208894A JP2004014263A JP2004014263A JP2005208894A JP 2005208894 A JP2005208894 A JP 2005208894A JP 2004014263 A JP2004014263 A JP 2004014263A JP 2004014263 A JP2004014263 A JP 2004014263A JP 2005208894 A JP2005208894 A JP 2005208894A
Authority
JP
Japan
Prior art keywords
parameter
identifier
device driver
function expansion
managed
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
JP2004014263A
Other languages
English (en)
Other versions
JP2005208894A5 (ja
Inventor
Hiroshi Kato
央 加藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004014263A priority Critical patent/JP2005208894A/ja
Priority to US11/037,353 priority patent/US7600052B2/en
Publication of JP2005208894A publication Critical patent/JP2005208894A/ja
Publication of JP2005208894A5 publication Critical patent/JP2005208894A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 デバイスドライバの機能拡張をプラグイン形式によって実現した環境において、アプリケーションからの拡張機能の設定/変更をデバイスドライバのユーザインタフェースを開かずに実現する。
【解決手段】 デバイスドライバの1つであるプリンタドライバと、該プリンタドライバから設定できないパラメータを有する機能拡張モジュールとを使って、アプリケーションから印刷処理を実行する場合に、アプリケーションが、プリンタドライバが管理するパラメータと機能拡張モジュールが管理するパラメータとを含む容量のメモリ領域を確保しS501-S508、アプリケーションから、少なくとも、前記メモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値とを、プリンタドライバ又は機能拡張モジュールに渡してS509-S510、前記メモリ領域の前記識別子で特定されるパラメータに前記設定値を設定しS511-S514、前記メモリ領域のパラメータを使用して、プリンタドライバ及び機能拡張モジュールにより印刷処理を行う。
【選択図】 図6

Description

本発明は、デバイスドライバに拡張機能を提供するための周辺装置制御方法、制御プログラム及びその装置に関するものである。
従来、コンピュータ上で動作するアプリケーションプログラム(以下、アプリケーションと称す)が周辺装置の制御を行う場合、制御開始命令と共に、制御に必要な各種設定をデバイスドライバ等の周辺装置制御関連処理プログラムにパラメータとして引き渡すのが一般的な方法である。このように周辺装置制御に必要な各種設定をアプリケーションよりデバイスドライバにパラメータとして渡すことで、アプリケーションが意図した周辺装置の動作が得られるようになっている。例えば、コンピュータ上で動作するアプリケーションが印刷を実行する場合、印刷開始命令と共に、印刷に必要な各種設定をプリンタドライバ等の印刷関連処理プログラムにパラメータとして引き渡すことで、アプリケーションが意図した印刷出力を得られるようになっている(特許文献1参照)。
尚、以下の背景技術及び課題の説明では、技術内容や問題点をより明瞭に把握するため、本発明の一適応技術であるアプリケーションからの印刷処理について具体的に説明するが、その問題点や課題は、アプリケーションから周辺装置を制御する場合に共通のものであり、印刷処理に限定されるものではない。
上述のアプリケーションからの印刷処理では、アプリケーションが意図した印刷出力を得るために指定可能な設定値の種類の範囲は、どのプリンタでもサポートが可能と思われる用紙の給紙口の指定や両面/片面印刷の指定等の非常に限られた範囲のものであり、プリンタ又はプリンタドライバが提供していてもアプリケーションより直接指定のできないその他の有用な機能については、プリンタドライバのユーザインタフェースを開いてそこで指定をする必要があった。このため、企業の各種システムソフトウェアからの印刷出力に際して、プリンタドライバのユーザインタフェースを表示したがらないケースでは、プリンタ又はプリンタドライバの持つ機能が十分に利用できないという問題点があった。
そこで、昨今ではプリンタ又はプリンタドライバをフルに生かせるように、プリンタやプリンタドライバへの機種に依存する設定についても、アプリケーションから利用可能な特別なインタフェースを設けて、このインタフェースを利用した場合には、プリンタドライバのユーザインタフェースで設定する場合と同等な機能の設定が可能となるようなプリンタドライバが出現してきている。
特開2003−91389
しかしながら、このようなインタフェースを、プラグイン形式のプリンタドライバの機能拡張を実現している環境で使用すると、以下のような問題が出てくる。プラグイン形式のプリンタドライバの機能拡張とは、プリンタベンダーから配布されているプリンタドライバのインストールセットとは別に、差分モジュール、つまりプラグインのみを提供して機能追加を実現する方法である。このプラグイン形式で機能拡張した場合には、拡張された機能に対応した設定項目が存在するが、プリンタドライバにとってこの設定項目が未知となる構造となっている。アプリケーションからプラグイン形式で追加した機能の設定項目を上記の特別なインタフェースを用いて変更しようとした場合、プリンタドライバは不明な設定項目への設定/変更要求と認識し、サポートしてない旨の結果をアプリケーションに対して返す。
従って、アプリケーションからプラグイン機能を設定/変更するには、プリンタドライバがプラグインの機能を考慮する必要が生じている。すなわち、アプリケーションから周辺装置制御におけるプラグイン機能を設定/変更するには、周辺装置制御用のデバイスドライバがプラグインの機能を考慮する必要が生じていることになる。
本発明は、上記従来の問題点に鑑みてなされたもので、デバイスドライバの機能拡張をプラグイン形式によって実現した環境において、アプリケーションからの拡張機能の設定/変更を、デバイスドライバのユーザインタフェースを開かずに実現できることを目的としている。
上記目的を達成するために、本発明は次のような構成からなる。
すなわち、周辺装置制御用のコマンドを生成するデバイスドライバと、該デバイスドライバから設定できないパラメータを有する機能拡張モジュールとを使って、アプリケーションから周辺装置制御処理を実行する周辺装置制御方法であって、前記アプリケーションが、所定のインタフェースを用いて、前記デバイスドライバが管理するパラメータと前記機能拡張モジュールが管理するパラメータとを操作するステップと、前記操作するステップに応じて、前記デバイスドライバ又は機能拡張モジュールがパラメータを設定するステップと、前記パラメータを使用して、前記デバイスドライバ及び機能拡張モジュールにより周辺装置制御処理を行うステップとを有することを特徴とする。
ここで、前記所定のインタフェースとは、デバイスドライバ又はオペレーティングシステムが公開しているインタフェースである。また、前記アプリケーションが、前記デバイスドライバが管理するパラメータと前記機能拡張モジュールが管理するパラメータとを含む容量のメモリ領域を確保するステップをさらに備え、前記操作するステップは、前記アプリケーションから、少なくとも、前記メモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値とを、前記デバイスドライバ又は機能拡張モジュールに渡すステップと、前記デバイスドライバ又は機能拡張モジュールが、前記メモリ領域の前記識別子で特定されるパラメータに前記設定値を設定するステップとを実行することにより、前記機能拡張モジュールが管理するパラメータを操作する。また、前記渡すステップでは、少なくとも、前記メモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値を、前記所定のインタフェースの引数として、前記アプリケーションから前記デバイスドライバ又は機能拡張モジュールに渡す。また、前記設定値を設定するステップでは、前記識別子がデバイスドライバに管理されるパラメータの識別子か否かを判別し、前記識別子がデバイスドライバで管理しているパラメータの識別子ではないと判別された場合に、前記機能拡張モジュールで管理しているパラメータに対して前記設定値の設定を行う。また、前記識別子が、前記デバイスドライバで管理しているパラメータの識別子でなく、且つ前記機能拡張モジュールで管理しているパラメータの識別子でない場合に、アプリケーションに対して設定不可の通知をするステップを更に有する。また、前記周辺装置制御処理が終了した場合に、前記確保されたメモリ領域を解放するステップを更に有する。
又、周辺装置制御用のコマンドを生成するデバイスドライバと、該デバイスドライバから設定できないパラメータを有する機能拡張モジュールとを使った周辺装置制御処理を含むアプリケーションプログラムであって、前記デバイスドライバ及び機能拡張モジュールに、前記デバイスドライバが管理するパラメータと前記機能拡張モジュールが管理するパラメータとを含む容量を問い合わせて、該容量のメモリ領域を確保するステップと、少なくとも、前記メモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値とを、前記デバイスドライバ又は機能拡張モジュールに渡すステップと、前記識別子で特定されるパラメータに前記設定値を設定した前記メモリ領域のパラメータを使用して、前記デバイスドライバ及び機能拡張モジュールに周辺装置制御処理を行うよう指示するステップとを有することを特徴とする。ここで、前記周辺装置制御処理が終了した場合に、前記確保されたメモリ領域を解放するステップを更に有する。
又、アプリケーションの周辺装置制御処理に応答して周辺装置制御用のコマンドを生成するデバイスドライバプログラムであって、前記アプリケーションからの問い合わせに応答して、前記デバイスドライバプログラムが管理するパラメータと、前記デバイスドライバプログラムの機能拡張用の機能拡張モジュールが管理する前記デバイスドライバプログラムから設定できないパラメータとを含む容量を返すステップと、少なくとも、前記アプリケーションにより確保された前記容量のメモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値とを、前記アプリケーションから受け取るステップと、前記識別子が前記デバイスドライバプログラムに管理されるパラメータの識別子か否かを判別するステップと、前記識別子が前記デバイスドライバプログラムで管理しているパラメータの識別子であると判別された場合に、前記識別子で特定されるパラメータに前記設定値を設定し、前記識別子が前記デバイスドライバプログラムで管理しているパラメータの識別子ではないと判別された場合に、少なくとも、前記アプリケーションにより確保された前記容量のメモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値とを、前記機能拡張モジュールに渡すステップと、前記設定値を設定した前記メモリ領域のパラメータを使用して、周辺装置制御処理を行うステップとを有することを特徴とする。
又、アプリケーションの周辺装置制御処理に応答して周辺装置制御用のコマンドを生成するデバイスドライバの機能拡張用の機能拡張モジュールプログラムであって、前記デバイスドライバからの問い合わせに応答して、前記機能拡張モジュールプログラムが管理する前記デバイスドライバから設定できないパラメータの容量を返すステップと、少なくとも、前記アプリケーションにより確保された前記容量のメモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値とを、前記デバイスドライバから受け取るステップと、前記識別子が前記機能拡張モジュールプログラムに管理されるパラメータの識別子か否かを判別するステップと、前記識別子が前記機能拡張モジュールプログラムで管理しているパラメータの識別子であると判別された場合に、前記識別子で特定されるパラメータに前記設定値を設定し、前記識別子が前記機能拡張モジュールプログラムで管理しているパラメータの識別子ではないと判別された場合に、設定不可の通知を前記デバイスドライバに返すステップと、前記設定値を設定した前記メモリ領域のパラメータを使用して、周辺装置制御の機能拡張処理を行うステップとを有することを特徴とする。
上記各プログラムをコンピュータ読み出し可能に記憶する記憶媒体をも提供する。
又、周辺装置制御用のコマンドを生成するデバイスドライバと、該デバイスドライバから設定できないパラメータを有する機能拡張モジュールとを使って、アプリケーションから周辺装置制御処理を実行する周辺装置制御装置であって、前記アプリケーションが、所定のインタフェースを用いて、前記デバイスドライバが管理するパラメータと前記機能拡張モジュールが管理するパラメータとを操作する手段と、前記操作する手段の操作に応じて、前記デバイスドライバ又は機能拡張モジュールがパラメータを設定する手段と、前記パラメータを使用して、前記デバイスドライバ及び機能拡張モジュールにより周辺装置制御処理を行う手段とを有することを特徴とする。
ここで、前記所定のインタフェースとは、デバイスドライバ又はオペレーティングシステムが公開しているインタフェースである。また、前記アプリケーションが、前記デバイスドライバが管理するパラメータと前記機能拡張モジュールが管理するパラメータとを含む容量のメモリ領域を確保する手段をさらに備え、前記操作する手段は、前記アプリケーションから、少なくとも、前記メモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値とを、前記デバイスドライバ又は機能拡張モジュールに渡す手段と、前記デバイスドライバ又は機能拡張モジュールが、前記メモリ領域の前記識別子で特定されるパラメータに前記設定値を設定する手段とを有し、前記機能拡張モジュールが管理するパラメータを操作する。また、前記渡す手段は、少なくとも、前記メモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値を、前記所定のインタフェースの引数として、前記アプリケーションから前記デバイスドライバ又は機能拡張モジュールに渡す。また、前記設定値を設定する手段は、前記識別子がデバイスドライバに管理されるパラメータの識別子か否かを判別し、前記識別子がデバイスドライバで管理しているパラメータの識別子ではないと判別された場合に、前記機能拡張モジュールで管理しているパラメータに対して前記設定値の設定を行う。また、前記識別子が、前記デバイスドライバで管理しているパラメータの識別子でなく、且つ前記機能拡張モジュールで管理しているパラメータの識別子でない場合に、アプリケーションに対して設定不可の通知をする手段を更に有する。また、前記周辺装置制御処理が終了した場合に、前記確保されたメモリ領域を解放する手段を更に有する。
以上説明したように、本発明によれば、デバイスドライバに新しい機能をプラグイン形式で追加した場合にも、新しい機能の設定値をアプリケーションからデバイスドライバのユーザインタフェースを開くことなく変更できるという効果がある。
以下、本発明を適用するのに好適である実施形態について説明を行う。尚、背景技術の説明でも指摘したが、本発明の適用例として、以下の実施形態ではアプリケーションからプリンタドライバを介して印刷処理を行う例を説明するが、この技術はアプリケーションから周辺装置制御用のデバイスドライバを介して周辺装置の制御処理を行う場合に共通に適用可能であり、この技術も本発明に含まれる。すなわち、実施形態中のプリンタは周辺装置に、プリンタドライバはデバイスドライバに、グラフィックスドライバは他の周辺装置の機能実現用ドライバに読み替えられる。例えば、周辺装置がディスプレイであれば、デバイスドライバはディスプレイドライバであり、周辺装置がスキャナであれば、デバイスドライバはスキャナドライバであり、例えばプラグインモジュールは両面スキャンや領域分割などの拡張機能、などの対応が出来る。
<本実施形態の印刷処理システムの構成例>
図1は、本実施形態の印刷処理システムの構成を説明するブロック図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続が為され処理が行われるシステムであっても、本発明を適用できることは言うまでもない。
(ホストコンピュータの構成例)
図1において、300はホストコンピュータであり、ホストコンピュータ300はコンピュータ制御部本体200を含む。
ホストコンピュータ300は、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて、図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU1を備え、システムバス4に接続される各デバイスをCPU1が総括的に制御する。また、このROM3のプログラム用ROMあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等を記憶し、ROM3のフォント用ROMあるいは外部メモリ11には、上記文書処理の際に使用するフォントデータ等を記憶し、ROM3のデータ用ROMあるいは外部メモリ11には、上記文書処理等を行う際に使用する各種データを記憶する。2はRAMで、CPU1の主メモリ、ワークエリア等として機能する。
5はキーボードコントローラ(KBC)で、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。6はCRTコントローラ(CRTC)で、CRTディスプレイ(CRT)10の表示を制御する。7はディスクコントローラ(DKC)で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、デバイスドライバの一例であるプリンタ制御コマンド生成プログラム(プリンタドライバ)等を記憶するハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等の外部メモリ11とのアクセスを制御する。8はプリンタコントローラ(PRTC)で、所定の双方向性インタフェース21を介してデジタルカメラ、プリンタ、ファクシミリ、及びこれらの複合機などの各種画像形成装置を含む周辺装置の一例であるプリンタ150に接続されて、プリンタ150との通信制御処理を実行する。
なお、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。また、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
(プリンタの構成例)
図1において、150はプリンタであり、プリンタ制御部本体100を含む。
プリンタ150において、12はプリンタCPUで、ROM13のプログラム用ROMに記憶された制御プログラム等あるいは外部メモリ14に記憶された制御プログラム等に基づいて、システムバス15に接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、このROM13のプログラムROMには、CPU12の制御プログラム等を記憶する。ROM13のフォント用ROMには、上記出力情報を生成する際に使用するフォントデータ等を記憶し、ROM13のデータ用ROMには、ハードディスク等の外部メモリ14がないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。
CPU12は、入力部18を介してホストコンピュータ300との通信処理が可能となっており、プリンタ150内の情報等をホストコンピュータ300に通知可能に構成されている。19はCPU12の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の外部メモリ14は、メモリコントローラ(MC)20によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、18は前述した操作パネルで操作のためのスイッチおよびLED表示器等が配されている。また、前述した外部メモリは1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないNVRAMを有し、操作パネル22からのプリンタモード設定情報を記憶するようにしてもよい。
(本実施形態のプリンタドライバの拡張システム例)
本実施形態におけるプリンタドライバの拡張システムは、図3に示すようにプリンタドライバにプラグインモジュールを追加する構成になっている。プラグインモジュールは、図3に示すとおり、UI(ユーザインタフェース)ドライバ303の拡張機能を有するUIプラグイン304と、グラフィックスドライバ305の拡張機能を有するグラフィックスプラグイン306からなる。図3を用いてそれぞれのプラグインモジュールについて説明する。
UIプラグイン304は、ドライバのUIに新たなシートを加える場合や、UIドライバ303で処理している、インストール時の処理などのUIドライバ303に実装されている様々なイベント処理をカスタマイズする場合に用いる。UIドライバ303は、システムに対してエクスポートしているDDI(Device Driver Interface)がコールされた際に、UIプラグイン304が公開しているインタフェースを取得する。UIドライバ303が取得したUIプラグイン304のインタフェースを用いて、UIプラグイン304と通信することで、UIドライバ303に実装されたカスタマイズ処理が実行される。
一方、グラフィックスプラグイン306は、GDI(Graphics Device Interface)とグラフィックスドライバ305とのインタフェースであるDDIの処理を横取り、又は特定のタイミングで処理を追加する場合や、印刷データのスプール処理を横取りする場合に用いる。グラフィックスドライバ305がエクスポートしているDDIは、ジョブを生成するためにGDIから適宜コールされるが、その初期化のタイミングで、グラフィックスドライバ305は、グラフィックスプラグイン306が公開しているインタフェースを取得し、RAM2に保持する。ここで取得したインタフェースを用いて、DDIがコールされるタイミングにそのDDIに対応したグラフィックスプラグイン306の処理を呼び出す。呼び出されたグラフィックスプラグイン306は、プラグイン内に実装された処理を実行し、処理を再びグラフィックスドライバ305に返す。ここで、グラフィックスプラグイン305が処理を横取りしている場合、DDIはそこで処理を終了し、追加処理を実装している場合には、そのまま後続する処理を続ける。グラフィックスプラグイン306がグラフィックスドライバ305の印刷データのスプール処理を横取りする場合は、グラフィックスドライバ305内の印刷データをスプールする直前にグラフィックスプラグイン306のインタフェースをコールする。コールされたグラフィックスプラグイン306は、スプールされるデータを取得し、特定の処理を実行した後、再度グラフィックスドライバ305のスプール処理関数をコールすることで、グラフィックスドライバ305に特定の処理を施したデータを渡す。データを受け取ったグラフィックスドライバ305は、実際にシステムスプーラ307にスプールする処理を実行する。
このようにプラグインモジュールに拡張機能を実装することで、プリンタドライバの拡張システムを実現している。
(本実施形態の印刷処理時のメモリマップ)
図2は、本実施形態の印刷処理時のRAM2のメモリマップである。このメモリマップは、本実施形態でのアプリケーションによる設定処理が実行される時点の状態を示している。
図2の左図で、201は印刷処理を含むアプリケーションの領域、202は空き領域、203は印刷処理に使用される印刷処理関連データの領域、204はプリンタドライバとプラグインモジュールを含む印刷処理関連プログラム領域、205はOS領域、206はBIOSの領域である。なお、図2では各領域をまとまった領域として示しているが、OSやBIOS等の常駐プログラム以外は通常RAM2の領域確保/解放制御により任意のアドレスに分散している。
図2の右図は、印刷処理関連データ203及び印刷処理関連プログラム204の一構成例を示している。プリンタドライバのプログラム204aと関連データ203b、プラグインモジュールのプログラム204b,204cと関連データ203b,203c、プラグインモジュールのインタフェース204d、パブリックパラメータ203dが、本実施形態のアプリケーションによる設定処理前に準備されている。
<本実施形態の印刷処理システムの動作手順例>
上記構成における、本実施形態の印刷処理システムの動作手順例を示す。
図5は、アプリケーションの印刷処理の手順の一例を示すフローチャートである。
(印刷処理の初期化例:ステップS51)
アプリケーションで印刷処理を指示すると、ステップS51で印刷処理の初期化を要求する。この要求はOS205の管理下でプリンタドライバにより実行される。
本実施形態に示す印刷処理関連プログラム(プリンタドライバを含む)204による印刷処理は、OS205管理の下で動作するアプリケーション201よりプリンタドライバの備える初期化処理が呼び出されると、OS205の管理の下、RAM2に印刷処理関連プログラム204がロードされる。印刷処理関連プログラム204がRAM2にロードされると、プリンタドライバの管理部に備えられたプリンタドライバの初期化処理部が呼び出され、初期化処理が行われる。
図4は、プリンタドライバ204に追加機能のプラグインモジュール403がインストールされている状態の各モジュール間の構成を示す図である。
402はプリンタドライバであり、内部構造体401は、プリンタドライバ402で設定可能な設定項目に対応する変数であるメンバなどを格納したものである。プラグインモジュール403はプリンタドライバ402に追加された機能が実装されたモジュールである。図4のようにプラグインモジュール403がインストールされている場合には、プリンタドライバ402は初期化処理の際に、外部メモリ1に格納されているプラグインモジュール403をRAM2にロードし、プリンタドライバ402はプラグインモジュール403のインタフェースを取得する。プリンタドライバ402は、ここで取得したインタフェースを用いて、プラグインモジュール403と通信することが可能となる。
前記図2のメモリマップは、この時点の状態である。
(パラメータの設定処理例:ステップS52-S55)
アプリケーションは、ステップS52-S55で、印刷処理に係る所望のパラメータの設定/変更を行う。この場合、メモリの空き領域202に該アプリケーション独自の内部構造体を構築して、この独自の内部構造体上で所望のパラメータの設定/変更を行う。プリンタドライバ及びプラグインモジュールは、このアプリケーション独自の内部構造体のパラメータを使って、アプリケーション独自の印刷処理を実現する。
まず、ステップS52で、プリンタドライバ及びプラグインモジュールのパラメータ量をそれぞれから得て、内部構造体のサイズを取得する。次にステップS53で、取得したサイズの領域を空き領域202に確保する。この時に確保された内部構造体の構成は図7のようになっており、この構造は以下で詳細に説明する。ステップS54及びS55で、プリンタドライバの設定変更処理関数の引数として、内部構造体の各パラメータの名あるいはID、設定情報、アドレスをアプリケーションからプリンタドライバ又はプラグインモジュールに渡すことによって、パラメータの設定/変更を、設定が完了するまで繰り返す。
(パラメータの設定処理の詳細手順例)
図6は、プリンタドライバ402からエクスポートされている図8に示す設定変更処理関数を用いて、図4に示すアプリケーション404からプリンタドライバ402の設定値、すなわち図4の内部構造体401を設定/変更する際のフローチャートを示したものである。なお、図6では、図5のステップS54及びS55における繰り返しについては、煩雑さをさけるため省いている。
まず、アプリケーション404はプリンタドライバの内部構造体401を格納するためのメモリ領域のサイズをプリンタドライバ402に問い合わせる(ステップS501)。プリンタドライバ402は、プラグインモジュール403に対して、プラグインモジュールのインタフェースを介して、プラグインモジュール403に必要な内部構造体のデータ領域のサイズを問い合わせる(ステップS502)。プラグインモジュール403は、必要な内部構造体401の領域サイズを計算し(ステップS503)、計算された領域のサイズをプリンタドライバ402に返す(ステップS504)。プリンタドライバ402はプラグインモジュール403に必要な内部構造体401のサイズを取得した(ステップS505)後、プリンタドライバ402に必要な内部構造体401のサイズに前記ステップS505で取得したプラグインモジュール403のサイズを加えたデータサイズを、アプリケーション404に返す(ステップS506)。
アプリケーション404は、プリンタドライバ402から返された値を受け取り(ステップS507)、取得したサイズ分のメモリ領域を空き領域202上に確保する(ステップS508)。
この時の内部構造体は、図7のような構成になっている。
図7の領域601は、アプリケーション404からも直接参照可能なPublic領域で、領域602は、プリンタドライバ402から参照可能なDriver Private 領域で、領域603は、プラグインモジュール403から参照可能なPlugin Private 領域となっている。プリンタドライバ402はPlugin Private 領域603の内部構造の情報を持たないため、Plugin Private 領域603の内容を直接参照又は変更を行うことができない。図7の各領域は、Public領域601が図2のパブリックパラメータ203dに、Driver Private 領域602がプリンタドライバの定義済みのメンバ203aに、Plugin Private 領域603がプラグインの独自データ203b,203cに対応するが、図7の内部構造体は各アプリケーション独自に空き領域202に確保されたものであり、各アプリケーション独自の設定が可能である。各アプリケーションの印刷処理は空き領域202に確保されたこの内部構造体に基づいて実行される。
前記ステップS508で確保したメモリ領域のアドレスと設定するパラメータID、設定内容を、図8に一例を示す設定変更処理関数に渡して、設定/変更処理を実行する(ステップS509)。
この図8の設定変更処理関数で用いられている引数の中で、特に設定変更処理に関わるパラメータは、pDevModeInOutputとpItemParam, dwItemIDである。それぞれのパラメータには以下のような情報がセットされる。
dwItemID:変更を行いたいのはプリンタドライバ内部構造体のどのメンバなのかを指定する(パラメータID)。
pItemParam:dwItemIDで示したメンバのパラメータを指定する(設定内容)。
pDevModeInOutput:プリンタドライバ内部構造体へのポインタを指定する(内部構造体の先頭アドレス、又はDriver Private 領域603の先頭アドレス)。
例えば、アプリケーションからの設定変更要求がPrint Styleを1-Sided PrintingからBooklet Printingに変更するものであった場合を例にとると、上記の各々のパラメータには、
dwItemID=DM_ITEM_LAYOUT
pItemParam =DM_PARAM_BOOKLET
pDevModeInOutput=pDevMode
がセットされた上で、DocumentPropertiesEx( )が呼び出される。
プリンタドライバ402内でエクスポートしている設定変更処理関数が呼び出されると(ステップS510)、プリンタドライバ402は、設定変更処理関数によって渡されてくる、内部構造体のどのメンバの変更をするのかを表す "deItemID" の値を評価し、その値がプリンタドライバ402で定義されているIDであるかどうかを判定する(ステップS511)。"dwItemID" がプリンタドライバ402内で定義されていると判断されると、プリンタドライバがアプリケーションから渡された内部構造体へのポインタからパラメータのアドレスを特定して設定変更処理を実行し(ステップS514)、アプリケーション401に対して、処理結果を通知する(ステップS515)。なお、パラメータのアドレスは、内部構造体600の先頭アドレスが与えられた場合は、Public領域601の容量を加えてDriver Private 領域602の先頭アドレスを算出する。
前記ステップS511で、"dwItemID" プリンタドライバ402内で定義されていないと判断されるとプラグインモジュール403からエクスポートされているインタフェースをコールする。この際、設定変更処理関数から渡されてきたパラメータを渡す。この時に、例えば、プリンタドライバ402で定義されているメンバを保持するためのDriver Private 領域602の容量を渡せば、プラグインモジュール403はPlugin Private 領域603の先頭アドレスを知ることができる。
コールされたプラグインモジュール403内では、"dwItemID" の値を評価して、その値がプラグインモジュール403内で定義されているIDであるかどうかを判定する(ステップS512)。そこでプラグインモジュール403内で定義されている独自データであると判断されれば、その独自データのアドレスを特定して変更処理を実行し、処理結果をプリンタドライバ402に返す(ステップS513)。このプラグインモジュール403の独自データへの変更は、図6のPlugin Private 領域603内のデータに適用されることになる。
一方、前記ステップS512において、プラグインモジュール403内で定義されていないと判断された場合には、サポートしていない旨の通知をプリンタドライバ402に返す。
以上のステップS509からS515の一連の処理は、アプリケーションによってプリンタドライバの管理部に備えられた終了処理が呼び出されるまで、繰り返し実行される。
以上の処理によって、アプリケーションからプラグインモジュールの設定値の変更をプリンタドライバのUIを開くことなく実行することができる。
(プリント処理S56及びS57)
アプリケーションによるパラメータの設定/変更処理が終了すると、ステップS56及びS57でプリント処理が開始される。このプリント処理で、プリンタドライバ及びプラグインモジュールがそれぞれ使用するパラメータは、空き領域202に確保されたアプリケーション独自の内部構造体であり、アプリケーション独自のプリント処理が実現される。
(終了処理例:S58)
アプリケーション401よりプリント終了のためにプリンタドライバ402の終了処理が呼び出されると、空メモリ202に確保したメモリ領域を解放する(ステップS58)などの終了処理が実行される(図9のステップS801)。これにより処理は全て終了し、本実施形態におけるアプリケーションからの印刷処理関連プログラムによる印刷処理も終了し、RAM2からはOS405の機能により印刷処理関連データ及びプログラムが消去される。
なお、本実施形態においては、印刷処理関連プログラムを記憶する媒体を外部メモリとしているが、外部メモリとしては、FD、HDドライブ、CD-ROMやICメモリカード等であってもよい。更に、本印刷プログラム単独、もしくはOSその他のホストコンピュータ上で動作するプログラムと共にROM3に記録しておき、これをメモリマップの一部となすように構成し、直接CPU1で実行することも可能である。
本実施形態の始めにも指摘したが、本発明の適用例として、上記実施形態ではアプリケーションからプリンタドライバを介して印刷処理を行う例を説明したが、この技術はアプリケーションから周辺装置制御用のデバイスドライバを介して周辺装置の制御処理を行う場合に主要な変更なしに共通に適用可能であり、本実施形態と同等の効果を奏するものである。従って、これらの範囲の技術も本発明に含まれるものである。すなわち、上記実施形態中のプリンタは周辺装置に、プリンタドライバはデバイスドライバに、グラフィックスドライバは他の周辺装置の機能実現用ドライバに読み替えられる。例えば、周辺装置がディスプレイであれば、デバイスドライバはディスプレイドライバであり、周辺装置がスキャナであれば、デバイスドライバはスキャナドライバである、などの対応が出来ることは明らかである。
更に、一般に、ドライバプログラムとは、アプリケーションの指示を、コンピュータ本体の外部にある装置(他のコンピュータでもよい)を制御するためのコマンドに変換するプログラムであるが、本発明は、ドライバとの名称に関りなく、また制御の対象が所謂入出力装置であるとの制限もなく、アプリケーションが走っているコンピュータから外部装置を制御するプログラムに適用が可能である。従って、本明細書の周辺装置あるいはデバイスとの文言も、アプリケーションが走っているコンピュータから見た外部装置全般を含む概念であり、これも本発明に含まれる。
本実施形態の印刷処理システムの構成例を説明するブロック図である。 本実施形態の印刷関連処理関連プログラムがホストコンピュータ300のRAM2上にロードされ、実行可能となった状態のメモリマップを示す図である。 本実施形態のプリンタドライバ拡張システムの例を示す図である。 本実施形態の印刷処理システムの各モジュール間の関連例を示す図である。 本実施形態のアプリケーションの印刷処理の手順例を示すフローチャートである。 本実施形態の設定変更処理関数からの設定変更処理の手順例を示すフローチャートである。 本実施形態の内部構造体の構成例を示す図である。 本実施形態の設定変更関数の一例を示した図である。 本実施形態の終了処理例を示すフローチャートである。

Claims (19)

  1. 周辺装置制御用のコマンドを生成するデバイスドライバと、該デバイスドライバから設定できないパラメータを有する機能拡張モジュールとを使って、アプリケーションから周辺装置制御処理を実行する周辺装置制御方法であって、
    前記アプリケーションが、所定のインタフェースを用いて、前記デバイスドライバが管理するパラメータと前記機能拡張モジュールが管理するパラメータとを操作するステップと、
    前記操作するステップに応じて、前記デバイスドライバ又は機能拡張モジュールがパラメータを設定するステップと、
    前記パラメータを使用して、前記デバイスドライバ及び機能拡張モジュールにより周辺装置制御処理を行うステップとを有することを特徴とする周辺装置制御方法。
  2. 前記所定のインタフェースとは、デバイスドライバ又はオペレーティングシステムが公開しているインタフェースであることを特徴とする請求項1記載の周辺装置制御方法。
  3. 前記アプリケーションが、前記デバイスドライバが管理するパラメータと前記機能拡張モジュールが管理するパラメータとを含む容量のメモリ領域を確保するステップをさらに備え、
    前記操作するステップは、
    前記アプリケーションから、少なくとも、前記メモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値とを、前記デバイスドライバ又は機能拡張モジュールに渡すステップと、
    前記デバイスドライバ又は機能拡張モジュールが、前記メモリ領域の前記識別子で特定されるパラメータに前記設定値を設定するステップとを実行することにより、
    前記機能拡張モジュールが管理するパラメータを操作することを特徴とする請求項1又は2に記載の周辺装置制御方法。
  4. 前記渡すステップでは、少なくとも、前記メモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値を、前記所定のインタフェースの引数として、前記アプリケーションから前記デバイスドライバ又は機能拡張モジュールに渡すことを特徴とする請求項3記載の周辺装置制御方法。
  5. 前記設定値を設定するステップでは、前記識別子がデバイスドライバに管理されるパラメータの識別子か否かを判別し、前記識別子がデバイスドライバで管理しているパラメータの識別子ではないと判別された場合に、前記機能拡張モジュールで管理しているパラメータに対して前記設定値の設定を行うことを特徴とする請求項3又は4記載の周辺装置制御方法。
  6. 前記識別子が、前記デバイスドライバで管理しているパラメータの識別子でなく、且つ前記機能拡張モジュールで管理しているパラメータの識別子でない場合に、アプリケーションに対して設定不可の通知をするステップを更に有することを特徴とする請求項3乃至5のいずれか1つに記載の周辺装置制御方法。
  7. 前記周辺装置制御処理が終了した場合に、前記確保されたメモリ領域を解放するステップを更に有することを特徴とする請求項3乃至6のいずれかに記載の周辺装置制御方法。
  8. 周辺装置制御用のコマンドを生成するデバイスドライバと、該デバイスドライバから設定できないパラメータを有する機能拡張モジュールとを使った周辺装置制御処理を含むアプリケーションプログラムであって、
    前記デバイスドライバ及び機能拡張モジュールに、前記デバイスドライバが管理するパラメータと前記機能拡張モジュールが管理するパラメータとを含む容量を問い合わせて、該容量のメモリ領域を確保するステップと、
    少なくとも、前記メモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値とを、前記デバイスドライバ又は機能拡張モジュールに渡すステップと、
    前記識別子で特定されるパラメータに前記設定値を設定した前記メモリ領域のパラメータを使用して、前記デバイスドライバ及び機能拡張モジュールに周辺装置制御処理を行うよう指示するステップとを有することを特徴とするアプリケーションプログラム。
  9. 前記周辺装置制御処理が終了した場合に、前記確保されたメモリ領域を解放するステップを更に有することを特徴とする請求項8記載のアプリケーションプログラム。
  10. アプリケーションの周辺装置制御処理に応答して周辺装置制御用のコマンドを生成するデバイスドライバプログラムであって、
    前記アプリケーションからの問い合わせに応答して、前記デバイスドライバプログラムが管理するパラメータと、前記デバイスドライバプログラムの機能拡張用の機能拡張モジュールが管理する前記デバイスドライバプログラムから設定できないパラメータとを含む容量を返すステップと、
    少なくとも、前記アプリケーションにより確保された前記容量のメモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値とを、前記アプリケーションから受け取るステップと、
    前記識別子が前記デバイスドライバプログラムに管理されるパラメータの識別子か否かを判別するステップと、
    前記識別子が前記デバイスドライバプログラムで管理しているパラメータの識別子であると判別された場合に、前記識別子で特定されるパラメータに前記設定値を設定し、前記識別子が前記デバイスドライバプログラムで管理しているパラメータの識別子ではないと判別された場合に、少なくとも、前記アプリケーションにより確保された前記容量のメモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値とを、前記機能拡張モジュールに渡すステップと、
    前記設定値を設定した前記メモリ領域のパラメータを使用して、周辺装置制御処理を行うステップとを有することを特徴とするデバイスドライバプログラム。
  11. アプリケーションの周辺装置制御処理に応答して周辺装置制御用のコマンドを生成するデバイスドライバの機能拡張用の機能拡張モジュールプログラムであって、
    前記デバイスドライバからの問い合わせに応答して、前記機能拡張モジュールプログラムが管理する前記デバイスドライバから設定できないパラメータの容量を返すステップと、
    少なくとも、前記アプリケーションにより確保された前記容量のメモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値とを、前記デバイスドライバから受け取るステップと、
    前記識別子が前記機能拡張モジュールプログラムに管理されるパラメータの識別子か否かを判別するステップと、
    前記識別子が前記機能拡張モジュールプログラムで管理しているパラメータの識別子であると判別された場合に、前記識別子で特定されるパラメータに前記設定値を設定し、前記識別子が前記機能拡張モジュールプログラムで管理しているパラメータの識別子ではないと判別された場合に、設定不可の通知を前記デバイスドライバに返すステップと、
    前記設定値を設定した前記メモリ領域のパラメータを使用して、周辺装置制御の機能拡張処理を行うステップとを有することを特徴とする機能拡張モジュールプログラム。
  12. 請求項8乃至11のいずれか1つに記載のプログラムをコンピュータ読み出し可能に記憶する記憶媒体。
  13. 周辺装置制御用のコマンドを生成するデバイスドライバと、該デバイスドライバから設定できないパラメータを有する機能拡張モジュールとを使って、アプリケーションから周辺装置制御処理を実行する周辺装置制御装置であって、
    前記アプリケーションが、所定のインタフェースを用いて、前記デバイスドライバが管理するパラメータと前記機能拡張モジュールが管理するパラメータとを操作する手段と、
    前記操作する手段の操作に応じて、前記デバイスドライバ又は機能拡張モジュールがパラメータを設定する手段と、
    前記パラメータを使用して、前記デバイスドライバ及び機能拡張モジュールにより周辺装置制御処理を行う手段とを有することを特徴とする周辺装置制御装置。
  14. 前記所定のインタフェースとは、デバイスドライバ又はオペレーティングシステムが公開しているインタフェースであることを特徴とする請求項13記載の周辺装置制御装置。
  15. 前記アプリケーションが、前記デバイスドライバが管理するパラメータと前記機能拡張モジュールが管理するパラメータとを含む容量のメモリ領域を確保する手段をさらに備え、
    前記操作する手段は、
    前記アプリケーションから、少なくとも、前記メモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値とを、前記デバイスドライバ又は機能拡張モジュールに渡す手段と、
    前記デバイスドライバ又は機能拡張モジュールが、前記メモリ領域の前記識別子で特定されるパラメータに前記設定値を設定する手段とを有し、
    前記機能拡張モジュールが管理するパラメータを操作することを特徴とする請求項13又は14に記載の周辺装置制御装置。
  16. 前記渡す手段は、少なくとも、前記メモリ領域の位置と、パラメータを特定する識別子と、該パラメータの設定値を、前記所定のインタフェースの引数として、前記アプリケーションから前記デバイスドライバ又は機能拡張モジュールに渡すことを特徴とする請求項15記載の周辺装置制御装置。
  17. 前記設定値を設定する手段は、前記識別子がデバイスドライバに管理されるパラメータの識別子か否かを判別し、前記識別子がデバイスドライバで管理しているパラメータの識別子ではないと判別された場合に、前記機能拡張モジュールで管理しているパラメータに対して前記設定値の設定を行うことを特徴とする請求項15又は16記載の周辺装置制御装置。
  18. 前記識別子が、前記デバイスドライバで管理しているパラメータの識別子でなく、且つ前記機能拡張モジュールで管理しているパラメータの識別子でない場合に、アプリケーションに対して設定不可の通知をする手段を更に有することを特徴とする請求項15乃至17のいずれか1つに記載の周辺装置制御装置。
  19. 前記周辺装置制御処理が終了した場合に、前記確保されたメモリ領域を解放する手段を更に有することを特徴とする請求項15乃至18のいずれかに記載の周辺装置制御装置。
JP2004014263A 2004-01-22 2004-01-22 周辺装置制御方法、制御プログラム及びその装置 Pending JP2005208894A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004014263A JP2005208894A (ja) 2004-01-22 2004-01-22 周辺装置制御方法、制御プログラム及びその装置
US11/037,353 US7600052B2 (en) 2004-01-22 2005-01-19 Peripheral device control method, control program, and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004014263A JP2005208894A (ja) 2004-01-22 2004-01-22 周辺装置制御方法、制御プログラム及びその装置

Publications (2)

Publication Number Publication Date
JP2005208894A true JP2005208894A (ja) 2005-08-04
JP2005208894A5 JP2005208894A5 (ja) 2007-03-08

Family

ID=34792393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004014263A Pending JP2005208894A (ja) 2004-01-22 2004-01-22 周辺装置制御方法、制御プログラム及びその装置

Country Status (2)

Country Link
US (1) US7600052B2 (ja)
JP (1) JP2005208894A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251517A (ja) * 2006-03-15 2007-09-27 Ricoh Co Ltd 画像形成装置、画像形成方法、その方法をコンピュータに実行させるプログラム
JP2008282117A (ja) * 2007-05-09 2008-11-20 Kyocera Mita Corp デバイスドライバ、及び情報処理装置
JP2009065372A (ja) * 2007-09-05 2009-03-26 Ricoh Co Ltd 画像形成装置、情報処理方法及び情報処理プログラム
JP2009223878A (ja) * 2008-02-18 2009-10-01 Ricoh Co Ltd 情報処理装置、情報処理方法、及び機能拡張プログラム
JP2011180929A (ja) * 2010-03-02 2011-09-15 Ricoh Co Ltd プリンタドライバ、インストーラ、情報処理方法および情報処理装置
JP2012181823A (ja) * 2011-02-09 2012-09-20 Ricoh Co Ltd 情報処理装置及びプログラム
JP2015079283A (ja) * 2013-10-15 2015-04-23 コニカミノルタ株式会社 デバイスドライバ、情報処理装置および出力設定変換方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217331A (ja) * 2008-03-07 2009-09-24 Canon Inc 情報処理装置、情報処理装置の制御方法、プログラム、及び、記録媒体
JP5713641B2 (ja) * 2010-11-16 2015-05-07 キヤノン株式会社 印刷中継システム、および印刷中継システムの制御方法、およびプログラム
CN102902638B (zh) * 2011-07-26 2015-04-22 北大方正集团有限公司 硬件设备控制方法及装置
US9159160B1 (en) 2011-10-30 2015-10-13 Lockheed Martin Corporation Texture sharing between application modules
CN103176915B (zh) * 2013-03-28 2016-06-22 华为技术有限公司 一种管理内存的方法及装置
JP6488687B2 (ja) * 2014-04-10 2019-03-27 富士通株式会社 機能拡張方法、機能拡張プログラム、及び端末装置
EP3249530A4 (en) * 2015-01-22 2018-01-24 Fujitsu Limited Application function expansion method, application function expansion program, and application function expansion device
EP3330913B1 (en) * 2016-11-30 2021-05-05 Wincor Nixdorf International GmbH Method and device for controlling the access to and configuration of point of sale peripherals
CN109254762B (zh) * 2018-08-23 2022-12-20 深圳市默贝克驱动技术有限公司 一种开放式驱动器软件平台
US11989987B2 (en) * 2021-08-31 2024-05-21 Bauer Products, Inc. Lock and method for operating same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7106465B1 (en) * 2000-11-01 2006-09-12 Hewlett-Packard Development Company, L.P. Method and apparatus for providing print job status
US7284246B2 (en) * 2002-04-23 2007-10-16 Canon Kabushiki Kaisha Extensible device driver
US7869068B2 (en) * 2003-06-27 2011-01-11 Zoran Corporation Printer driver extension and related method
US20050157321A1 (en) * 2004-01-20 2005-07-21 Alacar Arthur E. Printer driver plug-in module management system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251517A (ja) * 2006-03-15 2007-09-27 Ricoh Co Ltd 画像形成装置、画像形成方法、その方法をコンピュータに実行させるプログラム
JP2008282117A (ja) * 2007-05-09 2008-11-20 Kyocera Mita Corp デバイスドライバ、及び情報処理装置
JP2009065372A (ja) * 2007-09-05 2009-03-26 Ricoh Co Ltd 画像形成装置、情報処理方法及び情報処理プログラム
JP2009223878A (ja) * 2008-02-18 2009-10-01 Ricoh Co Ltd 情報処理装置、情報処理方法、及び機能拡張プログラム
JP2011180929A (ja) * 2010-03-02 2011-09-15 Ricoh Co Ltd プリンタドライバ、インストーラ、情報処理方法および情報処理装置
JP2012181823A (ja) * 2011-02-09 2012-09-20 Ricoh Co Ltd 情報処理装置及びプログラム
JP2015079283A (ja) * 2013-10-15 2015-04-23 コニカミノルタ株式会社 デバイスドライバ、情報処理装置および出力設定変換方法

Also Published As

Publication number Publication date
US7600052B2 (en) 2009-10-06
US20050165979A1 (en) 2005-07-28

Similar Documents

Publication Publication Date Title
US7600052B2 (en) Peripheral device control method, control program, and apparatus therefor
US20230115514A1 (en) Print processing system and control method
US7907313B2 (en) Management of multiple printer drivers
JP4651112B2 (ja) 情報処理装置及びその制御方法とプログラム
WO2020004159A1 (ja) 情報処理装置、制御方法及びプログラム
JP5704834B2 (ja) 情報処理装置および制御方法およびプログラム
JP2000190573A (ja) 印刷制御方法および印刷システム
US8693013B2 (en) Printing control for transmitting print data and print setting data to a printing apparatus
JP5527992B2 (ja) 印刷制御方法、印刷制御装置、及びコンピュータプログラム
JP4438064B2 (ja) データ処理装置および印刷設定処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
US8792107B2 (en) Information processing apparatus, method for uninstalling printer driver, and recording medium
JP2024097847A (ja) プログラム、情報処理装置、及び情報処理装置の制御方法
US20130201522A1 (en) Network printer management system, network printer management apparatus, and method for controlling the same
JP2009301312A (ja) プリンタドライバ
JP2006228128A (ja) 情報処理装置、通信機器制御装置およびプログラム
US20040263892A1 (en) Information processisng apparatus, information processing method, and control program
JP2008139912A (ja) 情報処理装置、画像形成装置及びそれらの制御方法、コンピュータプログラム
JP7350525B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP4054544B2 (ja) 情報処理装置、情報処理方法、印刷制御プログラム、印刷処理装置、印刷処理方法及び印刷処理プログラム
JP6007015B2 (ja) 画像形成装置及び画像形成プログラム
JP2011100196A (ja) 印刷制御方法
US8773711B2 (en) Data processing apparatus, data processing method, and storage medium for controlling display setting screen based on selected printer driver
JP2006178873A (ja) 印刷制御装置および印刷制御方法およびプログラム
JP2020071693A (ja) 情報処理装置、及びその制御方法並びにプログラム
JP2004094794A (ja) 情報処理装置および方法、ならびにプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100316

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100412