JP4831147B2 - デバイスドライバ、及び記録媒体 - Google Patents

デバイスドライバ、及び記録媒体 Download PDF

Info

Publication number
JP4831147B2
JP4831147B2 JP2008227469A JP2008227469A JP4831147B2 JP 4831147 B2 JP4831147 B2 JP 4831147B2 JP 2008227469 A JP2008227469 A JP 2008227469A JP 2008227469 A JP2008227469 A JP 2008227469A JP 4831147 B2 JP4831147 B2 JP 4831147B2
Authority
JP
Japan
Prior art keywords
file
setting
setting information
individual
common
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.)
Active
Application number
JP2008227469A
Other languages
English (en)
Other versions
JP2010061469A (ja
Inventor
大介 浅井
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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2008227469A priority Critical patent/JP4831147B2/ja
Priority to US12/551,896 priority patent/US8402478B2/en
Publication of JP2010061469A publication Critical patent/JP2010061469A/ja
Application granted granted Critical
Publication of JP4831147B2 publication Critical patent/JP4831147B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

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

Description

本発明は、コンピュータ等のホスト装置でプリンタ等の周辺装置(デバイス)を制御するためのデバイスドライバ(以下、単にドライバともいう)、このドライバをホスト装置にインストールするためのインストーラ、及び、デバイスドライバのプログラムに関する。
従来より、可般型ディスク(CD−ROM等)やインターネットを介してユーザに配布されて、プリンタの機種毎に用意されたデバイスドライバと、このドライバをコンピュータにインストールするためのインストールプログラムとからなるインストーラが知られている。
なお、デバイスドライバには、一般的に各種のドライバプログラムと共に、プリンタの印刷動作や、利用者・コンピュータ間のユーザ・インターフェースに必要な設定を表すデバイス設定情報が含まれている(例えば、特許文献1参照)。
また、デバイス設定情報とは、印刷機能として実現可能な範囲(例えば、両面印刷の有無)を示すサポート情報や、ユーザによる指示(例えば、用紙サイズの指示)をプリンタに伝達するためのコマンド情報、印刷動作の初期設定(例えば、印刷領域の設定)を示すデフォルト情報等を総称する。
特開2003−202987号公報
ところで、複数機種のプリンタの製造元といったデバイスドライバの提供者側(以下、ドライバ提供者側という)では、インストーラを作製する際(利用者に配布する前)に、プリンタの機種(型番)毎に一つずつデバイス設定情報を通常用意すると共に、プリンタにおいて印刷機能の追加やコマンドの変更等の仕様変更が生じた際には、該当する機種のプリンタに用意されたデバイス設定情報の書き換えを行っていた。
このため、仕様変更が複数のプリンタの機種に共通する(跨る)場合、その機種毎のデバイス設定情報を全て見直さなければならないことによって、仕様変更に係る作業やデバイス設定情報を表すファイル(設定情報ファイル)の管理に手間がかかると共に、書き換えなければならない設定情報ファイルが多いため、仕様変更に伴うミスの発生が懸念されるという問題があった。
本発明は、上記問題点を解決するために、仕様変更を簡易に反映させることが可能なデバイスドライバ、インストーラ、及びドライバプログラムを提供することを目的とする。
上記目的を達成するためになされた第一構成であるデバイスドライバは、プリンタ等のデバイスの種別(以下、デバイス種別という)毎に用意されてコンピュータ等のホスト装置において動作するものであり、そのホスト装置に接続されるデバイスの制御に必要な設定情報を含む設定情報ファイルと、その設定情報ファイルから取得した設定情報を用いてデバイスを制御するドライバプログラムとを備える。
このうち、設定情報ファイルが、設定情報のうち、複数のデバイス種別に共通するもので構成された共通ファイルと、デバイス種別毎に異なるもので構成された個別ファイルとから構成されることを要旨とする。
このように構成されたデバイスドライバによれば、ドライバ提供者側は、共通ファイル以外の設定情報を個別ファイルで管理すればよく、設定情報ファイルに記述された設定情報の変更(仕様変更)が生じた際に、その仕様変更が複数のデバイス種別に共通するものであれば、共通ファイルの書き換えだけで対応することができる。したがって、本発明のデバイスドライバによれば、仕様変更を簡易に反映させることができる。
また、本発明のデバイスドライバは、第2の構成のように、設定情報が、少なくとも設定項目とその設定値(設定データを含む)とから構成され、ドライバプログラムが、共通ファイル及び個別ファイルにおいて設定情報のうちの設定項目が重複している場合、個別ファイルに含まれる設定項目の設定値を優先して用いることが望ましい。
この場合、ドライバ提供者側は、共通ファイルに記述された設定情報の変更(仕様変更)が生じた際に、その仕様変更が一つの特定のデバイス種別に関するものであれば、個別ファイルに設定項目及びその設定値を追加することによって対応でき、したがって、特定種別に対する例外的な仕様変更も簡易に反映させることができる。
なお、本発明のデバイスドライバは、第3の構成のように、共通ファイルが、設定情報のうち、多数のデバイス種別に共通するもので構成された大分類ファイルと、少数のデバイス種別に共通するもので構成された一または複数の小分類ファイルとから構成されてもよい。
この場合、共通ファイルが複数のファイルに分類されているため、個別ファイルで管理する設定情報を必要最小限にでき、従って、新規の種別(新規種別)に対して設定情報ファイルを作製する際にその作業負担が軽減され、ひいては開発コストを抑制することができる。
また、ドライバプログラムは、第4の構成のように、大分類ファイル及び小分類ファイルにおいて設定情報のうちの設定項目が重複している場合、小分類ファイルに含まれる設定値を優先して用いることが望ましい。
この場合、ドライバ提供者側は、共通ファイルに記述された設定情報の変更(仕様変更)が生じた際に、その仕様変更が小分類ファイルに含まれる一部のデバイス種別の設定情報に関するものであれば、小分類ファイルに対して新たな設定項目及びその設定値を追加することによって対応できる。したがって、一部のデバイス種別についての仕様変更の場合に容易に対処することができる。
また、本発明のデバイスドライバは、第5の構成のように、設定探索処理を実行することにより、設定情報ファイルに存在する複数のファイル間で設定情報のうちの設定項目が重複している場合に優先して用いる設定値を決定することが望ましい。
この場合、設定情報ファイルに存在する複数のファイルにおいて重複する設定項目があれば、いずれの設定項目の設定値を用いるかが設定探索処理を実行することで決定される。
具体的には、ドライバプログラムが、第6の構成のように、設定探索処理の実行において、個別ファイル、共通ファイルにおける小分類ファイル、共通ファイルにおける大分類ファイルの順に、設定情報のうちの設定項目を参照する設定探索処理を実行し、最初に見つかった設定項目の設定値を用いるようにすればよい。
つまり、設定探索処理では、設定情報ファイルに含まれる各ファイルを上記の順に従って参照することにより、いずれかのファイルから設定項目の設定値を取得することができる。例えば、個別ファイルには、特定のデバイス種別に関する設定情報が記述されているため、個別ファイルから参照することにより、特定のデバイス種別に限って設定される設定項目の設定値を優先的に取得することができる。
そして、第7の構成のように、ドライバプログラムは、設定探索処理の実行において、小分類ファイルが複数存在する場合、予め設定された優先順位に従って、設定情報のうちの設定項目を参照し、最初に見つかった設定項目の設定値を用いるようにすればよい。
つまり、小分類ファイルが複数存在する場合でも、各ファイルに含まれる設定情報の内容に応じて、優先順位を設定しておくことで、対象となるデバイスに必要な設定項目の設定値を取得することができる。
ところで、本発明のデバイスドライバは、第8の構成のように、設定情報ファイルのうち、少なくとも個別ファイルには、次に参照すべきファイルを特定するためのファイルIDが予め記述され、ドライバプログラムは、設定探索処理の実行において、個別ファイルから参照すると共に、その参照したファイルに記述されているファイルIDに基づいて、次に参照する共通ファイルを決定することが望ましい。
この場合、ドライバプログラムでは、最初に個別ファイルを参照することを記憶していれば、次に参照すべきファイルは、ファイルIDに基づいて決定できる。したがって、どの設定情報がどのファイルに存在しているかをドライバプログラムが予め記憶している必要がなく、ドライバプログラムの作成時の負荷を軽減できる。
さらに、第9の構成のように、共通ファイルにおける大分類ファイル及び小分類ファイルには、次に参照すべきファイルを特定するためのファイルIDが予め記述され、ドライバプログラムは、設定探索処理の実行において、各ファイルに記述されているファイルIDに基づいて、共通ファイル内のファイルを順番に参照するように構成することが望ましい。
この場合、設定情報ファイルに含まれるファイル数の変更(増減)がドライバプログラムに影響を及ぼさないため、ドライバ提供者側は、設定情報ファイルに記述された設定情報の変更(仕様変更)が生じた際に、新たな共通ファイルを作成したり既存の共通ファイルを削除したりすることによって対応でき、従って、仕様変更に係る自由度を向上させることができる。
また、ドライバプログラムは、第10の構成のように、少なくとも設定値を用いてデバイスを制御する前に、共通ファイル及び個別ファイルに基づいて、設定探索処理において参照するファイル、及びその参照順を特定するためのファイルリストを予め作成してもよい。
この場合、参照するファイル、及び参照順が予め特定されていることで、ドライバプログラムが設定探索処理において参照するファイルが限定され、効率よく設定値を取得することができる。
なお、ファイルリストは、第11の構成のように、設定項目とその設定値の取得先とから構成されていればよい。この場合、ドライバプログラムが、設定情報ファイルを優先順位に従って一つずつ参照する(設定探索処理を行う)必要がないため、ひいてはデバイスの制御を短縮させることができる。
また、ドライバプログラムは、第12の構成のように、少なくとも設定値を用いてデバイスを制御する前に、設定探索処理により、共通ファイル、及び個別ファイルに基づいて、設定項目とその設定値とから構成される設定値リストを予め作成してもよい。この場合、デバイスを制御する度に設定探索処理により設定情報ファイルを参照する必要がなく、ひいてはドライバプログラムを実行するホスト装置の負荷を軽減することができる。
なお、設定情報ファイルは、デバイスの制御に必要な情報に限らず、第13の構成のように、ホスト装置で動作するユーザ・インターフェースの制御に必要な情報を設定情報として含むものであればよい。
また、第二発明であるインストーラは、第14の構成のように、ホスト装置に接続されるデバイスの制御に必要な設定情報のうち、複数のデバイス種別に共通するもので構成される共通ファイルと、デバイス種別毎に異なるもので構成された複数の個別ファイルとからなる設定情報ファイル群と、共通ファイル及び個別ファイルから取得した設定情報を用いてデバイスを制御するドライバプログラムと、設定情報ファイル群の中から、共通ファイル、及びデバイス種別に応じた個別ファイルを、ドライバプログラムと共に、ホスト装置にインストールするインストールプログラムとを備えることを要旨とする。
このように構成されたインストーラによれば、第1の構成に係るデバイスドライバを好適にインストールすることができる。なお、ドライバ提供者側にとっては、デバイス種別毎にインストーラを用意する必要がないため、複数種別に対応したインストーラを大量生産することが可能となり、生産コストを削減することができる。
さらに、第三発明であるドライバプログラムは、第15の構成のように、ホスト装置に接続されるデバイスの制御に必要な情報であり、且つ、少なくとも設定項目とその設定値とから構成される情報を設定情報として、その設定情報のうち、複数のデバイス種別に共通するもので構成された共通ファイル、及び、デバイス種別毎に異なるもので構成された複数の個別ファイルから取得した設定値を用いて、デバイスを制御するプログラムである。
ここで、共通ファイル及び個別ファイルにおいて設定情報のうちの設定項目が重複している場合、個別ファイルに含まれる設定項目の設定値を用いることを要旨とする。
このように構成されたドライバプログラムによれば、上記第2の構成に係るデバイスドライバのプログラムとして好適に用いることができる。
以下に、本発明の実施形態を図面と共に説明する。
[第1実施形態]
図1は、本発明が適用された第1実施形態としてのデバイスドライバを備える印刷制御システムの概略構成を示すブロック図である。
<全体構成>
図1に示すように、印刷制御システム1は、ホスト装置としてのパーソナルコンピュータ(以下、PCという)10と、PC10の周辺装置(デバイス)としてのプリンタ20とからなり、PC10とプリンタ20とがLAN等のネットワークを介して接続されることにより構成されている。
このうち、プリンタ20は、図示しない給紙トレイや手差トレイに積載される各種用紙等の印刷媒体を供給するフィーダ部21、フィーダ部21から供給される用紙を搬送する搬送部22、搬送部22により搬送されてくる印刷媒体に画像を印刷する画像形成部23、及びこれらの各部21〜23を駆動制御する制御部24等からなる周知のものである。
なお、制御部24は、CPU,ROM,RAM,HDD及びこれらを接続するバスライン等からなり、各種設定や指令を入力するためのカーソルキーやスイッチ、及び各種メニュー項目が示されたメニュー画面や、利用者が入力した内容,エラー等の表示を行う操作パネル部25、ネットワークを介してPC10等のホスト装置からの画像データを入力するためのネットワークI/F26部等が接続されている。そして、制御部24は、操作パネル部25又はネットワークI/F部26から入力されるコマンドに従って、フィーダ部21,搬送部22,画像形成部23を駆動制御することによって、各種の印刷機能を実現するように構成されている。
一方、PC10は、マウスやキーボード等を介して当該PC10を動作させるために必要な情報を入力する操作部11、CD−ROM等の記憶媒体に記憶されたデータ等を入力する外部入力部12、ネットワークを介してデータやコマンドを入出力するためのネットワークI/F部13、各種の情報を表示するための表示部14、各部11〜13からの入力情報に基づいてネットワークI/F部13及び表示部14を制御する制御部15等からなる。
表示部14は、液晶デバイス等の周知の表示デバイスからなり、パーソナルコンピュータが有する周知のグラフィカル・ユーザ・インターフェース(GUI)機能により、各種情報が入力されるユーザ・インターフェース(UI)画面や、マウスポインタ等の画像が表示される。
制御部15は、CPU,ROM,RAM,HDD及びこれらを接続するバスライン等からなる周知のマイクロコンピュータを中心に構成され、CPUが、ROM又はHDDに記憶された各種プログラムに基づいて、周知のオペレーティング・システム(OS)やアプリケーション機能、プリンタ20の印刷機能等を実現するための処理を実行する。
なお、制御部15では、マルチタスク機能を有したOSがROMにインストールされており、このOSの環境下において、文書データ作成,画像データ処理等を行うためのアプリケーションプログラムや、印刷処理を行うためのデバイスドライバ6(後述する)が作動する。
<インストーラ、デバイスドライバ、及びドライバプログラム>
次に、図2は、本発明が適用されたインストーラ、デバイスドライバ、及びドライバプログラムの構成を説明するための説明図である。
図2に示すように、インストーラ2は、PC10のOSに対応するドライバプログラム3と、プリンタ20等のデバイスの制御に必要な設定情報が複数の機種分記述された設定情報ファイル群4と、この設定情報ファイル群4のうちプリンタ20に対応する設定情報を表す設定情報ファイル5、及びドライバプログラム3からなるデバイスドライバ6をPC10等のホスト装置にインストールするためのインストールプログラム7とを備える。
なお、ここでの設定情報は、本実施形態におけるプリンタ20の印刷動作や、PC10等のホスト装置において印刷処理を行う際のUIに必要な設定項目とその設定値(設定データを含む)を表すものであり、プリンタ20等の製造元といったデバイスドライバ6の提供者側(以下、ドライバ提供者側という)によって管理される。
また、インストーラ2は、一つの可般型の記憶媒体(CD−ROM等)又はインターネット上のサーバに格納された状態でドライバ提供者側から配布され、本実施形態では、外部入力部12又はネットワークI/F部13を介してPC10にロードされる。
ここで、設定情報ファイル群4は、プリンタ20の型番に対応する設定情報が記述された複数のファイル(以下、個別ファイルという)8からなる個別ファイル群80と、シリーズに対応する設定情報が記述された複数のファイル(以下、共通ファイルという)9からなる共通ファイル群90とを備えている。なお、ここでのシリーズとは、複数の型番からなるグループであり、例えば一つのシリーズ内の製品と比較して実現可能な機能等が大きく飛躍したりデザインが大きく変更されたりした際に、製造元によって新たに用意されるものである。このため、プリンタ20のシリーズには、比較的近い機能やデザインを有する他のプリンタが含まれることになる。
さらに、個別ファイル群80は、プリンタ20の国内用の型番に対応する個別ファイル8である第1の個別ファイル8a、及び、プリンタ20の国外用の型番に対応する個別ファイル8である第2の個別ファイル8bに分類されている。また、共通ファイル群90は、一つのシリーズに対応する共通ファイル9である小分類ファイル9a、及び、全てのシリーズに対応する共通ファイル9である大分類ファイル9bに分類されている。
このうち、大分類ファイル9bには、図3に示すように、全てのシリーズに対応する設定情報として、例えば、用紙サイズ(A4,Letter,Legal,A5,Hagaki等)31,用紙サイズ毎の印刷領域32,用紙サイズ毎のコマンド33,給紙元毎のコマンド34等を規定するための設定項目、及びこれら設定項目毎の設定値がそれぞれ記述されている。
また、小分類ファイル9aには、図4に示すように、一つのシリーズに対応する設定情報として、例えば、用紙サイズ毎の印刷速度35,印刷可能な印刷領域36,省電力モードの待機時間37,UIのデフォルト設定38,給紙元(Auto,Tray1,Tray2,Manual等)39,印刷可能な用紙サイズ40、ファイルID16等を規定するための設定項目、及びこれら設定項目毎の設定値がそれぞれ記述されている。さらに、本実施形態では、給紙元毎のコマンド34の一部がシリーズの仕様変更に伴って追加的に記述されている。なお、ファイルID16は、次に参照すべきファイルを特定するためのものであり、ここでのファイルID16の設定値には、大分類ファイル9bのファイル名(FileA)が記述されている。
そして、第1の個別ファイル8aには、図5(a)に示すように、プリンタ20の国内用の型番に対応する設定情報として、例えば、型番41,両面印刷の有無42,印刷マクロの有無43、ファイルID16等を規定するための設定項目、及びこれら設定項目毎の設定値がそれぞれ記述されている。
一方、第2の個別ファイル8bには、図5(b)に示すように、UIのデフォルト設定38,印刷可能な用紙サイズ40,用紙サイズ毎の印刷方向44の一部が国外向け用に追加的に記述されている。なお、ここでのファイルID16の設定値には、小分類ファイル9aのファイル名(FileB)が記述されている。また、第2の個別ファイル8bでは、型番41,両面印刷の有無42が国外用に変更されている。
一方、インストールプログラム7は、本実施形態においてデバイスドライバ6がPC10にインストールされる時に制御部15のCPUによって起動されるプログラムである。そして、UIを介してPC10のOSが管理するHDD内の特定の場所(例えば、システムフォルダ)に、大分類ファイル9b,小分類ファイル9a,及び、国内用の型番であれば第1の個別ファイル8aを設定情報ファイル5として格納し、また、ドライバプログラム3を格納させる。この設定情報ファイル5とドライバプログラム3とからデバイスドライバ6が構成される。
また、ドライバプログラム3は、プリンタ20等のデバイスにデータやコマンドを出力すると共にPC10等のホスト装置においてUIを制御する(以下、印刷制御と総称する)ためのドライバ制御モジュール(以下、メインプログラムという)3aと、印刷制御に必要な設定情報(設定値)をメインプログラム3aに受け渡すための設定情報管理モジュール(以下、設定プログラムという)3bとからなる。
<設定プログラム>
本実施形態の設定プログラム3bは、図6に示すように、メインプログラム3aから、印刷制御に必要な設定情報の要求(問い合わせ)を表すコマンドを受け取ると、そのコマンドが示す設定項目(以下、対象設定項目という)に対応する設定値を、以下の設定探索処理によって設定情報ファイル5から読み出し、その読み出した設定値をメインプログラム3aに受け渡すように構成されている。
<設定探索処理>
ここで、図7は、制御部15のCPUが実行する設定探索処理の詳細を示すフローチャートである。なお、本処理は、デバイスドライバ6がPC10にインストールされている場合に、制御部15のCPUが、HDDに記憶された設定プログラム3bに基づいて実行する処理である。
図7に示すように、本処理が起動されると、まず、S210では、メインプログラム3aから受け取ったコマンドに基づいて、第1の個別ファイル8aを参照し、対象設定項目が第1の個別ファイル8a(FileC_1)に存在するか否かを判断する。なお、最初に、第1の個別ファイル8a(FileC_1)を参照することは、メインプログラム3aにおいて予め規定されている。
ここで、第1の個別ファイル8aに対象設定項目が存在した(肯定判断した)場合には、S250に進む。一方、第1の個別ファイル8aに対象設定項目が存在しない場合には、S220に進み、そのS220では、第1の個別ファイル8aに記述されているファイルID16に基づいて、次に参照すべきファイルを特定する。図6の例では、第1の個別ファイル8aに記述されているファイルID16が小分類ファイル(FileB)であるため、続くS230では、小分類ファイル9aを参照し、対象設定項目が小分類ファイル9aに存在するか否かを判断する。
ここで、小分類ファイル9aに対象設定項目が存在した(肯定判断した)場合には、S250に進む。一方、小分類ファイル9aに対象設定項目が存在しない場合には、S240に進み、そのS240では、小分類ファイル9aに記述されているファイルID16に基づいて、次に参照すべきファイルを特定する。図6の例では、小分類ファイル9aに記述されているファイルID16が大分類ファイル(FileA)であるため、大分類ファイル9bを参照する。つまり、設計上、いずれかのファイルには対象設定項目が存在するはずなので、FileC_1、あるいはFileBに存在していない場合には、FileAに対象設定項目が存在することになる。
そして、S250では、S210で肯定判断した場合には第1の個別ファイル8aから、S230で肯定判断した場合には小分類ファイル9aから、S240に続く場合にはS240で特定されたファイル(FileA)である大分類ファイル9bから、対象設定項目に対応する設定値を読み出して、その読み出した設定値をメインプログラム3aに受け渡し、本処理を終了する。
図6(a)の例では、メインプログラム3aから要求された対象設定項目が「PaperSize_Size:A4」であり、図5(a)に示されるFileC_1から探索が行われる。ここで、FileC_1には、対象設定項目が存在していないため、次の参照先であるFileB(図4)を探索する。FileBにも対象設定項目が存在していないため、最終的に、FileA(図3)を探索する。File_Aには、対象設定項目「PaperSize_Size:A4」が、用紙サイズ(PaperSize_Size)31の群に存在しているため、その設定値である「210.000,297.000」がメインプログラム3aに出力される。
一方、図6(b)の例では、HDD内の特定の場所に、大分類ファイル9b,小分類ファイル,及び、第2の個別ファイル8bが記憶されている場合であり、メインプログラム3aから要求された対象設定項目が「PaperSize_Size:A4」である場合を示している。この場合、メインプログラム3aからの指示に基づき、図5(b)に示される第2の個別ファイル8b(FileC_2)から探索が行われる。FileC_2には、対象設定項目「PaperSize_Size:A4」が存在しているため、その設定値である「297.000,210.000」がメインプログラム3aに直ちに出力される。
このように、メインプログラム3aから要求された対象設定項目に対する設定値を取得する際に、どのファイルを参照するか、またどの順番で参照するかにより、メインプログラム3aに出力される設定値が異なることになる。
この点を利用し、本実施形態では、設定情報のうち共通ファイルに含まれるもの以外を個別ファイルで管理し、設定情報ファイルに記述された設定情報に変更が生じた際に、その変更が複数のデバイス種別に共通するものであれば、共通ファイルの書き換えだけで対応することができる。逆に、一部の機種に関連する設定情報は個別ファイルで管理することで、一部の機種に関連する仕様変更が生じた際には、関連する個別ファイルの書き換えで対応することができる。したがって、各種の仕様変更を簡易に反映させることができる。
<効果>
以上説明したように、本実施形態のデバイスドライバ6は、全てのシリーズに対応する大分類ファイル9b,一つのシリーズに対応する小分類ファイル9a,及び型番(機種)に対応する個別ファイル8からなる設定情報ファイル5と、設定情報ファイル5に記述された設定情報を用いてプリンタ20を制御するドライバプログラム3とから構成される。
このため、ドライバ提供者側は、共通ファイル9(大分類ファイル9b,小分類ファイル9a)以外の設定情報を個別ファイル8(第1の個別ファイル8a,第2の個別ファイル8b)で管理すればよく、設定情報ファイル5に記述された設定情報の変更(仕様変更)が生じた際に、その仕様変更が複数機種に共通するものであれば、共通ファイル9の書き換え(変更,追加,削除)だけで対応することができる。従って、本実施形態のデバイスドライバ6によれば、仕様変更を簡易に反映させることができる。
また、本実施形態のインストーラ2では、インストールプログラム7が、個別ファイル群80(第1の個別ファイル8a,第2の個別ファイル8b)の中から、型番(機種)に応じた個別ファイル8(第1の個別ファイル8a又は第2の個別ファイル8b)を、共通ファイル9及びドライバプログラム3と共にインストールする。
したがって、本実施形態のインストーラ2によれば、ドライバ提供者側にとっては、機種毎にインストーラ2を用意する必要がないため、複数機種に対応したインストーラ2を大量生産することが可能となり、生産コストを削減することができる。
さらに、本実施形態のドライバプログラム3では、メインプログラム3aによる印刷制御に必要な設定項目とその設定値の取得先(参照先)とからなるファイルリスト17が、インストール後の最初の起動時に作成される。
したがって、本実施形態のドライバプログラム3では、メインプログラム3aが印刷制御を実行する際には、ファイルリスト17により一意に特定される取得先(設定情報ファイル5(第1の個別ファイル8a,小分類ファイル9a,大分類ファイル9b)から設定プログラム3bを介して設定値を取得するだけでよいため、ひいては印刷制御を短縮させることができる。
なお、上記実施形態では、設定情報ファイル5を、第1の個別ファイル8a,小分類ファイル9a,大分類ファイル9bの3種類とし、その3種類をファイルID16で規定される順に参照する場合を例として、図7の設定探索処理のフローチャートを説明したが、設定情報ファイル5の種別や数はこれに限定されるものではなく、各種の態様が想定される。例えば、個別ファイル群80に存在する一つの個別ファイルと、共通ファイル群90に存在する一つのファイルとの2つにより設定情報ファイル5が構成されてもよい。この場合には、2種類のファイルのいずれかから対象設定項目が探索され、その設定値が出力される。逆に、設定情報ファイル5が4種類以上のファイルから構成されてもよく、その場合には、各ファイルに記述されているファイルID16に基づいて、順次参照すべきファイルが特定される。
[第2実施形態]
次に、本発明が適用された第2実施形態としてのデバイスドライバについて説明する。
なお、本実施形態のデバイスドライバ6は、第1実施形態と比較して、設定プログラム3bの構成が異なるだけであるため、この相違する部分を中心に説明する。
<設定プログラム>
設定プログラム3bは、メインプログラム3aから、印刷制御に必要な設定情報の要求(問い合わせ)を表すコマンドを受け取ると、そのコマンドが示す設定項目に対応する設定値を、後述するファイルリスト17を用いて設定情報ファイル5から読み出し、その読み出した設定値をメインプログラム3aに受け渡すように構成されている。
<ファイルリスト作成処理>
次に、デバイスドライバ6がPC10にインストールされた後において、ドライバプログラム3の最初の起動時に、制御部15のCPUがHDDに記憶された設定プログラム3bに基づいてファイルリスト17の作成を実行する処理(以下、ファイルリスト作成処理という)を説明する。
なお、ここでのファイルリスト17は、制御部15のCPUがHDDに記憶されたメインプログラム3aに基づいて印刷制御に係る処理を行う際に用いるものであって、PC10及びプリンタ20において印刷制御に必要な設定項目とその設定値の取得先(参照先)を示すファイル名とから構成され(図8(a)参照)、HDD内の特定の場所(例えば、レジストリ)に登録される。
ここで、図9は、制御部15のCPUが実行するファイルリスト作成処理の詳細を示すフローチャートである。
図9に示すように、本処理が起動されると、まず、S110では、設定情報ファイル5のうちの第1の個別ファイル8aのファイル名(FileC_2)を参照し、そのファイルに記述されている設定項目を全て読み出し、その読み出した設定項目、及びその設定値の取得先として第1の個別ファイル8aのファイル名(FileC_2)をファイルリスト17aに書き込む。最初に、第1の個別ファイル8a(FileC_2)を参照することは、メインプログラム3aにおいて予め規定されている。
例えば、図8(a)に示すように、型番41,両面印刷の有無42,印刷マクロの有無43の設定項目、及びその設定値の取得先としてFileC_2が書き込まれる。
続くS120では、第1の個別ファイル8aに記述されているファイルID16が小分類ファイル(FileB)であるため、設定情報ファイル5のうちの小分類ファイル9aを参照し、その小分類ファイル9aに記述されている設定項目、及びその設定値の取得先として小分類ファイル9aのファイル名(FileB)をファイルリスト17に書き込む。なお、ここでは、S110にて既に書き込まれているものと同じ設定項目がある場合、既に書き込まれているものを優先する。図8(a)に示すように、UIのデフォルト設定38の設定項目のうち、「PaperSize」については、既にS110にて、その設定値の取得先としてFileC_2が書き込まれているため、FileBの情報は書き込まれない。一方、「InputSlot」については、S110を終了した時点で、ファイルリスト17に存在していないため、その設定の取得先がFileBとして書き込まれる。
続くS130では、小分類ファイル9aに記述されているファイルIDが大分類ファイル(FileA)であるため、設定情報ファイル5のうちの大分類ファイル9bを参照し、そのファイルに記述されている設定項目、及びその設定値の取得先として大分類ファイル9bのファイル名(FileA)をファイルリスト17に書き込み、本処理を終了する。なお、この場合も、S120と同様に、既に書き込まれているものと同じ設定項目がある場合、既に書き込まれているものを優先し、書き込まれていない設定項目については、ファイルリスト17に追加する。例えば、図8(a)に示すように、給紙元毎のコマンド34の設定項目、及びその設定値の取得先のうち、「Auto」については、FileBがS120の処理において書き込まれるため、FileBの設定値を優先する。他の、「Tray1」、「Tray2」、「Manual」については、FileAが書き込まれる。
つまり、本処理では、設定情報ファイル5の設定項目、及びその設定値の取得先となるファイル名を漏れなく書き込むと共に、設定情報ファイル5の中に設定項目が重複している場合には、その設定値の取得先を指定するための優先順位を、個別ファイル8a,小分類ファイル9a,大分類ファイル9bの順としてファイルリスト17を作成する。
そして、このファイルリスト17を用いることにより、例えば、メインプログラム3aから要求された対象設定項目が「Default:PaperSize」の場合、図8(a)のファイルリスト17を参照すると、UIのデフォルト設定38の設定項目のうち、「PaperSize」については、その設定値の取得先としてFileC_2が書き込まれている。したがって、図5(a)のFileC_2の内容に基づいて、「PaperSize=A4」がメインプログラム3aに対して出力される。
<効果>
以上説明したように、本実施形態のドライバプログラム3では、メインプログラム3aによる印刷制御に必要な設定項目とその設定値の取得先(参照先)とからなるファイルリスト17が、インストール後の最初の起動時に作成される。
したがって、本実施形態のドライバプログラム3では、メインプログラム3aが印刷制御を実行する際には、ファイルリスト17により一意に特定される取得先(設定情報ファイル5(第1の個別ファイル8a,小分類ファイル9a,大分類ファイル9b))から設定プログラム3bを介して設定値を取得するだけでよいため、ひいては印刷制御を短縮させることができる。
[他の実施形態]
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
例えば、上記実施形態のファイルリスト作成処理は、デバイスドライバ6がPC10にインストールされた後において、ドライバプログラム3の最初の起動時に実行されるが、これに限らず、少なくとも印刷制御の前に実行されればよく、デバイスドライバ6のインストール時や初回使用時などであってもよい。
なお、上記実施形態のファイルリスト17は、メインプログラム3aによる印刷制御に必要な設定項目とその設定値の取得先(参照先)とから構成されているが、これに限定されるものではない。例えば、図8(b)に示されるように、設定情報ファイル5に存在する各ファイルに記述されているファイルIDに基づき、メインプログラム3aが参照するファイル名とその参照順位とから構成されるファイルリストを作成してもよい。さらに、図8(c)に示されるように、メインプログラム3aによる印刷制御に必要な設定項目と設定値とを予め該当するファイルから取得しておき、設定値リストを作成してもよい。
この場合、設定プログラム3bが印刷制御毎に設定情報ファイル5を参照する必要がなく、ひいてはドライバプログラム3を実行するPC10の負荷を軽減することができる。
また、上記実施形態のインストーラ2は、個別ファイル群80の中から型番(機種)に応じた個別ファイル8をインストールするように構成されているが、これに限定されるものではなく、共通ファイル群90の中からシリーズに応じた小分類ファイル9aをインストールするように構成されてもよい。なお、個別ファイル群80及び共通ファイル群90に含まれるファイル数は、上記実施形態の数に限定されるものではない。
さらに言えば、上記実施形態のデバイスドライバ6は、プリンタ20を制御するためにPC10において動作するが、これに限定されるものではなく、プリンタ20以外のデバイスを制御するためのものであってもよいし、PC10以外のホスト装置において動作するものであってもよい。
本発明が適用されたデバイスドライバを備える印刷制御システムの概略構成を示すブロック図である。 本発明が適用されたインストーラ、デバイスドライバ、及びドライバプログラムの構成を説明するための説明図である。 共通ファイル9のうち大分類ファイル9bに記述されている設定情報を表すデータ構造図である。 共通ファイル9のうち小分類ファイル9aに記述されている設定情報を表すデータ構造図である。 個別ファイル8に記述されている設定情報を表すデータ構造図である。 第1実施形態におけるデバイスドライバ6の動作を説明するための説明図である。 制御部15のCPUが設定プログラム3bに基づいて実行する設定探索処理の詳細を示すフローチャートである。 ファイルリスト17に記述されている設定情報を表すデータ構造図である。 制御部15のCPUが設定プログラム3bに基づいて実行するファイルリスト作成処理の詳細を示すフローチャートである。
符号の説明
1…印刷制御システム、2…インストーラ、3…ドライバプログラム、3a…メインプログラム、3b…設定プログラム、4…設定情報ファイル群、5…設定情報ファイル、6…デバイスドライバ、7…インストールプログラム、8…個別ファイル、8a…第1の個別ファイル、8b…第2の個別ファイル、9…共通ファイル、9a…小分類ファイル、9b…大分類ファイル、10…PC、15…制御部、16…ファイルID、17…ファイルリスト、20…プリンタ、80…個別ファイル群、90…共通ファイル群。

Claims (9)

  1. ホスト装置に接続されるデバイスの制御に必要な設定情報を含む設定情報ファイルにつき、該設定情報ファイルから取得した設定情報を用いて前記デバイスを制御するプログラムであり、前記ホスト装置において動作するドライバプログラム、を備え、
    前記設定情報ファイルは、前記設定情報のうち、前記デバイスの複数種別に共通するもので構成された共通ファイルと、前記デバイスの種別毎に異なるもので構成された個別ファイルとからなり、
    前記設定情報は、少なくとも設定項目とその設定値とから構成され、
    前記設定情報ファイルのうち、少なくとも前記個別ファイルには、次に参照すべきファイルを特定するためのファイルIDが予め記述されており、
    前記ドライバプログラムは、前記設定情報ファイルに存在する複数のファイル間で前記設定情報のうちの設定項目が重複している場合に優先して用いる設定値を決定する設定探索処理を実行するものであり、当該設定探索処理の実行において、前記個別ファイルから参照し、前記個別ファイルに含まれる設定項目の設定値を優先して用いると共に、設定探索処理の結果、参照した個別ファイルに取得する設定情報が存在しない場合、その参照したファイルに記述されているファイルIDに基づいて、次に参照する共通ファイルを決定する
    ことを特徴とするデバイスドライバ。
  2. 前記共通ファイルは、前記設定情報のうち、前記デバイスの多数種別に共通するもので構成された大分類ファイルと、前記デバイスの少数種別に共通するもので構成された一または複数の小分類ファイルとからなり、
    前記ドライバプログラムは、前記小分類ファイルに含まれる設定値を優先して用いる
    ことを特徴とする請求項1に記載のデバイスドライバ。
  3. 前記ドライバプログラムは、前記設定探索処理の実行において、前記個別ファイル、前記共通ファイルにおける小分類ファイル、前記共通ファイルにおける大分類ファイルの順に、前記設定情報のうちの設定項目を参照し、最初に見つかった設定項目の設定値を用いる
    ことを特徴とする請求項に記載のデバイスドライバ。
  4. 前記ドライバプログラムは、前記設定探索処理の実行において、前記小分類ファイルが複数存在する場合、予め設定された優先順位に従って、前記設定情報のうちの設定項目を参照し、最初に見つかった設定項目の設定値を用いる
    ことを特徴とする請求項に記載のデバイスドライバ。
  5. 前記共通ファイルにおける大分類ファイル及び小分類ファイルには、前記ファイルIDが予め記述され、
    前記ドライバプログラムは、前記設定探索処理の実行において、各ファイルに記述されているファイルIDに基づいて、前記共通ファイル内のファイルを順番に参照する
    ことを特徴とする請求項2ないし請求項4のいずれかに記載のデバイスドライバ。
  6. 前記ドライバプログラムは、少なくとも前記設定値を用いてデバイスを制御する前に、前記共通ファイル、及び前記個別ファイルに基づいて、前記設定探索処理において参照するファイル、及びその参照順を特定するためのファイルリストを予め作成する
    ことを特徴とする請求項ないし請求項のいずれかに記載のデバイスドライバ。
  7. 前記ファイルリストは、前記設定項目とその設定値の取得先とから構成されている
    ことを特徴とする請求項に記載のデバイスドライバ。
  8. 前記ドライバプログラムは、少なくとも前記設定値を用いてデバイスを制御する前に、前記設定探索処理により、前記共通ファイル、及び前記個別ファイルに基づいて、前記設定項目とその設定値とから構成される設定値リストを予め作成する
    ことを特徴とする請求項ないし請求項のいずれかに記載のデバイスドライバ。
  9. ホスト装置に接続されるデバイスの制御に必要な設定情報を含む設定情報ファイルと、
    前記設定情報ファイルから取得した設定情報を用いて前記デバイスを制御するプログラムであり、前記ホスト装置において動作するドライバプログラムと、が記録された記録媒体であって、
    前記設定情報ファイルは、前記設定情報のうち、前記デバイスの複数種別に共通するもので構成された共通ファイルと、前記デバイスの種別毎に異なるもので構成された個別ファイルとからなり、
    前記設定情報は、少なくとも設定項目とその設定値とから構成され、
    前記設定情報ファイルのうち、少なくとも前記個別ファイルには、次に参照すべきファイルを特定するためのファイルIDが予め記述されており、
    前記ドライバプログラムは、前記設定情報ファイルに存在する複数のファイル間で前記設定情報のうちの設定項目が重複している場合に優先して用いる設定値を決定する設定探索処理を実行するものであり、当該設定探索処理の実行において、前記個別ファイルから参照し、前記個別ファイルに含まれる設定項目の設定値を優先して用いると共に、設定探索処理の結果、参照した個別ファイルに取得する設定情報が存在しない場合、その参照したファイルに記述されているファイルIDに基づいて、次に参照する共通ファイルを決定するように前記デバイスを制御する
    ことを特徴とする記録媒体。
JP2008227469A 2008-09-04 2008-09-04 デバイスドライバ、及び記録媒体 Active JP4831147B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008227469A JP4831147B2 (ja) 2008-09-04 2008-09-04 デバイスドライバ、及び記録媒体
US12/551,896 US8402478B2 (en) 2008-09-04 2009-09-01 Storing medium having a device driver for controlling a plurality of types of peripheral devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008227469A JP4831147B2 (ja) 2008-09-04 2008-09-04 デバイスドライバ、及び記録媒体

Publications (2)

Publication Number Publication Date
JP2010061469A JP2010061469A (ja) 2010-03-18
JP4831147B2 true JP4831147B2 (ja) 2011-12-07

Family

ID=41727252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008227469A Active JP4831147B2 (ja) 2008-09-04 2008-09-04 デバイスドライバ、及び記録媒体

Country Status (2)

Country Link
US (1) US8402478B2 (ja)
JP (1) JP4831147B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4821842B2 (ja) * 2008-12-12 2011-11-24 コニカミノルタビジネステクノロジーズ株式会社 画像形成制御装置、画像形成制御方法および画像形成制御プログラム
JP5836667B2 (ja) * 2010-11-17 2015-12-24 キヤノン株式会社 情報処理装置、情報処理方法、プログラム、システム及び画像処理方法
JP5861377B2 (ja) 2011-01-27 2016-02-16 セイコーエプソン株式会社 記録装置、記録システム、及び記録装置の制御方法
TWI488116B (zh) * 2011-10-20 2015-06-11 Acer Inc 電子系統及相關之管理方法
JP5420695B2 (ja) * 2012-02-28 2014-02-19 京セラドキュメントソリューションズ株式会社 ソフトウェア開発用構造化データファイル作成装置
JP5835486B2 (ja) * 2012-07-19 2015-12-24 日本電気株式会社 情報処理システムのデバイス初期設定カスタマイズ方法
JP6225822B2 (ja) * 2014-05-13 2017-11-08 株式会社リコー 出力システム、端末装置、プログラム及び出力方法
JP6787055B2 (ja) * 2016-07-21 2020-11-18 株式会社リコー プログラム、情報処理装置、および情報処理システム
JP6418304B2 (ja) * 2017-10-12 2018-11-07 株式会社リコー 出力システム、端末装置、プログラム及び出力方法
CN109582320B (zh) * 2018-08-08 2022-05-10 深圳市飞速创新技术股份有限公司 写码方法及终端设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001236298A (ja) 2000-02-22 2001-08-31 Minolta Co Ltd データ処理装置,印刷システム及びそれらのドライバソフト設定制御方法
JP2003058332A (ja) * 2001-08-09 2003-02-28 Ricoh Co Ltd プリンタ制御方法及び該方法を実行するためのプログラムを格納したコンピュータ読み取り可能な記憶媒体
JP4063512B2 (ja) 2001-09-25 2008-03-19 キヤノンマーケティングジャパン株式会社 印刷制御装置、及びその印刷制御方法、並びにプログラム
JP2003202987A (ja) 2002-01-07 2003-07-18 Fujitsu Ltd ネットワーク・デバイスのドライバ用のインストーラ
US7106472B2 (en) * 2002-10-31 2006-09-12 Hewlett-Packard Development Company, L.P. Print driver for an extended printing device
JP2005141367A (ja) 2003-11-05 2005-06-02 Sony Corp 記録媒体、インストール補助プログラム、インストール方法及び情報処理装置
US20050108705A1 (en) 2003-11-05 2005-05-19 Masayoshi Koyama Installing method, network apparatus, identification information communicating method, information processing apparatus, connection information acquiring method, connection information displaying method, recording medium, and program
JP4551784B2 (ja) 2005-02-10 2010-09-29 キヤノン株式会社 カスタムプリンタドライバインストーラ
JP2007011704A (ja) * 2005-06-30 2007-01-18 Canon Inc 情報処理装置及びその制御方法及びプログラム

Also Published As

Publication number Publication date
US20100058360A1 (en) 2010-03-04
JP2010061469A (ja) 2010-03-18
US8402478B2 (en) 2013-03-19

Similar Documents

Publication Publication Date Title
JP4831147B2 (ja) デバイスドライバ、及び記録媒体
JP4912195B2 (ja) 印刷制御装置と印刷制御方法及びプログラム
JP4974909B2 (ja) 情報処理装置、印刷設定方法、記憶媒体、プログラム
JP5924992B2 (ja) 情報処理装置、情報処理方法とプログラム
US8649030B2 (en) Controlling an information processing apparatus on which a plurality of printer drivers are installed
US20120062919A1 (en) Print control device, print control method, and program thereof
JP5704834B2 (ja) 情報処理装置および制御方法およびプログラム
JP2012226664A (ja) 情報処理装置、印刷設定方法、及びプログラム
JP2011237853A (ja) 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム
JP5317817B2 (ja) 情報処理装置、プリンタドライのバインストール方法、及び、プログラム
US9965231B2 (en) Printer driver and information processing device
JP2011164713A (ja) 情報処理装置、制御方法、及びプログラム
US10120626B1 (en) Information processing apparatus, recording medium, and information processing method
JP2009003621A (ja) 印刷装置及び分散印刷制御装置
JP5648288B2 (ja) 印刷制御プログラム、コンピュータ読み取り可能な記録媒体、情報処理装置、及び印刷装置
US11579815B1 (en) Methods and system for implementing print options for a printing device using visual information
JP6265177B2 (ja) プリンタードライバー及び情報処理装置
JP2017027371A (ja) プリンタードライバー及び情報処理装置
JP7171227B2 (ja) 情報処理装置、その制御方法およびアプリケーション
JP2014134992A (ja) 情報処理装置、情報処理方法、及びプログラム
JP4506188B2 (ja) 印刷処理システム
JP6620452B2 (ja) 情報処理装置及びプログラム
JP5440254B2 (ja) 情報処理装置,印刷装置,印刷システム,印刷制御プログラム,および記録媒体
JP2013084185A (ja) ドライバソフトウエアインストール方法
JP2015158804A (ja) 情報処理装置及びその制御方法、並びに、印刷システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101001

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110701

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110708

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110823

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110905

R150 Certificate of patent or registration of utility model

Ref document number: 4831147

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140930

Year of fee payment: 3