(57)【要約】【課題】  ユーザがデバイスを容易に判別することができる名称を表示させる。【解決手段】  デバイスを制御するためのデバイスドライバを管理者権限で起動させることにより、当該起動されたデバイスドライバに、当該デバイスドライバにより制御されるデバイスから取得された名称情報をレジストリに格納させる。そして、レジストリに格納された名称情報に基づき、デバイスドライバに対応する名称を表示装置に表示させる。【選択図】  図８
2016099666.tif 000002
【特許請求の範囲】
【請求項１】
デバイスを制御するためのデバイスドライバを管理者権限で起動させることにより、当該起動されたデバイスドライバに、当該デバイスドライバにより制御されるデバイスから取得された名称情報をレジストリに格納させる格納制御手段と、
前記格納制御手段により前記レジストリに格納された名称情報に基づく名称を表示装置に表示させる表示制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記格納制御手段により起動され、前記名称情報をレジストリに格納した前記デバイスドライバを、標準権限で再起動する再起動手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記再起動手段は、前記格納制御手段による前記デバイスドライバの起動の後にユーザの指示が入力されなくても、当該デバイスドライバを再起動することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記格納制御手段は、前記デバイスドライバに、当該デバイスドライバにより制御されるデバイスから前記名称情報を取得させることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記格納制御手段は、前記レジストリに格納されている名称情報に基づいて前記デバイスドライバを起動し、当該起動されたデバイスドライバに、当該レジストリに格納されている当該名称情報を更新させることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記格納制御手段は、前記情報処理装置にデバイスが接続されたことに応じて、当該デバイスに対応するデバイスドライバを起動することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記デバイスドライバは、複数のデバイスの制御に共通に用いられるデバイスドライバであることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
デバイスを制御するためのデバイスドライバを起動させることにより、当該起動されたデバイスドライバに、当該デバイスドライバにより制御されるデバイスから名称情報を取得させる取得制御手段と、
前記格納手段により格納された名称情報に基づく名称を表示装置に表示させる表示制御手段と、
を有することを特徴とする情報処理装置。
【請求項９】
前記表示制御手段は、前記取得制御手段により取得され前記デバイスドライバによりレジストリに格納された名称情報に基づく名称を表示させることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記取得制御手段により取得された名称情報をレジストリに格納する格納手段を有し、
前記表示制御手段は、前記格納手段により前記レジストリに格納された名称情報に基づく名称を表示させることを特徴とする請求項８に記載の情報処理装置。
【請求項１１】
前記デバイスは原稿を読み取る読取装置であり、前記デバイスドライバは、当該読取装置を制御するためのデバイスドライバであることを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
デバイスを制御するためのデバイスドライバを管理者権限で起動させることにより、当該起動されたデバイスドライバに、当該デバイスドライバに対応する名称情報をレジストリに格納させる格納制御工程と、
前記格納制御工程において前記レジストリに格納された名称情報に基づき、前記デバイスドライバに対応する名称を表示装置に表示させる表示制御工程と、
を有することを特徴とする情報処理方法。
【請求項１３】
デバイスを制御するためのデバイスドライバを起動させることにより、当該起動されたデバイスドライバに、当該デバイスドライバに対応する名称情報を当該デバイスドライバにより制御されるデバイスから取得させる取得制御工程と、
前記取得制御工程において取得された名称情報に基づく名称を表示装置に表示させる表示制御工程と、
を有することを特徴とする情報処理方法。
【請求項１４】
請求項１乃至１１のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるための、または請求項１２または１３に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【請求項１５】
オペレーティングシステムに対応するプログラムであることを特徴とする請求項１４に記載のプログラム。
【請求項１６】
デバイスを制御するためのデバイスドライバに対応するプログラムであって、
オペレーティングシステムにより起動されたことに応じて、前記デバイスから名称情報を取得する取得工程を有し、
前記取得工程において取得された名称情報に基づく名称がオペレーティングシステムにより表示装置に表示されることを特徴とするプログラム。
【請求項１７】
前記取得工程により取得された名称情報をレジストリに格納する格納工程を有し、
前記格納工程において前記レジストリに格納された名称情報に基づく名称が前記オペレーティングシステムにより表示されることを特徴とする請求項１６に記載のプログラム。
【請求項１８】
前記オペレーティングシステムにより管理者権限で起動されたことに基づいて、前記格納工程において前記レジストリに前記名称情報を格納することを特徴とする請求項１７に記載のプログラム。
【請求項１９】
前記格納工程における格納に応じて、前記オペレーティングシステムに再起動を要求する要求工程を有することを特徴とする請求項１８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報端末装置と画像形成装置で構成された情報処理方法に関する。
【背景技術】
【０００２】
画像読取装置等のデバイスが情報処理端末に接続されたときに、情報処理端末のＯＳ（オペレーティングシステム）がＰｌｕｇＡｎｄＰｌａｙ（以下ＰｎＰとも称する）のイベントを検知する技術がある。そのイベントが検知された際に、ＯＳはデバイス毎に搭載される機種固有のデバイスＩＤ情報を基にデバイスドライバをインストールする。よってデバイスドライバが機種毎に用意されている場合、デバイスが情報処理端末に接続されることで、ＯＳはデバイスの機種に個別に対応するデバイスドライバをインストールすることができる。
【０００３】
また特許文献１には、複数機種を制御可能なデバイスドライバ（以下クラスドライバとも称する）が記載されている。ＯＳは複数機種に共通の共通ＩＤ情報をデバイスから取得することで、上記のクラスドライバをインストールすることができる。この構成によれば、機種の異なるデバイスに同一の共通ＩＤ情報を搭載させることで、複数機種のいずれかが情報処理端末に接続された場合に、当該複数機種に共通のクラスドライバをインストールすることができる。この構成によれば、機種毎にデバイスドライバを用意する必要はなく、また例えば将来販売されるデバイスにも共通ＩＤ情報を搭載させることで、既に情報処理端末が保持しているクラスドライバで当該デバイスを制御可能にすることもできる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−５６３５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
デバイスの名称はデバイスドライバに対応するセットアップファイルに記載されており、デバイスドライバのインストール時にデバイス管理レジストリにその名称情報が登録される。そしてデバイスの名称は、デバイス管理レジストリに登録された名称でＯＳが提供するＵＩ上に表示される。そのためユーザは表示画面に表示されたデバイスの名称を基に、所望のデバイスを選択することができる。
【０００６】
しかしながら、特許文献１のように複数のデバイスが同一のクラスドライバで制御される場合、デバイスの名称はデバイスドライバに対応付けられているため、当該複数のデバイスに同様の名称が割り振られてしまう。するとユーザが複数のデバイスから所望のデバイスを選択する際に同様の名称が複数表示されてしまい、ユーザが所望のデバイスを容易に判別することができない場合があった。
【０００７】
そこで本発明は、ユーザがデバイスを容易に判別することができる名称を表示させることができる情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の課題を解決するための本発明の情報処理装置は、デバイスを制御するためのデバイスドライバを管理者権限で起動させることにより、当該起動されたデバイスドライバに、当該デバイスドライバにより制御されるデバイスから取得された名称情報をレジストリに格納させる格納制御手段と、前記格納制御手段により前記レジストリに格納された名称情報に基づき、前記デバイスドライバに対応する名称を表示装置に表示させる表示制御手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、デバイスドライバにより制御されるデバイスから取得された名称情報に基づく名称が表示される。よってユーザがデバイスを容易に判別することができる名称を表示させることができる。
【図面の簡単な説明】
【００１０】
【図１】画像読取装置１００の構成を示す図である。
【図２】情報処理端末２００の構成を示す図である。
【図３】情報処理端末２００のソフトウェア構成を示す図である。
【図４】ＯＳ３０２の機能を説明するための図である。
【図５】デバイス選択画面５０１を示す図である。
【図６】ＯＳ３０２がデバイスドライバ３０３を起動する処理を示したフローチャートである。
【図７】デバイスドライバ３０３による起動時の処理を示したフローチャートである。
【図８】デバイスドライバ３０３のインストールが行われた後の処理の流れを説明する図である。
【図９】デバイス管理レジストリ４０４に登録されたデバイスドライバ名称の例を示す図である。
【図１０】ＯＳ３０２がデバイスドライバ３０３を起動する処理を示したフローチャートである。
【図１１】デバイスドライバ３０３が起動された時の処理を示したフローチャートである。
【図１２】ＯＳ３０２がデバイス選択画面５０１表示する際の処理を示すフローチャートである。
【図１３】ＯＳ３０２がデバイス管理レジストリ４０４のデバイス情報に登録されているデバイスドライバ名称を更新する際のシーケンスを示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施の形態を説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
＜実施形態１＞
図１は本実施形態における画像読取装置１００の構成を示す図である。画像読取装置１００は、プリンタ機能、スキャナ機能を備えており、ネットワークを経由してそれぞれの機能サービスを提供することができる。画像読取装置１００においてプリンタ機能はプリンタ部１０１で、スキャナ機能はスキャナ部１０２で実現される。プリンタ部１０１は、中央演算装置１０５がネットワーク接続部１１１を介して外部から受信したプリントデータを、インクジェット方式や電子写真方式などによって印刷用紙にプリントする。スキャナ部１０２は、原稿台にセットされた原稿を光学式に読み取って電子データに変換する。中央演算装置１０５は、この電子データを指定されたファイル形式に変換してネットワーク接続部１１１を介して外部装置に送信することができる。
【００１３】
画像読取装置１００は各機能部を制御するための中央演算装置１０５、中央演算装置１０５が読み出すプログラムコードなどを格納するＲＯＭなどのプログラムメモリ１０６を備える。また、各サービス実行時に画像データなどを一時格納したり、バッファリングしたりするためのＲＡＭなどのワークメモリ１０７を備える。即ち、中央演算装置１０５がプログラムメモリ１０６に格納されているプログラムをワークメモリ１０７上で実行することにより、画像読取装置１００の各部を制御することができる。
【００１４】
また画像読取装置１００は、各スイッチやタッチパネル等の操作デバイスを含む操作部１０９を備える。また操作部１０９は、画像やアイコン等の各種の情報を表示するための表示デバイスを含み、中央演算装置１０５による制御により表示を行うことができる。なお、操作部１０９がタッチパネルを含む場合、操作デバイスとしてタッチパッドと、表示デバイスとが一体となって構成される。
【００１５】
また画像読取装置１００は、画像読取装置１００をネットワークに接続して各種通信を行うためのネットワーク通信部１１０と、ネットワーク通信部１１０をネットワーク媒体に接続するためのネットワーク接続部１１１を備える。ネットワーク通信部１１０は、中央演算装置１０５による制御に従って、ネットワーク接続部１１１を介して各種のデータを送受信することができる。ネットワーク通信部１１０は有線ＬＡＮと無線ＬＡＮの内、少なくともいずれかに対応する。有線ＬＡＮ対応の場合、ネットワーク接続部１１１は有線ＬＡＮのケーブルを画像読取装置１００に接続するためのコネクタであり、無線ＬＡＮ対応の場合、ネットワーク接続部１１１はアンテナである。またさらに画像読取装置１００は不揮発性フラッシュメモリなどのメモリ１１２を備える。メモリ１１２には、例えばネットワーク通信部１１０が受信したパケットの送信元情報が格納される。以上説明した各機能部は信号線１１３により接続される。
【００１６】
図２は、本実施形態における情報処理端末２００の構成を示す図である。図２において、２０１は情報処理端末２００の各部を制御するためのＣＰＵである。２０２はＣＰＵ２０１が読み出すアプリケーションプログラムやＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）などを格納し、また各種ファイルなどを格納するディスク装置である。２０３はＣＤ−ＲＯＭなどの外部記憶媒体の内容を読み出すための外部ディスク読み取り装置であり、２０４はＣＰＵ２０１が必要に応じてデータの一時的格納、バッファリング等を行うためのメモリである。ＣＰＵ２０１はディスク装置２０２に格納されている各種のプログラムをメモリ２０４において実行することにより、情報処理端末２００の各部を制御することができる。
【００１７】
２０５はＬＣＤなどを含む表示部、２０６はキーボードやマウスなどによる操作部である。なお表示部２０５、操作部２０６はタッチパネルとして構成されてもよい。また表示部２０５、操作部２０６は情報処理端末２００が備えてもよいし、または情報処理端末２００にＵＳＢ等のインタフェースを介して接続される外部の表示デバイス、操作デバイスであってもよい。
【００１８】
２０７は情報処理端末２００をネットワークに接続して各種通信を行うためのネットワーク通信部、２０８はネットワーク通信部２０７をネットワーク媒体に接続するためのネットワーク接続部である。画像読取装置１００と同様に、ネットワーク通信部２０７とネットワーク接続部２０８は、有線ＬＡＮと無線ＬＡＮの内、少なくともいずれかに対応する。また画像読取装置１００に内蔵のネットワーク通信部１１０及びネットワーク接続部１１１と同様に、対応ＬＡＮに応じて必要な機能及び形態をとる。２０９は各部を接続するための信号線である。２１０は各種周辺装置とＵＳＢインタフェースを介して通信するためのＵＳＢ通信部、２１１はＵＳＢコネクタなどのＵＳＢ接続部である。
【００１９】
図３は情報処理端末２００のソフトウェア構成を示す図である。なお図３に示す各部はプログラムモジュールとしてディスク装置２０２に格納されており、ＣＰＵ２０１が各プログラムモジュールをメモリ２０４上で実行することで、図３に示す各部の機能が実現される。
【００２０】
アプリケーションソフトウェア３０１は、ＡＰＩを利用して、ＯＳ３０２に画像取得を指示することができる。ＡＰＩには、例えばＷｉｎｄｏｗｓ（登録商標）等の情報処理端末２００のオペレーティングシステム（ＯＳ）３０２で実装されたＷＩＡ（Ｗｉｎｄｏｗｓ（登録商標）  Ｉｍａｇｉｎｇ  Ａｃｑｕｉｓｉｔｉｏｎ）４００である。またはベンダー独自の規格に基づいたＡＰＩでもよい。またＯＳ３０２は、デバイスドライバ３０３が実装したＡＰＩを呼び出すことで、デバイスドライバ３０３と通信することができる。デバイスドライバ３０３は、画像読取装置１００に搭載されたファームウェアを制御するための制御コマンドを画像読取装置に送り、アプリケーションから指示された画像の取得を行う。ファームウェアが搭載されていない画像読取装置の場合、画像読取装置１００の各モジュールの制御レジスタにアクセスし、シェーディングの制御、モータスピードの設定、画像読み取りのためのフロー制御を行う。バスドライバ３０４はパラレル、ＵＳＢ、ＩＥＥＥ１３９４、ＳＣＳＩ、ＬＡＮ、Ｗｉｒｅｌｅｓｓ  ＬＡＮ等のインタフェースに応じて画像読取装置１００との通信制御を行う。
【００２１】
なお情報処理端末２００は、複数のアプリケーションソフトウェア３０１、複数のデバイスドライバ３０３を格納することが可能である。
【００２２】
図４は、ＯＳ３０２の機能を説明するための図である。ドライバストアー４０１は、デバイスドライバ３０３を一時的にインストールする領域である。ＯＳ出荷時にドライバストアー４０１にデバイスドライバ３０３をインストールしておくことができる。これにより、情報処理端末２００に画像読取装置１００が接続された時に、画像読取装置１００から取得した情報を基に、ＯＳ３０２がドライバストアー４０１の中からデバイスドライバ３０３を探してインストールすることが可能となる。よって画像読取装置１００のデバイスドライバを例えばＷｅｂ上からダウンロードしなくても、当該デバイスドライバをインストールすることができる。またＯＳ出荷時だけでなく、例えばＷｅｂやＣＤ−ＲＯＭ等の外部のメモリからデバイスドライバがインストールされるときにも、ドライバストアー４０１に当該デバイスドライバ３０３が格納される。
【００２３】
さらにドライバストアー４０１には、デバイスドライバ３０３に対応するセットアップファイルが、デバイスドライバ３０３と対応付けられて格納される。ＯＳ出荷時にはセットアップファイルがデバイスドライバとともに格納される。Ｗｅｂや外部メモリからデバイスドライバがインストールされる場合、セットアップファイルがデバイスドライバとともに取得され、両者が対応付けられてドライバストアー４０１に格納される。
【００２４】
セットアップファイルには、当該セットアップファイルに対応するデバイスドライバ名称が含まれる。そして後述する処理によりデバイスドライバがインストールされるときに、セットアップファイルに含まれるデバイスドライバ名称がデバイス管理レジストリ４０４に格納され、そのデバイスドライバ名称が表示部２０５に表示される。
【００２５】
ＰｎＰ検知プログラム登録領域４０２は、画像読取装置１００が情報処理端末２００に接続されたときにＰｌｕｇＡｎｄＰｌａｙ（以下ＰｎＰとも称する）が発生した時に実行されるＰｎＰ検知プログラムが登録されている領域である。このＰｎＰ検知プログラムによれば、接続時に画像読取装置１００から取得された情報に対応するデバイスドライバが自動的にインストールされる。具体的には、ＰｎＰ検知プログラム登録領域４０２にＯＳ３０２が所持するドライバインストーラーが格納されており、ＰｎＰ発生時にＯＳ３０２が所持するドライバインストーラーが起動されることで、デバイスドライバが自動的にインストールされる。なおドライバインストーラーは、ＰｎＰで発生した画像読取装置１００のデバイスＩＤまたは共通ＩＤ情報に基づき、ドライバストアー４０１において当該デバイスＩＤまたは共通ＩＤ情報に対応するデバイスドライバ３０３を探索してインストールする。また本実施形態ではＵＳＢなどのＰｎＰを一例として取り上げるが、画像読取装置１００の接続をＯＳ３０２が検知する方法であれば他の方式であっても良い。例えばネットワーク接続で発生するＵｎｉｖｅｒｓａｌ  Ｐｌｕｇ  Ａｎｄ  Ｐｌａｙ（ＵＰｎＰ）や、近距離無線通信（ＮＦＣ、Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）を利用したペアリング操作による方式であってもよい。ＷＩＡ４０３は、ＯＳ標準の画像入力ＡＰＩであるＷＩＡが格納されている領域である。ＷＩＡを利用することで、アプリケーションと画像読取装置１００との相互通信が可能となる。
【００２６】
デバイス管理レジストリ４０４は、オペレーティングシステムが参照可能なメモリ領域であり、インストールされた画像読取装置１００を管理する情報が格納されている領域である。デバイスドライバ３０３がインストールされると、デバイス管理レジストリ４０４に、デバイスドライバ３０３が動作するのに必要な情報やアプリケーションからデバイスドライバ３０３を使用するときに必要な情報が格納される。例えばドライバストアー４０１に格納されている、当該デバイスドライバ３０３に対応するセットアップファイルが、デバイスドライバ３０３のインストール時にデバイス管理レジストリ４０４に格納される。セットアップファイルにはデバイスドライバ名称が含まれるため、デバイスドライバ３０３のインストール時に、当該デバイスドライバ３０３に対応するデバイスドライバ名称がデバイス管理レジストリ４０４に格納される。
【００２７】
このようにデバイス管理レジストリ４０４に格納されたデバイスドライバ名称が、デバイス選択画面においてユーザにより選択可能に表示される。
【００２８】
図５は、デバイス選択画面５０１を示す図である。デバイス選択画面５０１はＯＳ３０２が提供する画面である。例えばアプリケーションソフトウェア３０１に対するユーザの指示（例えばプリンタへの印刷指示、スキャナへの読取指示）があると、アプリケーションがその指示をＯＳ３０２に伝える。ＯＳ３０２は現在起動しているデバイスドライバに対応する名称を使用して、図５に示す画面を表示させる表示制御を行う。
【００２９】
ドライバ表示領域５０２に、使用可能な複数の画像読取装置１００のデバイスドライバ３０３のアイコン画像と名称５０３、５０４、５０５が表示される。ユーザは使用したい画像読取装置１００をアイコン画像から選択することが可能である。なおドライバ表示領域５０２に表示されるデバイスドライバ３０３の名称は、デバイスドライバ３０３起動時にデバイス管理レジストリ４０４のデバイス情報に登録されているデバイスドライバ名称の値に基づいて表示される。
【００３０】
ドライバ情報表示領域５０６には、ドライバ表示領域５０２でユーザが選択したアイコン画像が示すデバイスドライバ３０３の各種情報が表示される。これらの情報は、例えば上記のセットアップファイルに含まれる。なおアイコン画像はセットアップファイルに含まれてもよいし、別の画像ファイルとしてセットアップファイルとともにデバイス管理レジストリ４０４に格納されてもよい。
【００３１】
ユーザによりＯＫボタン５０７が選択されることで、ユーザが選択したデバイスドライバ３０３が表示される。ユーザがキャンセルボタン５０８を選択した場合、ＯＳ３０２はデバイス選択画面５０１の表示を終了する。
【００３２】
例えば情報処理端末２００に複数の画像読取装置がネットワーク等を介して接続される場合、デバイス選択画面５０１には、当該複数の画像読取装置に対応する複数の名称が表示される。ただし、複数の画像読取装置が共通のクラスドライバにより制御される場合、当該クラスドライバに対応するセットアップファイルに含まれているデバイスドライバ名称が表示される。クラスドライバは複数の画像読取装置に共通であるため、複数の画像読取装置に対応するデバイスドライバ名称も共通となる。そのため図５の名称５０３、５０４のように、クラスドライバにより制御される２つの画像読取装置に対し、同様の名称が表示されてしまう。この場合、ユーザが画像読取装置を選択しようにも、２つの名称が同様のものであるため、所望の画像読取装置を選択することができないことがある。
【００３３】
そこで本実施形態では、ＯＳ３０２がクラスドライバをインストールするときに、当該クラスドライバに対応するデバイスドライバ名称を更新できるようにクラスドライバの起動処理を行う。具体的には、デバイスドライバがデバイス管理レジストリ４０４の内容を更新するためには管理者権限でデバイスドライバを起動する必要があるため、クラスドライバのインストール時には当該クラスドライバを一時的に管理者権限で起動する。図６を用いてデバイスドライバ３０３のインストール時の処理の詳細について説明する。
【００３４】
図６は、ＯＳ３０２がデバイスドライバ３０３を起動する処理を示したフローチャートである。なお、図６のフローチャートはＣＰＵ２０１がディスク装置２０２に格納されているＯＳ３０２を実行することで実現される。ここではＯＳ３０２が処理を行うものとして説明する。
【００３５】
Ｓ６０１でＯＳ３０２は、画像読取装置１００が情報処理端末２００に接続されたときに発生するＰｎＰを、ＰｎＰ検知プログラムにより検知する。Ｓ６０２でＯＳ３０２は、Ｓ６０１で検知されたＰｎＰイベントに含まれているデバイスＩＤ、または共通ＩＤ情報に対応する画像読取装置１００のデバイスドライバ３０３がインストールされているかを判定する。デバイスドライバ３０３がインストールされていない場合は、Ｓ６０３に進む。Ｓ６０３でＯＳ３０２は、デバイスＩＤまたは共通ＩＤ情報に対応するデバイスドライバ３０３をドライバストアー４０１から検索し、デバイスドライバ３０３が見つかったらインストールする。
【００３６】
なおＯＳ３０２は、Ｓ６０３におけるデバイスドライバ３０３のインストール時に、デバイス管理レジストリ４０４にセットアップファイル（デバイスドライバ名称を含む）等のデバイス情報を登録する。
【００３７】
図９は、デバイス管理レジストリ４０４に登録されたデバイスドライバ名称の例を示す図である。図９（Ａ）の例では、クラスドライバで制御されるデバイスのデバイスドライバ名称「Ｓｃａｎｎｅｒ  Ｔｙｐｅ１」が登録される例を示している。ここではクラスドライバに対応する名称であるため、当該クラスドライバで制御される複数機種のいずれであっても、「Ｓｃａｎｎｅｒ  Ｔｙｐｅ１」が登録される。後述する処理により、図９（Ｂ）のように機種固有の名称に更新される。
【００３８】
またデバイス管理レジストリ４０４はツリー構造になっており、“００００”以下に、デバイス情報が登録された状態を示したものである。デバイス情報には、デバイスドライバ３０３の名称が登録されるＦｒｉｅｎｄｌｙＮａｍｅの領域が作成される。図９の（Ａ）では説明のため“００００”を用いたが、情報処理端末２００にインストールされた画像読取装置１００に対して連続で割り当てられる値であり、別の値であっても良い。
【００３９】
Ｓ６０４で、ＯＳ３０２はデバイスドライバ３０３の起動処理を開始する。Ｓ６０５でＯＳ３０２は、Ｓ６０３においてデバイス管理レジストリ４０４のデバイス情報に登録されたデバイスドライバ名称の値を取得する。
【００４０】
Ｓ６０６で、ＯＳ３０２はＳ６０５で取得した値をデバイスドライバ３０３の名称としてＯＳ３０２自身に設定する。なお、ＯＳ３０２は、Ｓ６０６において設定された名称、もしくはデバイス管理レジストリ４０４に含まれている名称の値に従って、図５に示すようにデバイスドライバ名称を表示させる。
【００４１】
Ｓ６０７で、ＯＳ３０２は、Ｓ６０５において取得された値に対応するデバイスドライバ（起動されるデバイスドライバ）がクラスドライバ（共通ＩＤ情報を基にインストールされたドライバ）であるかを判定する。Ｓ６０７において、起動されるデバイスドライバ３０３がクラスドライバと判定された場合、Ｓ６０８に処理を進める。Ｓ６０８でＯＳ３０２は、ＰｎＰ検知後にデバイスドライバ３０３のインストールが行われた後のデバイスドライバ３０３の初回起動であるかどうかを判定する。初回起動である場合、Ｓ６０９に進み、それ以外であれば、Ｓ６１０に進む。
【００４２】
Ｓ６０９で、ＯＳ３０２はデバイスドライバ３０３を管理者権限で起動する。デバイスドライバ３０３を管理者権限で起動することで、デバイスドライバ３０３は、図９の（Ａ）で示すデバイス管理レジストリ４０４のデバイス情報に登録されているＦｒｉｅｎｄｌｙＮａｍｅの値を変更することが可能となる。一方Ｓ６１０では、ＯＳ３０２はデバイスドライバ３０３を標準権限で起動する。即ち、デバイスドライバ３０３のインストール後の初回起動では管理者権限でデバイスドライバ３０３が起動され、それ以降の起動であれば標準権限で起動される。
【００４３】
Ｓ６１１でＯＳ３０２は、起動したデバイスドライバ３０３から再起動要求を受信した場合、Ｓ６１２に進む。Ｓ６１２では、ＯＳ３０２はデバイスドライバ３０３を再起動させる。デバイスドライバ３０３による再起動要求については、図７を用いて説明する。
【００４４】
図７は、デバイスドライバ３０３による起動時の処理を示したフローチャートである。図７に示す処理は、ＣＰＵ２０１がディスク装置２０２に格納されているデバイスドライバ３０３を実行することにより実現される。
【００４５】
デバイスドライバ３０３が起動されると、Ｓ７０１でデバイスドライバ３０３は、自身が管理者権限で起動しているかを判定する。例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）社のＯＳであるＷｉｎｄｏｗｓ（登録商標）  ＸＰ以降で利用可能なＡＰＩであるＣｈｅｃｋＴｏｋｅｎＭｅｍｂｅｒｓｈｉｐを使用することで確認することができる。
【００４６】
管理者権限で起動されている場合は、Ｓ７０２に処理が進む。例えば上述のＳ６０９においてＯＳ３０２がデバイスドライバ３０３を管理者権限で起動した場合、Ｓ７０２における処理が実行される。Ｓ７０２でデバイスドライバ３０３は、デバイス（例えばプリンタやスキャナ）と通信してデバイス名称情報を取得する。なおＳ７０２で取得される情報は、デバイスを特定することができる情報であればどのような情報であってもよく、例えばデバイス機種や型番を示す情報や、ユーザがデバイス毎に任意の名称を登録できるフレンドリーネームであっても良い。
【００４７】
Ｓ７０３でデバイスドライバ３０３は、Ｓ７０２で取得したデバイス名称の値をデバイス管理レジストリ４０４に格納することで、デバイス管理レジストリ４０４のデバイス情報に既に登録されているドライバドライバ名称を更新する。上記のようにデバイスドライバ３０３が管理者権限で起動されているときには、デバイス管理レジストリ４０４の情報を更新することができる。即ち、ＯＳ３０２は、デバイスドライバ３０３を管理者権限で起動させることで、デバイスドライバ３０３にデバイス管理レジストリ４０４へ名称情報を格納させる格納制御処理を行うことができる。
【００４８】
図９の（Ｂ）は、デバイスから取得されたデバイス名称の値に更新された場合のデバイス管理レジストリ４０４を示す図である。図９（Ａ）ではクラスドライバに対応するデバイスドライバ名称「Ｓｃａｎｎｅｒ  Ｔｙｐｅ１」であったが、これが図９（Ｂ）ではデバイスから取得したデバイス名称「ＡＢＣ  １０００」に変更されていることがわかる。デバイスドライバ名称「Ｓｃａｎｎｅｒ  Ｔｙｐｅ１」であると、図５に示したように他の機種のデバイスと同一の名称が表示されてしまう。そこで上記のデバイス名称の更新により、情報処理端末２００に接続されたデバイスを特定するためのデバイス名称が表示されることになる。
【００４９】
次にＳ７０４でデバイスドライバ３０３は、ＯＳ３０２に対して再起動要求を送信する。この再起動要求により、上記のＳ６１１においてＯＳ３０２が「デバイスドライバ３０３からの再起動要求あり」と判断し、Ｓ６１２におけるデバイスドライバ３０３の再起動が行われる。
【００５０】
このように再起動が実行されると、ＯＳ３０２はＳ６０５、Ｓ６０６における処理により更新後のデバイスドライバ名称「ＡＢＣ  １０００」を設定する。そしてＯＳ３０２は、ユーザによるアプリケーションソフトウェア３０１に対する指示に従って、図５に示した画面を更新後の名称を用いて表示させることができる。
【００５１】
またデバイスドライバ３０３が再起動された場合、インストール後の初回起動でないため、Ｓ６０８において「Ｎｏ」と判定され、Ｓ６１０において標準権限で起動される。従ってデバイスドライバ３０３が再起動された場合、管理者権限でなく標準権限で起動される。しかも図６における処理によれば、デバイスドライバ３０３が管理者権限で起動した後にユーザの指示が入力されなくても、ＯＳ３０２が自動的にデバイスドライバ３０３を標準権限で再起動する。そのため再起動後のセキュリティを確保することができる。
【００５２】
ただし、例えば管理者権限で起動されたときのデバイスドライバ３０３の処理が制限されている場合などには、Ｓ６０８の処理を行わず、２回目以降の起動も管理者権限で起動されてもよい。
【００５３】
次に図８のシーケンスチャートを用いてデバイスドライバ３０３のインストールが行われた後の処理の流れを説明する。
【００５４】
Ｓ８０１でＯＳ３０２は、デバイスドライバ３０３のインストール時に、デバイス管理レジストリ４０４にデバイス情報を登録する。Ｓ８０２でＯＳ３０２は、デバイス管理レジストリ４０４のデバイス情報に登録されているデバイスドライバ名称の値を参照する。Ｓ８０３でＯＳ３０２は、Ｓ８０２で取得したデバイスドライバ名称でデバイスドライバ３０３を管理者権限で起動する。Ｓ８０４デバイスドライバ３０３は画像読取装置１００に対して名称情報を要求し、Ｓ８０５でその要求に応じて名称情報が取得される。Ｓ８０６でデバイスドライバ３０３は、画像読取装置１００から取得した名称情報で、デバイス管理レジストリ４０４のデバイス情報に登録されているデバイスドライバ名称の値を更新する。このときデバイスドライバ３０３は管理者権限で起動されているため、上記のようにデバイスドライバ名称の更新が可能となる。
【００５５】
Ｓ８０７で、デバイスドライバ３０３はＯＳ３０２に再起動要求を送信する。Ｓ８０８で、ＯＳ３０２はデバイスドライバ３０３からの再起動要求を受信したことに応じて、デバイスドライバ３０３を終了させる。Ｓ８０９で、ＯＳ３０２はデバイス管理レジストリ４０４のデバイス情報のドライバ名称の値を再度参照する。Ｓ８１０で、ＯＳ３０２は、更新後のデバイスドライバ名称でデバイスドライバ３０３を標準権限で再起動する。
【００５６】
以上の処理によって、デバイス管理レジストリのデバイス情報に登録されているデバイスドライバ名称をデバイスドライバインストール後に、画像読取装置から取得した名称情報に更新することが可能となる。これにより、クラスドライバを利用する複数の画像読取装置が情報処理端末２００に接続される場合においても、画像読取装置毎にデバイスドライバの名称を設定することができる。そのためデバイスに対応する名称が表示された画面において、ユーザは使用したい画像読取装置を容易に選択することが可能となる。
【００５７】
また本実施形態では、デバイスドライバがデバイスから名称情報を取得する。そのためデバイス毎に固有な名称情報を登録しておけば、それをドライバが取得することでデバイスドライバの名称をデバイス毎に固有な名称とすることが可能となる。これにより、ユーザはより厳密に画像読取装置の判別をすることが可能である。
【００５８】
また本実施形態では、ＯＳがＰｎＰ検知後にインストールが行われた後のドライバ起動時のみ管理者権限で起動し、再起動時には標準権限で起動する。これによりセキュリティリスクを低減させている。しかしこれに限らず、デバイスドライバの累計起動回数を基に、管理者権限と標準権限の起動を切り替えることで、再起動時に管理者権限で起動されてもよい。
【００５９】
なお、本実施形態ではデバイスドライバとしてスキャナドライバ、また制御されるデバイスとしてスキャナなどの画像読取装置を例に説明した。しかしこれに限らず、プリンタやデジタルカメラやカメラ付携帯電話などの装置でも本実施形態と同様の処理を実現することができる。
【００６０】
＜実施形態２＞
実施形態１ではデバイスドライバを再起動したが、実施形態２ではデバイスドライバを再起動せずに、デバイス選択画面に表示するドライバ名称を更新する処理について説明する。
【００６１】
図１０は、ＯＳ３０２がデバイスドライバ３０３を起動する処理を示したフローチャートである。図１０では図６とは異なり、デバイスドライバ３０３の再起動は行わない。Ｓ１００１からＳ１０１０にかかる処理は、実施形態１で説明した図６のＳ６０１から６１０と同等であるため、説明を省略する。
【００６２】
図１１は、デバイスドライバ３０３が起動された時の処理を示したフローチャートである。図１１では、実施形態１で説明した図７とは異なり、デバイスドライバ３０３は再起動要求を行わない。Ｓ１１０１からＳ１１０３にかかる処理は、図７のＳ７０１から７０３と同様であるため、説明を省略する。
【００６３】
図１２は、ＯＳ３０２がデバイス選択画面５０１表示する際の処理を示すフローチャートである。Ｓ１２０１からＳ１２０６にかかる処理は、実施形態１で説明した図８のＳ８０１から８０６と同様である。
【００６４】
Ｓ１２０７でＯＳ３０２は、デバイス選択画面５０１の表示処理を行う。次にＳ１２０８においてＯＳ３０２はデバイス管理レジストリ４０４のデバイス情報に登録されているデバイスドライバ名称の値を参照する。Ｓ１２０９においてＯＳ３０２は、Ｓ１２０８で取得したデバイスドライバ名称をデバイス選択画面５０１に表示するデバイスドライバ名称に設定する。Ｓ１２１０で、デバイス選択画面５０１においてデバイスドライバがユーザにより選択されると、ユーザが選択したデバイスドライバ３０３がＯＳ３０２に通知される。これによりＯＳ３０２は通知されたデバイスドライバ３０３のＵＩ画面を表示する。
【００６５】
以上の処理によれば、ＯＳ３０２がデバイスドライバ３０３を再起動する必要が無いため、デバイスドライバ名称の更新を行った上で、ユーザにデバイスドライバを迅速に使用させることができる。
【００６６】
＜実施形態３＞
実施形態１、２では、デバイスドライバがデバイス管理レジストリのデバイス情報に登録されているデバイスドライバ名称を更新したが、実施形態３では、ＯＳ３０２がデバイスドライバ名称を更新する処理について説明する。
【００６７】
図１３は、ＯＳ３０２がデバイス管理レジストリ４０４のデバイス情報に登録されているデバイスドライバ名称を更新する際のシーケンスを示す図である。
【００６８】
Ｓ１３０１でＯＳ３０２は、デバイスドライバ３０３のインストール時に、デバイス管理レジストリ４０４にデバイス情報を登録する。Ｓ１３０２でＯＳ３０２は、デバイス管理レジストリ４０４のデバイス情報に登録されているデバイスドライバ名称の値を参照する。Ｓ１３０３でＯＳ３０２は、Ｓ１３０２において取得したデバイスドライバ名称でデバイスドライバ３０３を起動する。なお、Ｓ１３０３においてＯＳ３０２はデバイスドライバ３０３を管理者権限で起動させてもよいが、図１３ではデバイスドライバ３０３がデバイス管理レジストリ４０４の更新を行う必要が無いため、デバイスドライバ３０３を標準権限で起動してもよい。Ｓ１３０４でＯＳ３０２は、Ｓ１３０３において起動したデバイスドライバ３０３にデバイスドライバ名の取得を要求する。
【００６９】
Ｓ１３０５で、デバイスドライバ３０３は、画像読取装置１００に対して名称情報の取得を要求し、Ｓ１３０６においてその要求に応じて名称情報を取得する。Ｓ１３０７でデバイスドライバ３０３は、Ｓ１３０４のデバイスドライバ名取得の要求に対する応答として、１３０６で取得した名称情報をＯＳ３０２に通知する。即ちＯＳ３０２は、デバイスドライバ３０３を起動することで、デバイスドライバ３０３に、画像読取装置１００から名称情報を取得させる取得制御処理を行う。
【００７０】
Ｓ１３０８で、ＯＳ３０２は、デバイス管理レジストリ４０４のデバイス情報に登録されているデバイスドライバ名称をＳ１３０７でデバイスドライバから取得したデバイスドライバ名に更新する。
【００７１】
なお、デバイス選択画面に表示されるドライバ名称を更新するタイミングは、デバイスドライバ３０３の起動時、もしくは、デバイス選択画面５０１表示の時であっても良い。
【００７２】
以上の処理によれば、デバイスドライバ３０３ではなくＯＳ３０２がデバイスドライバ名称の更新を行う。そのため、デバイスドライバ３０３を権利者権限で起動しなくても、デバイスドライバ名の更新を行うことができる。
【００７３】
以上の実施形態１〜３によれば、デバイスに対応する名称がデバイスドライバ３０３によりデバイスから取得される。そのため、例えばデバイスドライバ３０３がクラスドライバであり、複数機種のデバイスに共通の共通ＩＤ情報では同様の名称が割り振られてしまう場合でも、デバイスに個別に対応する名称を表示させることができる。よって例えばユーザが例えばクラスドライバにより制御される複数のデバイスを所有しており、複数のデバイスそれぞれに対応するデバイスドライバがインストールされる場合でも、デバイス固有の名称が表示される。したがってユーザは所望のデバイスを容易に選択することができる。
【００７４】
また以上の実施形態では、デバイスドライバ３０３がデバイスから名称情報を取得する例を示したが、これに限らず、ＯＳ３０２などの他のプログラムにより名称情報が取得されてもよい。
【００７５】
なお、以上の実施形態における情報処理端末２００は、例えばＰＣ（パーソナルコンピュータ）であってもよいし、携帯電話やスマートフォン、タブレット等のモバイル機器であってもよい。またデバイスドライバにより制御されるデバイスは、原稿を読み取る画像読取装置であってもよいし、プリンタやデジタルカメラ、ストレージ等の種々のデバイスであってもよい。
【００７６】
＜実施形態４＞
以上の実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【００７７】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【符号の説明】
【００７８】
１００  画像読取装置
２００  情報処理端末
３０２  ＯＳ
３０３  デバイスドライバ
４０４  デバイス管理レジストリ
【図１】
2016099666.tif 000003
【図２】
2016099666.tif 000004
【図３】
2016099666.tif 000005
【図４】
2016099666.tif 000006
【図５】
2016099666.tif 000007
【図６】
2016099666.tif 000008
【図７】
2016099666.tif 000009
【図８】
2016099666.tif 000010
【図９】
2016099666.tif 000011
【図１０】
2016099666.tif 000012
【図１１】
2016099666.tif 000013
【図１２】
2016099666.tif 000014
【図１３】
2016099666.tif 000015