JP4087788B2 - 情報処理装置及びその制御方法、プログラム - Google Patents

情報処理装置及びその制御方法、プログラム Download PDF

Info

Publication number
JP4087788B2
JP4087788B2 JP2003435293A JP2003435293A JP4087788B2 JP 4087788 B2 JP4087788 B2 JP 4087788B2 JP 2003435293 A JP2003435293 A JP 2003435293A JP 2003435293 A JP2003435293 A JP 2003435293A JP 4087788 B2 JP4087788 B2 JP 4087788B2
Authority
JP
Japan
Prior art keywords
printer
information
operating system
plug
processing apparatus
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.)
Expired - Fee Related
Application number
JP2003435293A
Other languages
English (en)
Other versions
JP2005196261A (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.)
Canon Marketing Japan Inc
Original Assignee
Canon Marketing Japan 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 Marketing Japan Inc filed Critical Canon Marketing Japan Inc
Priority to JP2003435293A priority Critical patent/JP4087788B2/ja
Publication of JP2005196261A publication Critical patent/JP2005196261A/ja
Application granted granted Critical
Publication of JP4087788B2 publication Critical patent/JP4087788B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、デバイスを管理するための管理情報の設定を制御するデバイス制御情報を作成する情報処理装置及びその制御方法、プログラムに関するものである。
コンピュータのオペレーティングシステム(以下、OS)には、プラグアンドプレイという概念が存在する。これは、コンピュータ本体にハードウェア/外部機器を接続するだけで、そのハードウェア/外部機器を使用できる ようにする仕組みである。例えば、プラグアンドプレイの規格に対応したUSBデバイス(USBインターフェースを有するデバイス(例えば、プリンタ、スキャナ等))は、ハードウェア情報(例えば、機種情報(ベンダーID(Vid)とプロダクトID(Pid))や個体情報(個体ID))をUSBデバイスを特定するための固有識別情報として、コンピュータのOSに伝達し、OSはその固有識別情報を元に、そのUSBデバイスを管理し、使用可能にするために、そのデバイスドライバやデバイス設定情報をインストールしたり、設定したりする。
USBデバイスの好適な一例であるUSBプリンタにおいて、米国マイクロソフト社のOSであるWindows(登録商標)では、いままでに接続されたことの無いプリンタが接続された場合、プラグアンドプレイにより取得したハードウェアIDをユーザにわかりやすい名称(以下、プリンタ名称)で表現し、OSが提供するグラフィックユーザインターフェース上にそのプリンタ名称を持ったプリンタオブジェクトを作成する。
そして、プリンタオブジェクトが既に作成済みであるプリンタが再度接続された場合は、該当するプリンタオブジェクトを有効にする。この場合、ユーザは、プリンタを使用するとき、有効になったプリンタオブジェクトを選択することとなる。
ここで、既にプリンタドライバがインストール済みのプリンタと同じ機種情報を有するプリンタ、つまり、同機種の接続したことのない別個体のUSBプリンタを接続した場合を考える。この場合、OSは個体情報を比較し、既に接続されたことがあるプリンタと同じ機種情報を有するものでも別のUSBプリンタと判断する。その結果、既にインストールされたプリンタオブジェクトの複製を作成して、それを接続されたプリンタに割り当て管理する。
また、特許文献1では、過去に接続された周辺機器のベンダーID(Vid)とプロダクトID(Pid)とデバイスIDと接続パス情報と、現在接続されている周辺機器の情報とを比較する。そして、比較した情報同士が一致する場合、過去に付与したポート名称と同一のポート名称をその周辺機器に付与する。一方、比較した情報同士が一致しない場合は、新たにポート名称を作成し、現在接続されている周辺機器のベンダーIDと及びデバイスIDと共に接続パス情報と生成したポート名称とをホストコンピュータの記憶装置に記憶することが記載されている。
特開2003−196224
このように、プラグアンドプレイ機能を有するWindows(登録商標)環境では、例えば、同機種のプリンタであっても異なる個体IDを持ったプリンタを新規にコンピュータに接続した場合には、既にインストールされた同機種のプリンタオブジェクトの複製が作成されることになる。
しかしながら、この方法では同じ機種情報を持つ、つまり、同機種のプリンタを複数所有し、使用しているユーザにとって不便が生じる場合がある。
つまり、ユーザにとって同機種のプリンタが複数台あったとしても、それを交互に使う場合、プリンタ設定情報やプリンタオブジェクトは同じものを使用したい要求があるからである。例えば、10名の営業マンが5台のモバイルプリンタを使用する場合、各営業マンは同一のモバイルプリンタを使用するわけではなく、使用したい日に空いている任意のモバイルプリンタを客先等に持参して、自分のノートパソコンに接続して提案資料等を印刷するなどの場合が考えられる。
このように、プリンタの個数分プリンタオブジェクトが存在すると、ユーザは、使用するプリンタオブジェクトを適宜切り替えなければならず、また、印刷の設定も個々に設定しなおさなければいけないと言う手間が生じる。つまり、上記の例では、各営業マンは最大5個までのプリンタオブジェクトが自己のノートパソコンに存在してしまい、印刷時に実際に接続されているモバイルプリンタを確認して切り替える手間が生じる。
また、プリンタの故障時にそのプリンタの代替機を使用する場合は、代替機を接続することによって、その故障したプリンタに対するプリンタオブジェクトに加えて、代替機に対応する新しいプリンタオブジェクトが作成されることになる。しかしながら、作成されるプリンタオブジェクトは、故障機と代替機とで区別して表示されるわけではないので、どのプリンタオブジェクトが代替機のものであるかを容易に判別することができない。加えて、同一機種にも関わらず、プリンタ設定等の初期設定を再度行わなければならず手間が生じる。
また、特許文献1では、ベンダーID(Vid)とプロダクトID(Pid)に基づいて、接続される周辺機器を識別しているが、新たな周辺機器が接続された場合には、新たなポートが付与されてしまい、上記例と同様の課題があった。
本発明は上記の課題を解決するためになされたものであり、デバイスを管理するための管理情報を、使用する環境に応じて、好適に管理、設定することができる情報処理装置及びその制御方法、プログラムを提供することを目的とする。
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
デバイスを管理するためのデバイスオブジェクトを生成するオペレーティングシステムを備える情報処理装置であって、
前記オペレーティングシステムにより管理されるレジストリ領域から、既に情報処理装置にインストールされているデバイスのベンダー識別情報とプロダクト識別情報を含むデバイス情報を取得するデバイス情報取得手段と、
前記デバイス情報取得手段で取得したデバイス情報に従って、同機種のデバイスが接続されたプラグアンドプレイ時に、新規にデバイスオブジェクトが前記オペレーティングシステムによって作成されることを禁止するための、前記ベンダー識別情報と前記プロダクト識別情報とを含むプラグアンドプレイ制御情報を生成する生成手段と、
同機種のデバイスが接続された際に、前記オペレーティングシステムによって同機種のデバイスのデバイスオブジェクトが新規に作成されることを禁止するために、前記オペレーティングシステムがデバイスオブジェクトを作成する際に参照するレジストリ領域に、前記生成手段で生成されたプラグアンドプレイ制御情報を設定する設定手段と
を備える。
また、好ましくは、処理対象となるデバイスを特定するためのデバイス名称を取得するデバイス名称取得手段とを更に備え、
前記ベンダー識別情報とプロダクト識別情報を含むデバイス情報は、前記デバイス名称取得手段で取得されたデバイス名称に従って取得される。
また、好ましくは、既に情報処理装置にインストールされているデバイスの一覧情報を取得するデバイス一覧情報取得手段と、
前記デバイス一覧情報取得手段で取得したデバイスの一覧情報を表示する表示制御手段と、
前記表示制御手段で表示された一覧情報からデバイスを選択する選択手段とを更に備え、
前記デバイス名称は、前記選択手段で選択されたデバイスに従って取得される。
上記の目的を達成するための本発明による情報処理装置の制御方法は以下の構成を備える。即ち、
デバイスを管理するためのデバイスオブジェクトを生成するオペレーティングシステムを備える情報処理装置の制御方法であって、
前記オペレーティングシステムにより管理されるレジストリ領域から、既に情報処理装置にインストールされているデバイスのベンダー識別情報とプロダクト識別情報を含むデバイス情報を取得するデバイス情報取得工程と、
前記デバイス情報取得工程で取得したデバイス情報に従って、同機種のデバイスが接続されたプラグアンドプレイ時に、新規にデバイスオブジェクトが前記オペレーティングシステムによって作成されることを禁止するための、前記ベンダー識別情報と前記プロダクト識別情報とを含むプラグアンドプレイ制御情報を生成する生成工程と、
同機種のデバイスが接続された際に、前記オペレーティングシステムによって同機種のデバイスのデバイスオブジェクトが新規に作成されることを禁止するために、前記オペレーティングシステムがデバイスオブジェクトを作成する際に参照するレジストリ領域に、前記生成工程で生成されたプラグアンドプレイ制御情報を設定する設定工程と
を備える。
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
デバイスを管理するためのデバイスオブジェクトを生成するオペレーティングシステムを備える情報処理装置の制御をコンピュータに実行させるためのプログラムであって、
前記オペレーティングシステムにより管理されるレジストリ領域から、既に情報処理装置にインストールされているデバイスのベンダー識別情報とプロダクト識別情報を含むデバイス情報を取得するデバイス情報取得工程と、
前記デバイス情報取得工程で取得したデバイス情報に従って、同機種のデバイスが接続されたプラグアンドプレイ時に、新規にデバイスオブジェクトが前記オペレーティングシステムによって作成されることを禁止するための、前記ベンダー識別情報と前記プロダクト識別情報とを含むプラグアンドプレイ制御情報を生成する生成工程と、
同機種のデバイスが接続された際に、前記オペレーティングシステムによって同機種のデバイスのデバイスオブジェクトが新規に作成されることを禁止するために、前記オペレーティングシステムがデバイスオブジェクトを作成する際に参照するレジストリ領域に、前記生成工程で生成されたプラグアンドプレイ制御情報を設定する設定工程と
コンピュータに実行させる。
本発明によれば、デバイスを管理するための管理情報を、使用する環境に応じて、好適に管理、設定することができる情報処理装置及びその制御方法、プログラムを提供できる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
<実施形態1>
図1は本発明の実施形態1のプリンタ制御システムの機能構成を示すブロック図である。
このプリンタ制御システムは、ホストコンピュータ100とプリンタA200から構成されている。また、プリンタB400は、プリンタA200と同機種のプリンタである。両者の間はUSBケーブル300により接続され、プリンタA200とプリンタB400は交互に切り替えて接続される。
尚、実施形態1では、プリンタA200とプリンタB400を交互に切り替えて接続する場合を例に挙げて説明するが、3台以上の同機種のプリンタを適宜切り替えて接続する場合についても、本発明は適用できる。
ホストコンピュータ100は、ホストコンピュータ100全体の動作を制御する中央演算処理部101と、記憶部102と、プリンタ制御部103と、インターフェース制御部104と、入力部105と、ディスプレイ表示部106とを備えている。
プリンタ制御部103は、OSやユーティリティツール(ソフトウェア)で実現され、ハードディスク、CD−ROM等の記憶媒体である記憶部102に格納されている。
ここで、ホストコンピュータ100の構成要素の一例について、図2を用いて説明する。
図2は本発明の実施形態1のホストコンピュータの構成要素を示す図である。
図2において、ホストコンピュータ100は、ハードウェア構成要素として、例えば、中央演算処理装置(CPU)1101、RAM1102、ROM1103、LANアダプタ1104、ビデオアダプタ1105、マウス1106、キーボード1107、ハードディスク1108、CD−ROMドライブ1109、USBインターフェース1110を有し、これらの各種構成要素は、システムバス1100を介して相互に接続されている。
ここで、システムバス1100は、例えば、PCIバス、AGPバス、メモリバス等を意味する。また、図2では、各バス間の接続用チップやキーボードインタフェースや、いわゆるSCSIやATAPIのような入出力用インタフェースを省略している。
尚、中央演算処理装置1101は、図1の中央演算処理部101を実現する。また、RAM1102、ROM1103、ハードディスク1108及びCD−ROMドライブ1109は、図1の記憶部102を実現する。また、LANアダプタ1104、ビデオアダプタ1105及びUSBインターフェース1110は、図1のインターフェース制御部104を実現する。また、マウス1106及びキーボード1107は、図1の入力部105を実現する。
中央演算処理装置1101は、オペレーティングシステムのプログラムやアプリケーションプログラムに基づいて、四則演算や比較演算等の各種演算、ハードウェアの制御等を行う。RAM1102には、ハードディスク1108やCD−ROMドライブ1109に装着されたCD−ROMやCD−R等の記憶媒体から読み出されたオペレーティングシステムのプログラムやアプリケーションプログラム等が一時的に記憶され、これらは中央演算処理装置1101の制御の元に実行される。
ROM1103には、オペレーティングシステムと協働してハードディスク1108等への入出力を司るいわゆるBIOS等が記憶される。LANアダプタ1104は、中央演算処理装置1101によって制御されるオペレーティングシステムの通信プログラムと協働してネットワークを介した外部との通信を行う。
ビデオアダプタ1105は、ディスプレイ装置に出力する画像信号を生成する。キーボード1107やマウス1106は情報処理装置への指示を入力するために用いられる。ハードディスク1108は、オペレーティングシステムやアプリケーションプログラム、図1のプリンタ制御部103を実現するユーティリティーツール等の各種プログラムを記憶している。
CD−ROMドライブ1109は、例えば、CD−ROMやCD−RやCD−R/W等の記憶媒体を装着してアプリケーションプログラムをハードディスク1106にインストールするのに用いる。尚、CD−ROMドライブ1109の代わりに、CD−RドライブやCD−R/WドライブやMOドライブ等の各種ディスクドライブを用いても良いことは言うまでもない。
図1の説明に戻る。
プリンタA200は、ファームウェア部201を備えており、機種ID202(Vid、Pid)と個体ID203の2つの識別子を管理している。また、USBインターフェース204を備えている。機種ID202は、プリンタA200の機種を識別している。個体ID203は、プリンタA200の個体を識別する固有の値である。
ここで、機種IDの内、Vidは、プリンタのベンダーを識別するためのベンダーIDであり、Pidは、プリンタの機種を識別するためのプロダクトIDである。
また、プリンタB400は、プリンタA200と同機種のプリンタで、ファームウェア部401を備え、機種ID402と個体ID403の2つの識別子を管理している。また、USBインターフェース404を備える。プリンタB400はプリンタA200と同ベンダーかつ同機種のプリンタであるため、プリンタA200の機種ID(Vid、Pid)202とプリンタB400の機種ID(Vid、Pid)402は同一である。これに対し、それぞれのプリンタの個体ID203と個体ID403は異なるものである。
尚、個体ID203及び403には、USBインタフェースを識別するUSB IDを含むようにしてもよい。
尚、プリンタA200やプリンタB400の印刷方式は、例えば、インクジェット方式、レーザビーム方式、熱転写方式等の各種印刷方式を利用することができ、利用する印刷方式によって、その印刷方式を実現するためのプリンタエンジンやコントローラ、記録部を有している。
ここで、プリンタA200やプリンタB400のハードウェア構成について、図3を用いて説明する。
図3は本発明の実施形態1のプリンタのハードウェア構成を示す図である。
図3において、1900はプリンタの電源部であり、1901は電源のON/OFF操作を実現する電源スイッチである。1902は電源スイッチ1901の操作内容を示す操作信号をMPU1906へ伝達する信号線である。この操作信号は、信号1903への割込信号としてMPU1905へ伝達されるため、MPU1905において、優先的に処理される。1904はプリンタコントローラ1905、MPU1906、ROM1907を接続するデータバスである。
ROM1907には、MPU1906の動作、処理を記述したプログラムが記憶されている。このプログラムは、一般的にはファームウェアと呼ばれ、図1のプリンタA200のファームウェア部201、プリンタB400のファームウェア部401に相当する。また、ROM1907には、プリンタA200ではその機種ID202及び個体ID203、プリンタB400ではその機種ID402及び個体ID403が記憶されている。
1905はプリンタコントローラであり、プリンタ内の各種メモリ(例えば、ROM1907、DRAM1908等)、プリンタ駆動部、インターフェース部等の動作を制御する機能を有する。DRAM1908は、MPU1906が処理を行う場合にデータ等を一時的に記憶する記憶領域を提供するRAMである。
1909はプリンタ駆動部内のヘッドモータ1911やフィードモータ1912の制御を行う信号を伝達する信号線である。ヘッドモータ1911は、例えば、インクを吐出することで記録媒体に記録を行うプリントヘッド1913を動作させるモータである。フィードモータ1912は、プリンタにセットされた記録媒体の給紙排紙や、プリントヘッド1913による記録に伴う記録媒体の搬送を行うためのモータである。1910はプリントヘッド1913の動作を制御する制御線である。
1914はデータバスであり、インターフェース部内のインターフェースコントローラ1915とプリンタコントローラ1905間のデータの送受信に用いられる。例えば、このデータバス1914によって、ホストコンピュータ100から受信したデータがインターフェースコントローラ1915からプリンタコントローラへ転送される。
1918はUSBインターフェース1918であり、プリンタA200ではUSBインターフェース204、プリンタB400ではUSBインターフェース404に相当する。
1916はフラッシュメモリであり、USB MPU1919がUSBインターフェース1918を制御するためのプログラムが記憶されている。
1917はインターフェースコントローラ1915とフラッシュメモリ1916、USB MPU1919を相互に接続する信号線である。
次に、プリンタ制御部103の詳細構成について、図4を用いて説明する。
図4は本発明の実施形態1のプリンタ制御部の詳細構成を示す図である。
プリンタ制御部103は、オペレーティングシステム1000と、その上で動作するアプリケーション1005、プリンタドライバ1006、ユーティリティツール1007によって構成される。
オペレーティングシステム1000は、プラグアンドプレイを実現させるプラグアンドプレイマネージャ1001と印刷要求を管理するスプーラ1002、ユーザインターフェース(UI)1003、デバイスドライバの設定や、アプリケーションの設定等の各種情報を管理しているデータベースであるレジストリ1004を備える。
インターフェース制御部1009は、図1のインターフェース制御部104に相当する。また、USBプリンタ1010は、図1のプリンタA200やプリンタB400に対応する。
USBプリンタ1010が接続されると、インターフェース制御部1009の一部であるUSBインターフェースは、接続したプリンタの機種IDや個体IDを含むプリンタに関するプリンタ情報を取得して、プラグアンドプレイマネージャ1001に渡す。
このプリンタ情報を取得した時に、そのプリンタ情報中から得られる一時的な情報は、図2のRAM1102等の記憶部内に保存され、オペレーティングシステム1000等の各種プログラムが使用する。また、ここで取得する一時的な情報は、ここであげた2つの情報以外も存在し、これについては、図5を用いて後述する。
このように、プラグアンドプレイマネージャ1001は、接続されたハードウェアの認識を行う。
スプーラ1002は、USBプリンタ1010からのプリントジョブを一時的に記憶し、順次印刷処理を行うための機構である。このスプーラ1002のプロセスは、プリンタのポートごとに行われるものであり、オペレーティングシステム1000が提供する機構である。このスプーラ1002に関係するポート情報は、USBプリンタ1010接続時にプラグアンドプレイマネージャ1001が取得するプリンタ情報の中に含まれ、プラグアンドプレイマネージャ1001はプリンタのポート名とスプーラを関連付ける処理を行う。
UI1003は、オペレーティングシステム1000がディスプレイに表示するユーザインターフェースである。プラグアンドプレイマネージャ1001は、接続されたUSBプリンタ1010を認識した後、UI1003に対してプリンタオブジェクトの作成処理を行う。
ここで、レジストリ1004へ登録されるプリンタ情報の一例について、図5を用いて説明する。
図5は本発明の実施形態1のプリンタ情報の一例を示す図である。
プリンタ情報1201は、複数種類の情報から構成されており、以下、各情報の内容について説明する。
まず、1202はプリンタサーバ名である。1203はプリンタ名である。このプリンタ名が、プリンタオブジェクト名となる。1204はネットワーク共有名であり、プリンタがネットワークで共有されているときのプリンタ名を表すものである。1204はポート情報であり、これには、ポート名や番号等が含まれる。
1205はプリンタドライバ名であり、このプリンタ情報1201に対応するプリンタが使用するプリンタドライバの名称を表すものである。1207はプリンタに対するコメントを表すものである。1208はプリンタ設定情報であり、この詳細については後述する。1209は区切りページファイル名であり、プリンタから印刷する際に印刷ジョブと印刷ジョブの間に注入する区切りのページファイル名を指定するものである。
1210はプリントプロセッサ名であり、プリンタが印刷処理を行うときに使用するプリントプロセッサの名称を表すものである。1211はスプールデータ名である。ここで、スプールデータの形式には、例えば、RAWデータやEMFデータ形式等があるが、この名称はどのスプールデータ形式を使用するかを表すものである。
1212はプリンタパラメータであり、プリンタに与える各種パラメータを表すものである。1213はプリンタのセキュリティ情報であり、プリンタにアクセスが許可されているユーザの情報等を表すものである。1214は印刷ジョブの優先順位情報である。1215は標準ジョブの優先順位情報であり、デフォルトのジョブの優先順位情報を表すものである。1216は印刷可能開始設定時刻、1217は印刷可能終了設定時刻である。1218はプリンタの状態を示す状態情報である。1219はプリンタの保持するジョブ数を表すものである。1220はプリンタの平均印刷時間を表すものである。
図4の説明に戻る。
プラグアンドプレイマネージャ1001は、接続されたUSBプリンタ1010を認識すると、その旨をオペレーティングシステム1000上で実行されるアプリケーション1005に対して通知を行う。
例えば、Windows(登録商標)オペレーティングシステム上では、ウィンドウメッセージと呼ばれる特定のメッセージを起動されているアプリケーション1005や、ユーティリティツール1007に対して発行する。そのメッセージを受けたアプリケーション1005やユーティリティツール1007は個々にプリンタの追加を認識することができる。
また、プラグアンドプレイマネージャ1001は、接続されたUSBプリンタ1010の適切なプリンタドライバ1006の読み込みも行う。
ホストコンピュータ100にインストールされているユーティリティツール1007では、プラグアンドプレイマネージャ1001によって登録されたUI1003の情報や、レジストリ1004の情報を操作する仕組みを備えている。そして、ユーティリティツール1007は、例えば、Win32APIと呼ばれるオペレーティングシステムが備えているAPI(アプリケーションプログラムインタフェース)関数1008を用いて、上述した情報を操作することが可能である。
次に、プリンタA200をホストコンピュータ100に接続した場合に、ホストコンピュータ100が実行するプラグアンドプレイインストールについて説明する。
図1において、ホストコンピュータ100にプリンタA200をUSBケーブル300で接続すると、ホストコンピュータ100のインターフェース制御部104は、プリンタA200の機種ID202と個体ID203を含むプリンタ情報を取得する。
上述したとおり、このプリンタ情報はインターフェース制御部104を介して、記憶部102(例えば、レジストリ1004やRAM1102等)の一時記憶領域を使用して、プリンタ制御部103に渡される。
プリンタ制御部103の一部であるオペレーティングシステム1000が備えるプラグアンドプレイマネージャ1001は、記憶部102より取得したプリンタ情報と、ファームウェア部401(例えば、フラッシュメモリ1916やROM1907等)より取得した機種ID202や個体ID203を基に、接続されたプリンタA200が新規に接続されたプリンタであるか否かを判定する。
そして、その判定結果に基づいて、ディスプレイ表示部106で表示するプリンタ管理画面内にプリンタオブジェクトを作成する。また、このプリンタオブジェクトに対応するプリンタのプリンタドライバを記憶部102にインストールする。
尚、プリンタオブジェクトとは、少なくとも一台のプリンタ毎に対応する、例えば、プリンタドライバによって用いられる管理情報であり、プリンタアイコンとしても表示可能である。また、この管理情報には、プリンタの種類等を特定することが可能な上記のプリンタ情報が含まれる。
例えば、プリンタオブジェクトは、例えば、Windows(登録商標)においては、レジストリ情報と呼ばれるデータベース(レジストリ1004)の形式で管理されている。そして、記憶部102に記憶されている表示制御手段の一例であるオペレーティングシステム1000が、該レジストリ情報を読み出すことにより、プリンタ管理画面内で生成するプリンタアイコン画像として、プリンタオブジェクトを表示する処理を制御することができる。
次に、プリンタA200を切り離し、プリンタB400を接続するとホストコンピュータ100のインターフェース制御部104は、ファームウェア部401よりプリンタB400の機種ID402と個体ID403を含むプリンタ情報を取得する。
プリンタ制御部103の一部であるオペレーティングシステム1000が備えるプラグアンドプレイマネージャ1001は、記憶部102より取得したプリンタ情報と、ファームウェア部401より取得した機種ID402や個体ID403を元に、接続されたプリンタB400が新規に接続されたプリンタであるか否かを判定する。
この場合、プリンタB400の機種ID402は、既にインストールされているプリンタA200の機種ID202と同一であるが、個体IDが異なるため、新規にプリンタオブジェクトを作成して、プリンタ管理画面内に表示する。
実際には、これらのインターフェース制御部104やプリンタ制御部103の処理は、中央演算処理部101でのソフトウェア実行により実現される。そのプログラムは、OSやユーティリティソフトウェアとして実装するのが一般的であるが、専用ハードウェアで実現されても良い。
実施形態1では、Windows(登録商標)環境で実施する例を挙げて説明するが、本発明は、このような構成に限定されるものではない。
また、下記のように処理してもよい。ユーティリティツール1007は、デバイスの好適な一例であるプリンタ毎に対応付けられて管理されるデバイス標識情報の一例であるプリンタアイコン(プリンタオブジェクトという場合もある。)を表示部の一例であるディスプレイ表示部106に表示する処理を制御する。
つまり、ユーティリティツール1007は、プリンタが通信媒体の一例であるUSBインタフェース300を介してホストコンピュータ100に接続されるのに応答して、デバイスのデバイス識別情報の一例であるプリンタ情報を、USBインタフェース300とオペレーティングシステム1000を介して取得する。
そして、ユーティリティツール1007は、取得したプリンタ情報をレジストリ1004に登録する処理をオペレーティングシステム1000を介して制御する。そして、オペレーティングシステム1000は、レジストリ1004に登録されたプリンタアイコンをディスプレイ表示部106に表示する。つまり、ユーティリティツール1007は、プリンタアイコンをディスプレイ表示部106に表示する処理を制御する。
特に、実施形態1では、ユーティリティツール1007は、既にレジストリ1004に登録済みのプリンタ情報と、新たに接続されたプリンタから取得されたプリンタ情報とが一致する場合に、レジストリ1004に新たにプリンタオブジェクトを作成することを禁止する制御情報を設定することが可能である。
そして、この設定により、ホストコンピュータ100に接続される各種プリンタの内、任意の同機種のプリンタが異なるタイミングで複数回接続されても、対応するプリンタオブジェクトを複数作成することを禁止することが可能である。
換言すれば、制御情報が設定されているプリンタのプリンタ情報がプラグアンドプレイ(PnP)インストールによって登録されると、それ以降に同一のプリンタのプラグアンドプレイ(PnP)インストールが発生する状況になっても、そのプリンタのプリンタ情報を作成することが禁止される。つまり、制御情報が設定されているプリンタのプラグアンドプレイに対してオペレーティングシステム1000(プラグアンドプレイマネージャ1001)が実行する処理が制御される。
このような構成によって、ユーティリティツール1007は、既存のプリンタ情報と、新たに取得されたプリンタとが一致する場合、既存デバイスオブジェクトを新たに表示する表示処理を禁止する制御を実行することになる。この場合、既存のプリンタオブジェクトとこれに関連付けられた設定が引き継がれ、新たに接続されたプリンタに用いることが可能となる。
また、プリンタ情報はプリンタから取得した機種IDや個体ID等のプリンタを識別する識別情報や、取得した識別情報に基づき、オペレーティングシステム1000により生成(登録)された情報により構成されている。
さらに、識別情報はオペレーティングシステム1000あるいはユーティリティツール1007からの問い合わせに対してプリンタが識別情報を返すことによって取得しても良いし、プリンタが定期的に送るメッセージに基づきオペレーティングシステム1000が識別情報を取得するようにしても良い。
次に、ユーティリティツール1007で、ホストコンピュータ100で利用される各種プリンタの内、任意の同機種のプリンタに対して複数のプリンタオブジェクトを作成することを禁止するプリンタオブジェクト制御処理について、図6を用いて説明する。
尚、実施形態1のプリンタオブジェクト制御処理は、上述のプリンタ制御部103に備わるユーティリティツール1007によって実行されるが、オペレーティングシステム1000の一機能として制御することも可能である。
また、このプリンタオブジェクト制御処理は、ユーティリティツール1007を任意のタイミングで起動することで、ユーザが必要とする時点で、適宜、制御対象のプリンタに対して適用することが可能である。
図6は本発明の実施形態1のプリンタオブジェクト制御処理を示すフローチャートである。
尚、図6では、例えば、ホストコンピュータ100にプリンタB400を接続した後に、本処理を実行する例について説明するが、本処理は、ホストコンピュータ100にプリンタが接続されていない状態の任意のタイミングで実行することが可能である。
まず、ステップS601では、ホストコンピュータ100にインストールされているプリンタの一覧(インストール済プリンタ一覧)情報を取得する。例えば、Windows(登録商標)オペレーティングシステムによると、EnumPrinters()を実行し、ホストコンピュータ100のローカルメモリにインストールされている全プリンタのプリンタ情報を取得する。この際に、ホストコンピュータ100では、全プリンタのプリンタ情報を一覧情報として、例えば、RAM1102のメモリ領域に展開する。
ステップS602では、ステップS601で取得したプリンタ情報からプリンタ名1203(図5)を取得して、プリンタ名一覧画面を表示する。
尚、この時点では、ステップS601で取得したプリンタ情報には、同一機種のプリンタ情報が複数存在している場合があるが、ステップS602で取得するプリンタ名1203は、重複しない異なるプリンタ名(異なるプリンタドライバに対応する)を取得する。あるいは、同一機種のプリンタ情報が複数存在している場合でも、プリンタ条件等の設定情報が異なっている場合があるため、そのような場合には、同一機種のプリンタ情報を取得する。
ここで、プリンタ名一覧画面について、図7を用いて説明する。
図7は本発明の実施形態1のプリンタ名一覧画面の一例を示す図である。
図7のプリンタ名一覧画面700は、ステップS602で取得したプリンタ名の一覧を示す画面である。図7では、プリンタ名一覧として、「プリンタA〜D」と「その他のプリンタ」が表示されている。
ここで、「その他のプリンタ」とは、このプリンタ名一覧画面表示時点では、プリンタ名が不明なプリンタであることを示している。つまり、ホストコンピュータ100にプリンタが接続されているものの、そのプリンタに対応するプリンタドライバ1006がインストールされていない場合には、そのプリンタに対応するプリンタ情報が取得できず、正式なプリンタ名をこの時点では取得できないからである。
また、この「その他のプリンタ」は、プリンタが接続されていない、あるいはプリンタドライバがインストールされていないプリンタを、ユーザが制御対象としたいときに、ユーザが選択できるようにするための表示である。
ユーザは、このプリンタ名一覧画面700で表示されるプリンタ名から、プリンタオブジェクトの表示制御(プラグアンドプレイ制御)を適用する制御対象のプリンタを指定することができる。
特に、図7では、制御対象のプリンタとして、プリンタ名「プリンタB」を指定する状態を示している。そして、制御対象のプリンタを指定している状態で、OKボタン701を入力部105を介して押下すると、その制御対象のプリンタに対する処理として、ステップS603以降の処理を実行する。また、キャンセルボタン702を入力部105を介して押下すると、プリンタ名一覧画面700の表示を終了する。
一方、同一機種のプリンタ情報が複数存在していて、そのプリンタ条件等の設定情報が異なっている場合には、プリンタ名一覧画面700では、それぞれのプリンタ情報に対するプリンタ名を区別可能(例えば、プリンタA(1)、プリンタA(2)、プリンタA(3))に表示する。これにより、複数の同一機種のプリンタ情報から、所望の設定情報のプリンタ情報のプリンタを制御対象として選択することが可能である。
図6の説明に戻る。
ステップS603では、制御対象のプリンタが選択されたか否かを判定する。制御対象のプリンタが選択された場合(ステップS603でYES)、RAM1102上に選択されたプリンタ名を記憶し、ステップS604へ進む。一方、制御対象のプリンタが選択されない場合(ステップS603でNO)、制御対象のプリンタが選択されるまで待機する。
尚、この判定は、図7のプリンタ名一覧画面700に対する操作に基づいて実行する。つまり、プリンタ名一覧の中で任意のプリンタ名が選択された状態で、OKボタン701が押下された場合に、その選択されているプリンタ名が制御対象のプリンタとして選択されたと判定する。
ステップS604では、選択された制御対象のプリンタのプリンタドライバが既にインストールされている(つまり、過去に同機種あるいは同一のプリンタが選択されていた)か否かを判定する。プリンタドライバがインストールされている場合(ステップS604でYES)、ステップS605へ進む。一方、プリンタドライバがインストールされていない場合(ステップS604でNO)、例えば、プリンタ名一覧画面700で「その他のプリンタ」が制御対象のプリンタとして選択されている場合、ステップS606へ進む。
ステップS605では、選択された制御対象のプリンタのプリンタポートがUSBであるか否かを判定する。
尚、USBであるか否かの判定は、制御対象のプリンタに対応するプリンタ情報中のポート情報1205(図5)に基づいて判定する。
プリンタポートがUSBである場合(ステップS605でYES)、ステップS608へ進む。一方、プリンタポートがUSBでない場合(ステップS605でNO)、処理を終了する。
ステップS606では、選択された制御対象のプリンタのプリンタドライバのインストールを促す通知を実行する。この通知は、例えば、ダイアログでメッセージを表示させるようにしても、インストールするプリンタドライバをダウンロードするための画面を表示するようにしても良い。
ステップS607では、プリンタドライバがインストールされたか否かを判定する。プリンタドライバがインストールされた場合(ステップS607でYES)、ステップS605へ進む。一方、プリンタドライバがインストールされていない場合(ステップS607でNO)、プリンタドライバがインストールされるまで待機する。
ステップS608では、プログラム(例えば、オペレーティングシステム1000)中のレジストリ1004に予め記憶されている、プリンタ情報記憶領域を含むUSBデバイス情報記憶領域(例えば、レジストリ1004中のレジストリキー)を取得する。
尚、USBデバイス情報記憶領域は、ユーティリティツール1007のプログラム上に予め記述されている情報であっても良い。
ステップS609では、ステップS603で選択された制御対象のプリンタのプリンタ名(この場合、プリンタB)とステップS608で取得したUSBデバイス情報記憶領域(プリンタ情報記憶領域を含む)に基づいて、ステップS603で選択された制御対象のプリンタの機種を示すプリンタ機種情報を取得する。プリンタ機種情報の取得後、そのプリンタ機種情報は、RAM1102のメモリ領域に展開される。
例えば、Windows(登録商標)オペレーティングシステムによると、ステップS603で選択された制御対象のプリンタ名「プリンタB」は、レジストリキー「HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥ Print¥Printers¥プリンタB(プリンタ名)¥PnPData」に対応する。そして、このレジストリキー中の「DeviceInstanceId」の値から、プリンタBのプリンタ機種情報を特定するための文字列を取得する。
具体的には、「DeviceInstanceId」は、例えば、「USBPRINT¥プリンタB(プリンタ名)¥6&12D78F2A&USB0N(N:整数)」という記述からなっており、この記述の末尾にある「&USB0N」以前を走査して、初めて現れる「¥」までの間の文字列、つまり、「6&12D78F2A」をプリンタ機種情報を特定するための文字列として取得する。
その後、予め登録されているプリンタ情報記憶領域であるレジストリキー「HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Enum¥USB」の子キー内にある「ParentIdPrefix」のデータを適宜取得して、先に取得した文字列「6&12D78F2A」と比較する。
比較の結果、文字列が一致する場合、この「ParentIdPrefix」を持つキーの親キーが、プリンタBのプリンタ機種情報(Vid(ベンダーID)とPid(プロダクトID))となる。
ステップS610では、ステップ609で取得したプリンタ機種情報に基づいて、プラグアンドプレイ(PnP)を制御((プリンタオブジェクトの表示を制御)するためのPnP制御情報を生成する。Windows(登録商標)オペレーティングシステムでは、名前:IgnoreHWSerNum「Vid」「Pid」 データ:01(バイナリ)という形式(例えば、名前:IgnoreHWSerNum04a91076 データ:01(バイナリ))でレジストリの値を生成することで、本実施形態を実現可能にする。
尚、PnP制御情報とPnP制御情報のバイナリデータは、RAM1102に展開されても良いし、所定の情報ファイルに格納されるように構成しても良い。
また、実施形態1では、特に、PnP制御情報として、制御対象のプリンタに対するポート及びプリンタオブジェクトが、最初(初回)のプラグアンドプレイで一旦生成された後、次回以降(初回以降)の同機種あるいは同一のプリンタのプラグアンドプレイ時には、新たにポート及びプリンタオブジェクトがオペレーティングシステム1000によって作成されることを禁止する制御情報を生成する。
換言すれば、個体IDが異なる同機種のプリンタに対して複数のポート及びプリンタオブジェクトがオペレーティングシステム1000によって作成されることを禁止する制御情報を生成する。
このように、実施形態1で生成するPnP制御情報は、制御対象のプリンタのポートの作成を制御する(同機種あるいは同一のプリンタの初回以降のプラグアンドプレイ時には、同一機種に対し複数のポートの作成を禁止する)ポート制御情報と言い換えることができる。また、プリンタオブジェクトの作成も制御する(同機種あるいは同一のプリンタの初回以降のプラグアンドプレイ時には、同一機種に対し複数のプリンタオブジェクトの作成を禁止する)ことになるので、プリンタオブジェクト制御情報と言い換えることもできる。
ステップS611では、ステップ610で生成したPnP制御情報とPnP制御情報のバイナリデータを、例えば、RAM1102から呼び出し、レジストリ1004に登録する。例えば、登録する関数には、RegSetValueEx()がある。
ステップS612では、現在接続されているプリンタ機種情報を取得する。現在接続されているプリンタ機種情報は、例えば、「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbprint\Enum」に記述されている、現在USB接続を行っているプリンタのプリンタ機種情報を示す文字列を取得することで、取得可能である。
実際は、関数RegQueryValueEx()を、「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbprint\Enum」において実行することで、プリンタ機種情報(VidとPid)を取得する。
ステップS613では、ステップS603で選択された制御対象のプリンタのプリンタ機種情報と、ステップS612で取得したプリンタ機種情報が一致するかどうかを比較する。一致する場合(ステップS613でYES)、ステップS616へ進む。一方、一致しない場合(ステップS613でNO)、ステップS614へ進む。
ステップS614では、選択された制御対象のプリンタのUSB接続を外すこと通知する。この通知は、例えば、ダイアログでメッセージを表示させるようにすれば良い。
ステップS615では、ステップS614で通知した制御対象のプリンタのUSB接続が外れたか否かを判定する。USB接続が外れた場合(ステップS615でYES)、ステップS616へ進む。一方、USB接続が外れない場合(ステップS615でNO)、USB接続が外れるまで、待機する。
ステップS616では、ステップ603で選択された制御対象のプリンタのプリンタオブジェクトを削除する。また、プリンタオブジェクトを削除する関数としては、例えば、DeletePrinter()がある。また、制御対象のプリンタのプリンタオブジェクトが既に複数存在している場合には、それらのプリンタオブジェクトをすべて削除する。
ここで、ステップS616で、プリンタオブジェクトを削除するのは、ステップS611でPnP制御情報を登録すると、ステップ603で選択された制御対象のプリンタが使用できなくなってしまうためである。
ステップS617では、ステップ603で選択された制御対象のプリンタのUSBポート情報を削除する。USBポート情報の削除は、例えば、USBポート情報のあるレジストリキーをSHDeleteKey()で削除する。また、制御対象のプリンタのUSBポート情報が既に複数存在している場合には、それらのUSBポート情報をすべて削除する。
ここで、ステップS617で、USBポート情報を削除するのは、USBデバイスの場合、プリンタオブジェクトを削除するだけではUSBポート情報は削除できず、図8のポート名11001のように、ポート情報が残ってしまうので、USBポート情報をレジストリから削除する必要があるからである。
これにより、個体IDが異なる同機種の制御対象のプリンタに対しては、複数のポートが作成されることがなくなり、オペレティーングシステム1000に対する処理負荷を軽減することができる。
以上説明したように、実施形態1によれば、ユーザの指定したプリンタ機種においては、オペレーティングシステム1000によってプリンタオブジェクトが複数作成されることを禁止できる。そのため、ユーザは、異なる個体IDの同機種のプリンタを交互に使い分けて使用する場合にも、常に同じプリンタオブジェクトを使用することができるので困惑することもなく、プリンタを接続する毎に新たなプリンタ設定をする必要がなくなる。
また、同機種別固体のプリンタが接続されてもポートが毎回作成されないため、無駄なポートが作成されずオペレーティングシステム1000の処理の負担を軽減することができる。
<実施形態2>
実施形態1では、ホストコンピュータ100にインストール済(あるいはインストールを促すことによって設定された)プリンタのプリンタ機種情報に基づいて、制御対象のプリンタに対するPnP制御情報を生成して登録することで、そのプリンタと同機種あるいは同一のプリンタのプラグアンドプレイ時には、複数のポート及びプリンタオブジェクトがオペレーティングシステム1000によって作成されることを禁止する構成とした。
これに対し、実施形態2では、ホストコンピュータ100にインストールされていないプリンタに対しても、予め情報ファイルにそのプリンタ機種情報が登録されている場合には、そのプリンタに対するPnP制御情報を生成して登録することで、そのプリンタと同機種あるいは同一のプリンタのプラグアンドプレイ時には、複数のポート及びプリンタオブジェクトがオペレーティングシステム1000によって作成されることを禁止する構成について説明する。
以下、実施形態2のプリンタオブジェクト制御処理について、図9を用いて説明する。
図9は本発明の実施形態2のプリンタオブジェクト制御処理を示すフローチャートである。
尚、実施形態1の図6と同様のステップには、同じ番号を付し、その説明については省略する。
まず、ステップS601〜ステップS603の処理によって、制御対象のプリンタが選択される。
次に、ステップS701では、情報ファイル(図10)の有無を判定する。この情報ファイルには、PnP制御情報を生成するための情報(例えば、図10に示す、プリンタ機種情報(Vid、Pid)及びそのプリンタドライバ名)が格納されており、例えば、オペレーティングシステム1000の管理下でユーリティツール1007で参照可能な所定の初期設定ファイルとして、例えば、RAM1102に存在する。
情報ファイルがある場合(ステップS701でYES)、ステップS702へ進む。一方、情報ファイルがない場合(ステップS701でNO)、ステップS705へ進む。
ステップS702では、選択された制御対象のプリンタのプリンタドライバ名を取得する。これは、ステップS601によって、RAM1102に展開されたプリンタ情報(図5)から取得する。
ステップS703では、情報ファイルより、登録されているプリンタ機種情報とプリンタドライバ名を全て取得する。例えば、取得する関数としては、GetPrivateProfileString()がある。取得したプリンタ機種情報とプリンタドライバ名は、例えば、RAM1102に展開される。
尚、プリンタ機種情報とプリンタドライバ名とは複数機種分記憶されるように構成しても良い。また、情報ファイルには、プリンタ機種情報のバイナリデータを記憶させるように構成しても良い。
ステップS704では、選択された制御対象のプリンタのプリンタドライバ名と、情報ファイルのプリンタドライバ名が同じであるか否かを判定する。
プリンタドライバ名が同じである場合(ステップS704でYES)、ステップS610へ進む。一方、プリンタドライバ名が同じでない場合(ステップS704でNO)、ステップS705へ進む。
ステップS704でプリンタドライバ名が同じである場合(ステップS704でYES)、ステップS610及びステップS611を実行する。これにより、制御対象のプリンタに対するPnP制御情報とPnP制御情報のバイナリデータがレジストリ1004に登録される。
ステップS705では、選択された制御対象のプリンタのプリンタドライバがインストールされているか否かを判定する。プリンタドライバがインストールされている場合(ステップS705でYES)、ステップS706へ進む。一方、プリンタドライバがインストールされていない場合(ステップS705でNO)、処理を終了する。
ステップS706では、選択された制御対象のプリンタのプリンタポートがUSBであるか否かを判定する。
尚、USBであるか否かの判定は、制御対象のプリンタに対応するプリンタ情報中のポーと情報1205(図5)に基づいて判定する。
プリンタポートがUSBである場合(ステップS706でYES)、ステップS612に進む。一方、プリンタポートがUSBでない場合(ステップS706でNO)、処理を終了する。
ステップS706でプリンタポートがUSBである場合(ステップS706でYES)、ステップS612〜ステップS617を実行する。これにより、個体IDが異なる同機種の制御対象のプリンタに対しては、複数のポートが作成されることがなくなり、オペレティーングシステム1000に対する処理負荷を軽減することができる。
一方、ステップS701で情報ファイルが存在しない場合(ステップS701でNO)、あるいはステップS704でプリンタドライバ名が同じでない場合(ステップS704でNO)、ステップS705、ステップS706、ステップ608〜ステップ610を実行する。
ステップS707では、ステップS609で取得したプリンタ機種情報と対応するプリンタドライバ名を情報ファイルに登録する。例えば、登録する関数としては、WritePrivateProfileString()がある。
尚、情報ファイルが既に作成されている場合には、その情報ファイルにプリンタ機種情報とプリンタドライバ名を登録するように構成してもよく、情報ファイルの内容を全て書き換える(上書き)ように構成しても良い。一方、情報ファイルが作成されていない場合には、新規に情報ファイルを作成して登録してもよい。
また、ここでは、情報ファイルに、制御対象のプリンタのプリンタ機種情報とプリンタドライバ名を登録する構成としたが、ユーティリティツール1007が処理の実行時に参照可能な形態であれば、情報ファイルに限定されず、オペレーティングシステム1000管理下の初期設定ファイルや、所定の記憶領域あるいはメモリカード等の外部記憶媒体上に登録することも可能である。
更に、情報ファイルは、テキストエディタ等のアプリケーションによって、ユーザが任意のタイミングでその内容を適宜編集加工することができる。これにより、ユーザは、制御対象のプリンタに対するプリンタ情報がホストコンピュータ100に登録されていないくても、将来、制御対象となるプリンタに対するプリンタ情報を事前に登録し、かつそのプリンタに対するPnP制御情報を必要に応じて作成して登録することが可能となる。
以上説明したように、実施形態2によれば、情報ファイルに予め制御対象のプリンタに関するプリンタ情報を登録しておくことにより、その情報ファイルに登録されたプリンタ機種においては、プリンタオブジェクトを複数作成することを禁止する設定を実現できるため、ユーザが所望する形態でプリンタを管理することが可能である。
また、同機種別固体のプリンタが接続されてもポートが毎回作成されないため、無駄なポートが作成されずオペレーティングシステム1000の処理の負担を軽減することができる。
更に、よく使用されているプリンタのプリンタ機種情報を、まとめて事前に情報ファイルに作成して登録することができるので、ユーザのプリンタに係る管理の手間を省き効率の良い設定をおこなうことができる。
<実施形態3>
上記実施形態1及び2では、ユーザに制御対象のプリンタを選択させる構成としているが、直前にUSB接続でインストールされたプリンタあるいはよく使われているプリンタを制御対象として選択する構成としても良い。特に、同機種で別固体のプリンタを交互に複数台使用するユーザは、多くの場合、同一設定下でそのプリンタを使用することを意図する可能性が高い。そのため、このような構成にすることで、ユーザは、制御対象のプリンタを選択する操作自体から解放され、より操作効率を向上することができる。
ここで、よく使用されているプリンタの判定は、例えば、ホストコンピュータ100にプリンタが接続される毎に生成されるプリンタオブジェクトの数が、所定数(例えば、3台)以上である場合か否かで判定する。
尚、よく使用されているプリンタを通常使用するプリンタ(デフォルトプリンタ)としてもよく、通常使用するプリンタを制御対象とすることも可能である。
尚、上記実施形態1〜3では、ホストコンピュータ100に接続可能なデバイスとして、例えば、プリンタを例に挙げて説明したが、プリンタ以外のデバイス、例えば、スキャナ、デジタルカメラ等の各種デバイスに対しても、本発明を適用することができる。この場合、上述のプリンタオブジェクトやプリンタ情報(プリンタ機種情報)及びPnP制御情報(プリンタ制御情報)は、適用するデバイスに対応するデバイスオブジェクトやデバイス情報(デバイス機種情報)及びPnP制御情報(デバイス制御情報)を用いて、各実施形態を実行することになる。
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
本発明の実施形態1のプリンタ制御システムの構成を示すブロック図である。 本発明の実施形態1のホストコンピュータの構成要素を示す図である。 本発明の実施形態1のプリンタのハードウェア構成を示す図である。 本発明の実施形態1のプリンタ制御部の詳細構成を示す図である。 本発明の実施形態1のプリンタ情報の一例を示す図である。 本発明の実施形態1のプリンタオブジェクト制御処理を示すフローチャートである。 本発明の実施形態1のプリンタ名一覧画面の一例を示す図である。 本発明の実施形態1のポート情報を説明するための図である。 本発明の実施形態2のプリンタオブジェクト制御処理を示すフローチャートである。 本発明の実施形態2の情報ファイルの構成例を示す図である。
符号の説明
100 ホストコンピュータ
101 中央演算処理部
102 記憶部
103 プリンタ制御部
104 インターフェース制御部
105 入力部
106 ディスプレイ表示部
200 プリンタA
201 ファームウェア部
202 機種ID
203 個体ID
204 USBインターフェース
400 プリンタB
401 ファームウェア部
402 機種ID
403 個体ID
404 USBインターフェース

Claims (5)

  1. デバイスを管理するためのデバイスオブジェクトを生成するオペレーティングシステムを備える情報処理装置であって、
    前記オペレーティングシステムにより管理されるレジストリ領域から、既に情報処理装置にインストールされているデバイスのベンダー識別情報とプロダクト識別情報を含むデバイス情報を取得するデバイス情報取得手段と、
    前記デバイス情報取得手段で取得したデバイス情報に従って、同機種のデバイスが接続されたプラグアンドプレイ時に、新規にデバイスオブジェクトが前記オペレーティングシステムによって作成されることを禁止するための、前記ベンダー識別情報と前記プロダクト識別情報とを含むプラグアンドプレイ制御情報を生成する生成手段と、
    同機種のデバイスが接続された際に、前記オペレーティングシステムによって同機種のデバイスのデバイスオブジェクトが新規に作成されることを禁止するために、前記オペレーティングシステムがデバイスオブジェクトを作成する際に参照するレジストリ領域に、前記生成手段で生成されたプラグアンドプレイ制御情報を設定する設定手段と
    を備えることを特徴とする情報処理装置。
  2. 処理対象となるデバイスを特定するためのデバイス名称を取得するデバイス名称取得手段とを更に備え、
    前記ベンダー識別情報とプロダクト識別情報を含むデバイス情報は、前記デバイス名称取得手段で取得されたデバイス名称に従って取得される
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 既に情報処理装置にインストールされているデバイスの一覧情報を取得するデバイス一覧情報取得手段と、
    前記デバイス一覧情報取得手段で取得したデバイスの一覧情報を表示する表示制御手段と、
    前記表示制御手段で表示された一覧情報からデバイスを選択する選択手段とを更に備え、
    前記デバイス名称は、前記選択手段で選択されたデバイスに従って取得される
    ことを特徴とする請求項に記載の情報処理装置。
  4. デバイスを管理するためのデバイスオブジェクトを生成するオペレーティングシステムを備える情報処理装置の制御方法であって、
    前記オペレーティングシステムにより管理されるレジストリ領域から、既に情報処理装置にインストールされているデバイスのベンダー識別情報とプロダクト識別情報を含むデバイス情報を取得するデバイス情報取得工程と、
    前記デバイス情報取得工程で取得したデバイス情報に従って、同機種のデバイスが接続されたプラグアンドプレイ時に、新規にデバイスオブジェクトが前記オペレーティングシステムによって作成されることを禁止するための、前記ベンダー識別情報と前記プロダクト識別情報とを含むプラグアンドプレイ制御情報を生成する生成工程と、
    同機種のデバイスが接続された際に、前記オペレーティングシステムによって同機種のデバイスのデバイスオブジェクトが新規に作成されることを禁止するために、前記オペレーティングシステムがデバイスオブジェクトを作成する際に参照するレジストリ領域に、前記生成工程で生成されたプラグアンドプレイ制御情報を設定する設定工程と
    を備えることを特徴とする情報処理装置の制御方法。
  5. デバイスを管理するためのデバイスオブジェクトを生成するオペレーティングシステムを備える情報処理装置の制御をコンピュータに実行させるためのプログラムであって、
    前記オペレーティングシステムにより管理されるレジストリ領域から、既に情報処理装置にインストールされているデバイスのベンダー識別情報とプロダクト識別情報を含むデバイス情報を取得するデバイス情報取得工程と、
    前記デバイス情報取得工程で取得したデバイス情報に従って、同機種のデバイスが接続されたプラグアンドプレイ時に、新規にデバイスオブジェクトが前記オペレーティングシステムによって作成されることを禁止するための、前記ベンダー識別情報と前記プロダクト識別情報とを含むプラグアンドプレイ制御情報を生成する生成工程と、
    同機種のデバイスが接続された際に、前記オペレーティングシステムによって同機種のデバイスのデバイスオブジェクトが新規に作成されることを禁止するために、前記オペレーティングシステムがデバイスオブジェクトを作成する際に参照するレジストリ領域に、前記生成工程で生成されたプラグアンドプレイ制御情報を設定する設定工程と
    コンピュータに実行させることを特徴とするプログラム。
JP2003435293A 2003-12-26 2003-12-26 情報処理装置及びその制御方法、プログラム Expired - Fee Related JP4087788B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003435293A JP4087788B2 (ja) 2003-12-26 2003-12-26 情報処理装置及びその制御方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003435293A JP4087788B2 (ja) 2003-12-26 2003-12-26 情報処理装置及びその制御方法、プログラム

Publications (2)

Publication Number Publication Date
JP2005196261A JP2005196261A (ja) 2005-07-21
JP4087788B2 true JP4087788B2 (ja) 2008-05-21

Family

ID=34815449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003435293A Expired - Fee Related JP4087788B2 (ja) 2003-12-26 2003-12-26 情報処理装置及びその制御方法、プログラム

Country Status (1)

Country Link
JP (1) JP4087788B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034524A (ja) * 2005-07-25 2007-02-08 Omron Corp 情報処理装置、プログラムおよび記録媒体
JP4793000B2 (ja) * 2006-02-01 2011-10-12 ブラザー工業株式会社 印刷データ編集装置及び印刷データ編集プログラム
JP4746455B2 (ja) 2006-03-17 2011-08-10 富士通株式会社 コンピュータ装置、起動制御方法及び起動制御プログラム
JP2009104367A (ja) * 2007-10-23 2009-05-14 Ricoh Elemex Corp Usbアダプタ及びusbシステム
JP5282606B2 (ja) * 2009-02-26 2013-09-04 株式会社リコー 画像形成装置、画像形成装置の制御方法、プログラム、及び記録媒体
JP6841031B2 (ja) * 2016-12-26 2021-03-10 ブラザー工業株式会社 プリントサーバ
JP7367432B2 (ja) * 2019-09-30 2023-10-24 ブラザー工業株式会社 プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001312543A (ja) * 2000-04-28 2001-11-09 Suga Kogyo Kk 建築設備劣化診断システム
JP2002123380A (ja) * 2000-10-17 2002-04-26 Ricoh Co Ltd ネットワークプリントシステム
JP2002163225A (ja) * 2000-11-24 2002-06-07 Matsushita Electric Ind Co Ltd Usb接続制御方法およびusbシステム
JP2003022225A (ja) * 2001-07-09 2003-01-24 Sony Corp 機器制御装置および方法
JP2003099219A (ja) * 2001-09-25 2003-04-04 Star Micronics Co Ltd プリンタドライバのインストール方法
JP3862989B2 (ja) * 2001-10-16 2006-12-27 ローランド株式会社 電子楽器
JP2003196224A (ja) * 2001-12-28 2003-07-11 Star Micronics Co Ltd Usbポートドライバ及びポート名称付与方法
JP4027274B2 (ja) * 2002-12-27 2007-12-26 キヤノンマーケティングジャパン株式会社 情報処理装置及びその制御方法、プログラム

Also Published As

Publication number Publication date
JP2005196261A (ja) 2005-07-21

Similar Documents

Publication Publication Date Title
US8261292B2 (en) Information processing apparatus, method of controlling the same, program, and recording medium
US20020030851A1 (en) Information processing apparatus, distributed printing controlling method, storing medium and program
US20110134466A1 (en) Print server, method for generating print setting screen, and storage medium
CN102566946A (zh) 信息处理装置以及方法
US20080294845A1 (en) Information processing apparatus, information processing method, and information processing program product
CN102170506B (zh) 信息处理设备及安装打印机驱动程序的方法
JP4087788B2 (ja) 情報処理装置及びその制御方法、プログラム
JP5086837B2 (ja) 印刷制御装置、印刷制御方法、及び、印刷制御プログラム
JP4246620B2 (ja) 情報処理装置、情報処理システム、情報処理方法、プログラム及び記録媒体
US8488148B2 (en) Printing system for notifying data processing apparatus of information regarding a location of printing apparatus
JP4867184B2 (ja) 処理態様指定情報変換プログラム及び処理態様指定情報変換方法
JP2007069359A (ja) 画像形成装置及びその制御方法、プログラム、画像形成システム
JP4726250B2 (ja) 情報処理装置及びその制御方法、コンピュータプログラム
JP6214369B2 (ja) 情報処理装置、プログラム及び制御方法
JP5063134B2 (ja) 印刷装置、印刷方法、及びプログラム
US8467116B2 (en) Apparatus, program product, and method for creating and printing a composite image including an additional image associated with externally acquired software
JP2010146440A (ja) 印刷システム、情報処理装置、印刷管理装置、印刷装置、その制御方法およびプログラム
JP4587182B2 (ja) 情報処理装置及びその制御方法、コンピュータプログラム
JP2012141732A (ja) 情報処理装置、制御方法、及びプログラム
JP2009064326A (ja) 印刷システム、印刷プログラム
JP2005174244A (ja) ネットワークデバイス管理装置およびネットワークデバイス管理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2025032828A (ja) システム、プログラム群、プログラム、情報処理装置、システムの制御方法、及び情報処理装置の制御方法
JP2005182476A (ja) ファイリングシステムおよびファイリング方法およびプログラムおよび記録媒体
JP2012059280A (ja) 印刷装置、データ処理装置、印刷制御方法、及びプログラム
JP2007219576A (ja) プリンタドライバ選択プログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071217

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: 20080125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080221

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

Free format text: PAYMENT UNTIL: 20110228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4087788

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: 20110228

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120229

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120229

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130228

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20140228

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees