JP2016099666A - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP2016099666A
JP2016099666A JP2014233795A JP2014233795A JP2016099666A JP 2016099666 A JP2016099666 A JP 2016099666A JP 2014233795 A JP2014233795 A JP 2014233795A JP 2014233795 A JP2014233795 A JP 2014233795A JP 2016099666 A JP2016099666 A JP 2016099666A
Authority
JP
Japan
Prior art keywords
device driver
name
driver
information processing
registry
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
JP2014233795A
Other languages
English (en)
Inventor
佑弥 田中
Yuya Tanaka
佑弥 田中
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 JP2014233795A priority Critical patent/JP2016099666A/ja
Publication of JP2016099666A publication Critical patent/JP2016099666A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】 ユーザがデバイスを容易に判別することができる名称を表示させる。【解決手段】 デバイスを制御するためのデバイスドライバを管理者権限で起動させることにより、当該起動されたデバイスドライバに、当該デバイスドライバにより制御されるデバイスから取得された名称情報をレジストリに格納させる。そして、レジストリに格納された名称情報に基づき、デバイスドライバに対応する名称を表示装置に表示させる。【選択図】 図8

Description

本発明は、情報端末装置と画像形成装置で構成された情報処理方法に関する。
画像読取装置等のデバイスが情報処理端末に接続されたときに、情報処理端末のOS(オペレーティングシステム)がPlugAndPlay(以下PnPとも称する)のイベントを検知する技術がある。そのイベントが検知された際に、OSはデバイス毎に搭載される機種固有のデバイスID情報を基にデバイスドライバをインストールする。よってデバイスドライバが機種毎に用意されている場合、デバイスが情報処理端末に接続されることで、OSはデバイスの機種に個別に対応するデバイスドライバをインストールすることができる。
また特許文献1には、複数機種を制御可能なデバイスドライバ(以下クラスドライバとも称する)が記載されている。OSは複数機種に共通の共通ID情報をデバイスから取得することで、上記のクラスドライバをインストールすることができる。この構成によれば、機種の異なるデバイスに同一の共通ID情報を搭載させることで、複数機種のいずれかが情報処理端末に接続された場合に、当該複数機種に共通のクラスドライバをインストールすることができる。この構成によれば、機種毎にデバイスドライバを用意する必要はなく、また例えば将来販売されるデバイスにも共通ID情報を搭載させることで、既に情報処理端末が保持しているクラスドライバで当該デバイスを制御可能にすることもできる。
特開2014−56353号公報
デバイスの名称はデバイスドライバに対応するセットアップファイルに記載されており、デバイスドライバのインストール時にデバイス管理レジストリにその名称情報が登録される。そしてデバイスの名称は、デバイス管理レジストリに登録された名称でOSが提供するUI上に表示される。そのためユーザは表示画面に表示されたデバイスの名称を基に、所望のデバイスを選択することができる。
しかしながら、特許文献1のように複数のデバイスが同一のクラスドライバで制御される場合、デバイスの名称はデバイスドライバに対応付けられているため、当該複数のデバイスに同様の名称が割り振られてしまう。するとユーザが複数のデバイスから所望のデバイスを選択する際に同様の名称が複数表示されてしまい、ユーザが所望のデバイスを容易に判別することができない場合があった。
そこで本発明は、ユーザがデバイスを容易に判別することができる名称を表示させることができる情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。
上述の課題を解決するための本発明の情報処理装置は、デバイスを制御するためのデバイスドライバを管理者権限で起動させることにより、当該起動されたデバイスドライバに、当該デバイスドライバにより制御されるデバイスから取得された名称情報をレジストリに格納させる格納制御手段と、前記格納制御手段により前記レジストリに格納された名称情報に基づき、前記デバイスドライバに対応する名称を表示装置に表示させる表示制御手段と、を有することを特徴とする。
本発明によれば、デバイスドライバにより制御されるデバイスから取得された名称情報に基づく名称が表示される。よってユーザがデバイスを容易に判別することができる名称を表示させることができる。
画像読取装置100の構成を示す図である。 情報処理端末200の構成を示す図である。 情報処理端末200のソフトウェア構成を示す図である。 OS302の機能を説明するための図である。 デバイス選択画面501を示す図である。 OS302がデバイスドライバ303を起動する処理を示したフローチャートである。 デバイスドライバ303による起動時の処理を示したフローチャートである。 デバイスドライバ303のインストールが行われた後の処理の流れを説明する図である。 デバイス管理レジストリ404に登録されたデバイスドライバ名称の例を示す図である。 OS302がデバイスドライバ303を起動する処理を示したフローチャートである。 デバイスドライバ303が起動された時の処理を示したフローチャートである。 OS302がデバイス選択画面501表示する際の処理を示すフローチャートである。 OS302がデバイス管理レジストリ404のデバイス情報に登録されているデバイスドライバ名称を更新する際のシーケンスを示す図である。
以下、添付図面を参照して本発明の実施の形態を説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
<実施形態1>
図1は本実施形態における画像読取装置100の構成を示す図である。画像読取装置100は、プリンタ機能、スキャナ機能を備えており、ネットワークを経由してそれぞれの機能サービスを提供することができる。画像読取装置100においてプリンタ機能はプリンタ部101で、スキャナ機能はスキャナ部102で実現される。プリンタ部101は、中央演算装置105がネットワーク接続部111を介して外部から受信したプリントデータを、インクジェット方式や電子写真方式などによって印刷用紙にプリントする。スキャナ部102は、原稿台にセットされた原稿を光学式に読み取って電子データに変換する。中央演算装置105は、この電子データを指定されたファイル形式に変換してネットワーク接続部111を介して外部装置に送信することができる。
画像読取装置100は各機能部を制御するための中央演算装置105、中央演算装置105が読み出すプログラムコードなどを格納するROMなどのプログラムメモリ106を備える。また、各サービス実行時に画像データなどを一時格納したり、バッファリングしたりするためのRAMなどのワークメモリ107を備える。即ち、中央演算装置105がプログラムメモリ106に格納されているプログラムをワークメモリ107上で実行することにより、画像読取装置100の各部を制御することができる。
また画像読取装置100は、各スイッチやタッチパネル等の操作デバイスを含む操作部109を備える。また操作部109は、画像やアイコン等の各種の情報を表示するための表示デバイスを含み、中央演算装置105による制御により表示を行うことができる。なお、操作部109がタッチパネルを含む場合、操作デバイスとしてタッチパッドと、表示デバイスとが一体となって構成される。
また画像読取装置100は、画像読取装置100をネットワークに接続して各種通信を行うためのネットワーク通信部110と、ネットワーク通信部110をネットワーク媒体に接続するためのネットワーク接続部111を備える。ネットワーク通信部110は、中央演算装置105による制御に従って、ネットワーク接続部111を介して各種のデータを送受信することができる。ネットワーク通信部110は有線LANと無線LANの内、少なくともいずれかに対応する。有線LAN対応の場合、ネットワーク接続部111は有線LANのケーブルを画像読取装置100に接続するためのコネクタであり、無線LAN対応の場合、ネットワーク接続部111はアンテナである。またさらに画像読取装置100は不揮発性フラッシュメモリなどのメモリ112を備える。メモリ112には、例えばネットワーク通信部110が受信したパケットの送信元情報が格納される。以上説明した各機能部は信号線113により接続される。
図2は、本実施形態における情報処理端末200の構成を示す図である。図2において、201は情報処理端末200の各部を制御するためのCPUである。202はCPU201が読み出すアプリケーションプログラムやOS(Operation System)などを格納し、また各種ファイルなどを格納するディスク装置である。203はCD−ROMなどの外部記憶媒体の内容を読み出すための外部ディスク読み取り装置であり、204はCPU201が必要に応じてデータの一時的格納、バッファリング等を行うためのメモリである。CPU201はディスク装置202に格納されている各種のプログラムをメモリ204において実行することにより、情報処理端末200の各部を制御することができる。
205はLCDなどを含む表示部、206はキーボードやマウスなどによる操作部である。なお表示部205、操作部206はタッチパネルとして構成されてもよい。また表示部205、操作部206は情報処理端末200が備えてもよいし、または情報処理端末200にUSB等のインタフェースを介して接続される外部の表示デバイス、操作デバイスであってもよい。
207は情報処理端末200をネットワークに接続して各種通信を行うためのネットワーク通信部、208はネットワーク通信部207をネットワーク媒体に接続するためのネットワーク接続部である。画像読取装置100と同様に、ネットワーク通信部207とネットワーク接続部208は、有線LANと無線LANの内、少なくともいずれかに対応する。また画像読取装置100に内蔵のネットワーク通信部110及びネットワーク接続部111と同様に、対応LANに応じて必要な機能及び形態をとる。209は各部を接続するための信号線である。210は各種周辺装置とUSBインタフェースを介して通信するためのUSB通信部、211はUSBコネクタなどのUSB接続部である。
図3は情報処理端末200のソフトウェア構成を示す図である。なお図3に示す各部はプログラムモジュールとしてディスク装置202に格納されており、CPU201が各プログラムモジュールをメモリ204上で実行することで、図3に示す各部の機能が実現される。
アプリケーションソフトウェア301は、APIを利用して、OS302に画像取得を指示することができる。APIには、例えばWindows(登録商標)等の情報処理端末200のオペレーティングシステム(OS)302で実装されたWIA(Windows(登録商標) Imaging Acquisition)400である。またはベンダー独自の規格に基づいたAPIでもよい。またOS302は、デバイスドライバ303が実装したAPIを呼び出すことで、デバイスドライバ303と通信することができる。デバイスドライバ303は、画像読取装置100に搭載されたファームウェアを制御するための制御コマンドを画像読取装置に送り、アプリケーションから指示された画像の取得を行う。ファームウェアが搭載されていない画像読取装置の場合、画像読取装置100の各モジュールの制御レジスタにアクセスし、シェーディングの制御、モータスピードの設定、画像読み取りのためのフロー制御を行う。バスドライバ304はパラレル、USB、IEEE1394、SCSI、LAN、Wireless LAN等のインタフェースに応じて画像読取装置100との通信制御を行う。
なお情報処理端末200は、複数のアプリケーションソフトウェア301、複数のデバイスドライバ303を格納することが可能である。
図4は、OS302の機能を説明するための図である。ドライバストアー401は、デバイスドライバ303を一時的にインストールする領域である。OS出荷時にドライバストアー401にデバイスドライバ303をインストールしておくことができる。これにより、情報処理端末200に画像読取装置100が接続された時に、画像読取装置100から取得した情報を基に、OS302がドライバストアー401の中からデバイスドライバ303を探してインストールすることが可能となる。よって画像読取装置100のデバイスドライバを例えばWeb上からダウンロードしなくても、当該デバイスドライバをインストールすることができる。またOS出荷時だけでなく、例えばWebやCD−ROM等の外部のメモリからデバイスドライバがインストールされるときにも、ドライバストアー401に当該デバイスドライバ303が格納される。
さらにドライバストアー401には、デバイスドライバ303に対応するセットアップファイルが、デバイスドライバ303と対応付けられて格納される。OS出荷時にはセットアップファイルがデバイスドライバとともに格納される。Webや外部メモリからデバイスドライバがインストールされる場合、セットアップファイルがデバイスドライバとともに取得され、両者が対応付けられてドライバストアー401に格納される。
セットアップファイルには、当該セットアップファイルに対応するデバイスドライバ名称が含まれる。そして後述する処理によりデバイスドライバがインストールされるときに、セットアップファイルに含まれるデバイスドライバ名称がデバイス管理レジストリ404に格納され、そのデバイスドライバ名称が表示部205に表示される。
PnP検知プログラム登録領域402は、画像読取装置100が情報処理端末200に接続されたときにPlugAndPlay(以下PnPとも称する)が発生した時に実行されるPnP検知プログラムが登録されている領域である。このPnP検知プログラムによれば、接続時に画像読取装置100から取得された情報に対応するデバイスドライバが自動的にインストールされる。具体的には、PnP検知プログラム登録領域402にOS302が所持するドライバインストーラーが格納されており、PnP発生時にOS302が所持するドライバインストーラーが起動されることで、デバイスドライバが自動的にインストールされる。なおドライバインストーラーは、PnPで発生した画像読取装置100のデバイスIDまたは共通ID情報に基づき、ドライバストアー401において当該デバイスIDまたは共通ID情報に対応するデバイスドライバ303を探索してインストールする。また本実施形態ではUSBなどのPnPを一例として取り上げるが、画像読取装置100の接続をOS302が検知する方法であれば他の方式であっても良い。例えばネットワーク接続で発生するUniversal Plug And Play(UPnP)や、近距離無線通信(NFC、Near Field Communication)を利用したペアリング操作による方式であってもよい。WIA403は、OS標準の画像入力APIであるWIAが格納されている領域である。WIAを利用することで、アプリケーションと画像読取装置100との相互通信が可能となる。
デバイス管理レジストリ404は、オペレーティングシステムが参照可能なメモリ領域であり、インストールされた画像読取装置100を管理する情報が格納されている領域である。デバイスドライバ303がインストールされると、デバイス管理レジストリ404に、デバイスドライバ303が動作するのに必要な情報やアプリケーションからデバイスドライバ303を使用するときに必要な情報が格納される。例えばドライバストアー401に格納されている、当該デバイスドライバ303に対応するセットアップファイルが、デバイスドライバ303のインストール時にデバイス管理レジストリ404に格納される。セットアップファイルにはデバイスドライバ名称が含まれるため、デバイスドライバ303のインストール時に、当該デバイスドライバ303に対応するデバイスドライバ名称がデバイス管理レジストリ404に格納される。
このようにデバイス管理レジストリ404に格納されたデバイスドライバ名称が、デバイス選択画面においてユーザにより選択可能に表示される。
図5は、デバイス選択画面501を示す図である。デバイス選択画面501はOS302が提供する画面である。例えばアプリケーションソフトウェア301に対するユーザの指示(例えばプリンタへの印刷指示、スキャナへの読取指示)があると、アプリケーションがその指示をOS302に伝える。OS302は現在起動しているデバイスドライバに対応する名称を使用して、図5に示す画面を表示させる表示制御を行う。
ドライバ表示領域502に、使用可能な複数の画像読取装置100のデバイスドライバ303のアイコン画像と名称503、504、505が表示される。ユーザは使用したい画像読取装置100をアイコン画像から選択することが可能である。なおドライバ表示領域502に表示されるデバイスドライバ303の名称は、デバイスドライバ303起動時にデバイス管理レジストリ404のデバイス情報に登録されているデバイスドライバ名称の値に基づいて表示される。
ドライバ情報表示領域506には、ドライバ表示領域502でユーザが選択したアイコン画像が示すデバイスドライバ303の各種情報が表示される。これらの情報は、例えば上記のセットアップファイルに含まれる。なおアイコン画像はセットアップファイルに含まれてもよいし、別の画像ファイルとしてセットアップファイルとともにデバイス管理レジストリ404に格納されてもよい。
ユーザによりOKボタン507が選択されることで、ユーザが選択したデバイスドライバ303が表示される。ユーザがキャンセルボタン508を選択した場合、OS302はデバイス選択画面501の表示を終了する。
例えば情報処理端末200に複数の画像読取装置がネットワーク等を介して接続される場合、デバイス選択画面501には、当該複数の画像読取装置に対応する複数の名称が表示される。ただし、複数の画像読取装置が共通のクラスドライバにより制御される場合、当該クラスドライバに対応するセットアップファイルに含まれているデバイスドライバ名称が表示される。クラスドライバは複数の画像読取装置に共通であるため、複数の画像読取装置に対応するデバイスドライバ名称も共通となる。そのため図5の名称503、504のように、クラスドライバにより制御される2つの画像読取装置に対し、同様の名称が表示されてしまう。この場合、ユーザが画像読取装置を選択しようにも、2つの名称が同様のものであるため、所望の画像読取装置を選択することができないことがある。
そこで本実施形態では、OS302がクラスドライバをインストールするときに、当該クラスドライバに対応するデバイスドライバ名称を更新できるようにクラスドライバの起動処理を行う。具体的には、デバイスドライバがデバイス管理レジストリ404の内容を更新するためには管理者権限でデバイスドライバを起動する必要があるため、クラスドライバのインストール時には当該クラスドライバを一時的に管理者権限で起動する。図6を用いてデバイスドライバ303のインストール時の処理の詳細について説明する。
図6は、OS302がデバイスドライバ303を起動する処理を示したフローチャートである。なお、図6のフローチャートはCPU201がディスク装置202に格納されているOS302を実行することで実現される。ここではOS302が処理を行うものとして説明する。
S601でOS302は、画像読取装置100が情報処理端末200に接続されたときに発生するPnPを、PnP検知プログラムにより検知する。S602でOS302は、S601で検知されたPnPイベントに含まれているデバイスID、または共通ID情報に対応する画像読取装置100のデバイスドライバ303がインストールされているかを判定する。デバイスドライバ303がインストールされていない場合は、S603に進む。S603でOS302は、デバイスIDまたは共通ID情報に対応するデバイスドライバ303をドライバストアー401から検索し、デバイスドライバ303が見つかったらインストールする。
なおOS302は、S603におけるデバイスドライバ303のインストール時に、デバイス管理レジストリ404にセットアップファイル(デバイスドライバ名称を含む)等のデバイス情報を登録する。
図9は、デバイス管理レジストリ404に登録されたデバイスドライバ名称の例を示す図である。図9(A)の例では、クラスドライバで制御されるデバイスのデバイスドライバ名称「Scanner Type1」が登録される例を示している。ここではクラスドライバに対応する名称であるため、当該クラスドライバで制御される複数機種のいずれであっても、「Scanner Type1」が登録される。後述する処理により、図9(B)のように機種固有の名称に更新される。
またデバイス管理レジストリ404はツリー構造になっており、“0000”以下に、デバイス情報が登録された状態を示したものである。デバイス情報には、デバイスドライバ303の名称が登録されるFriendlyNameの領域が作成される。図9の(A)では説明のため“0000”を用いたが、情報処理端末200にインストールされた画像読取装置100に対して連続で割り当てられる値であり、別の値であっても良い。
S604で、OS302はデバイスドライバ303の起動処理を開始する。S605でOS302は、S603においてデバイス管理レジストリ404のデバイス情報に登録されたデバイスドライバ名称の値を取得する。
S606で、OS302はS605で取得した値をデバイスドライバ303の名称としてOS302自身に設定する。なお、OS302は、S606において設定された名称、もしくはデバイス管理レジストリ404に含まれている名称の値に従って、図5に示すようにデバイスドライバ名称を表示させる。
S607で、OS302は、S605において取得された値に対応するデバイスドライバ(起動されるデバイスドライバ)がクラスドライバ(共通ID情報を基にインストールされたドライバ)であるかを判定する。S607において、起動されるデバイスドライバ303がクラスドライバと判定された場合、S608に処理を進める。S608でOS302は、PnP検知後にデバイスドライバ303のインストールが行われた後のデバイスドライバ303の初回起動であるかどうかを判定する。初回起動である場合、S609に進み、それ以外であれば、S610に進む。
S609で、OS302はデバイスドライバ303を管理者権限で起動する。デバイスドライバ303を管理者権限で起動することで、デバイスドライバ303は、図9の(A)で示すデバイス管理レジストリ404のデバイス情報に登録されているFriendlyNameの値を変更することが可能となる。一方S610では、OS302はデバイスドライバ303を標準権限で起動する。即ち、デバイスドライバ303のインストール後の初回起動では管理者権限でデバイスドライバ303が起動され、それ以降の起動であれば標準権限で起動される。
S611でOS302は、起動したデバイスドライバ303から再起動要求を受信した場合、S612に進む。S612では、OS302はデバイスドライバ303を再起動させる。デバイスドライバ303による再起動要求については、図7を用いて説明する。
図7は、デバイスドライバ303による起動時の処理を示したフローチャートである。図7に示す処理は、CPU201がディスク装置202に格納されているデバイスドライバ303を実行することにより実現される。
デバイスドライバ303が起動されると、S701でデバイスドライバ303は、自身が管理者権限で起動しているかを判定する。例えば、Microsoft(登録商標)社のOSであるWindows(登録商標) XP以降で利用可能なAPIであるCheckTokenMembershipを使用することで確認することができる。
管理者権限で起動されている場合は、S702に処理が進む。例えば上述のS609においてOS302がデバイスドライバ303を管理者権限で起動した場合、S702における処理が実行される。S702でデバイスドライバ303は、デバイス(例えばプリンタやスキャナ)と通信してデバイス名称情報を取得する。なおS702で取得される情報は、デバイスを特定することができる情報であればどのような情報であってもよく、例えばデバイス機種や型番を示す情報や、ユーザがデバイス毎に任意の名称を登録できるフレンドリーネームであっても良い。
S703でデバイスドライバ303は、S702で取得したデバイス名称の値をデバイス管理レジストリ404に格納することで、デバイス管理レジストリ404のデバイス情報に既に登録されているドライバドライバ名称を更新する。上記のようにデバイスドライバ303が管理者権限で起動されているときには、デバイス管理レジストリ404の情報を更新することができる。即ち、OS302は、デバイスドライバ303を管理者権限で起動させることで、デバイスドライバ303にデバイス管理レジストリ404へ名称情報を格納させる格納制御処理を行うことができる。
図9の(B)は、デバイスから取得されたデバイス名称の値に更新された場合のデバイス管理レジストリ404を示す図である。図9(A)ではクラスドライバに対応するデバイスドライバ名称「Scanner Type1」であったが、これが図9(B)ではデバイスから取得したデバイス名称「ABC 1000」に変更されていることがわかる。デバイスドライバ名称「Scanner Type1」であると、図5に示したように他の機種のデバイスと同一の名称が表示されてしまう。そこで上記のデバイス名称の更新により、情報処理端末200に接続されたデバイスを特定するためのデバイス名称が表示されることになる。
次にS704でデバイスドライバ303は、OS302に対して再起動要求を送信する。この再起動要求により、上記のS611においてOS302が「デバイスドライバ303からの再起動要求あり」と判断し、S612におけるデバイスドライバ303の再起動が行われる。
このように再起動が実行されると、OS302はS605、S606における処理により更新後のデバイスドライバ名称「ABC 1000」を設定する。そしてOS302は、ユーザによるアプリケーションソフトウェア301に対する指示に従って、図5に示した画面を更新後の名称を用いて表示させることができる。
またデバイスドライバ303が再起動された場合、インストール後の初回起動でないため、S608において「No」と判定され、S610において標準権限で起動される。従ってデバイスドライバ303が再起動された場合、管理者権限でなく標準権限で起動される。しかも図6における処理によれば、デバイスドライバ303が管理者権限で起動した後にユーザの指示が入力されなくても、OS302が自動的にデバイスドライバ303を標準権限で再起動する。そのため再起動後のセキュリティを確保することができる。
ただし、例えば管理者権限で起動されたときのデバイスドライバ303の処理が制限されている場合などには、S608の処理を行わず、2回目以降の起動も管理者権限で起動されてもよい。
次に図8のシーケンスチャートを用いてデバイスドライバ303のインストールが行われた後の処理の流れを説明する。
S801でOS302は、デバイスドライバ303のインストール時に、デバイス管理レジストリ404にデバイス情報を登録する。S802でOS302は、デバイス管理レジストリ404のデバイス情報に登録されているデバイスドライバ名称の値を参照する。S803でOS302は、S802で取得したデバイスドライバ名称でデバイスドライバ303を管理者権限で起動する。S804デバイスドライバ303は画像読取装置100に対して名称情報を要求し、S805でその要求に応じて名称情報が取得される。S806でデバイスドライバ303は、画像読取装置100から取得した名称情報で、デバイス管理レジストリ404のデバイス情報に登録されているデバイスドライバ名称の値を更新する。このときデバイスドライバ303は管理者権限で起動されているため、上記のようにデバイスドライバ名称の更新が可能となる。
S807で、デバイスドライバ303はOS302に再起動要求を送信する。S808で、OS302はデバイスドライバ303からの再起動要求を受信したことに応じて、デバイスドライバ303を終了させる。S809で、OS302はデバイス管理レジストリ404のデバイス情報のドライバ名称の値を再度参照する。S810で、OS302は、更新後のデバイスドライバ名称でデバイスドライバ303を標準権限で再起動する。
以上の処理によって、デバイス管理レジストリのデバイス情報に登録されているデバイスドライバ名称をデバイスドライバインストール後に、画像読取装置から取得した名称情報に更新することが可能となる。これにより、クラスドライバを利用する複数の画像読取装置が情報処理端末200に接続される場合においても、画像読取装置毎にデバイスドライバの名称を設定することができる。そのためデバイスに対応する名称が表示された画面において、ユーザは使用したい画像読取装置を容易に選択することが可能となる。
また本実施形態では、デバイスドライバがデバイスから名称情報を取得する。そのためデバイス毎に固有な名称情報を登録しておけば、それをドライバが取得することでデバイスドライバの名称をデバイス毎に固有な名称とすることが可能となる。これにより、ユーザはより厳密に画像読取装置の判別をすることが可能である。
また本実施形態では、OSがPnP検知後にインストールが行われた後のドライバ起動時のみ管理者権限で起動し、再起動時には標準権限で起動する。これによりセキュリティリスクを低減させている。しかしこれに限らず、デバイスドライバの累計起動回数を基に、管理者権限と標準権限の起動を切り替えることで、再起動時に管理者権限で起動されてもよい。
なお、本実施形態ではデバイスドライバとしてスキャナドライバ、また制御されるデバイスとしてスキャナなどの画像読取装置を例に説明した。しかしこれに限らず、プリンタやデジタルカメラやカメラ付携帯電話などの装置でも本実施形態と同様の処理を実現することができる。
<実施形態2>
実施形態1ではデバイスドライバを再起動したが、実施形態2ではデバイスドライバを再起動せずに、デバイス選択画面に表示するドライバ名称を更新する処理について説明する。
図10は、OS302がデバイスドライバ303を起動する処理を示したフローチャートである。図10では図6とは異なり、デバイスドライバ303の再起動は行わない。S1001からS1010にかかる処理は、実施形態1で説明した図6のS601から610と同等であるため、説明を省略する。
図11は、デバイスドライバ303が起動された時の処理を示したフローチャートである。図11では、実施形態1で説明した図7とは異なり、デバイスドライバ303は再起動要求を行わない。S1101からS1103にかかる処理は、図7のS701から703と同様であるため、説明を省略する。
図12は、OS302がデバイス選択画面501表示する際の処理を示すフローチャートである。S1201からS1206にかかる処理は、実施形態1で説明した図8のS801から806と同様である。
S1207でOS302は、デバイス選択画面501の表示処理を行う。次にS1208においてOS302はデバイス管理レジストリ404のデバイス情報に登録されているデバイスドライバ名称の値を参照する。S1209においてOS302は、S1208で取得したデバイスドライバ名称をデバイス選択画面501に表示するデバイスドライバ名称に設定する。S1210で、デバイス選択画面501においてデバイスドライバがユーザにより選択されると、ユーザが選択したデバイスドライバ303がOS302に通知される。これによりOS302は通知されたデバイスドライバ303のUI画面を表示する。
以上の処理によれば、OS302がデバイスドライバ303を再起動する必要が無いため、デバイスドライバ名称の更新を行った上で、ユーザにデバイスドライバを迅速に使用させることができる。
<実施形態3>
実施形態1、2では、デバイスドライバがデバイス管理レジストリのデバイス情報に登録されているデバイスドライバ名称を更新したが、実施形態3では、OS302がデバイスドライバ名称を更新する処理について説明する。
図13は、OS302がデバイス管理レジストリ404のデバイス情報に登録されているデバイスドライバ名称を更新する際のシーケンスを示す図である。
S1301でOS302は、デバイスドライバ303のインストール時に、デバイス管理レジストリ404にデバイス情報を登録する。S1302でOS302は、デバイス管理レジストリ404のデバイス情報に登録されているデバイスドライバ名称の値を参照する。S1303でOS302は、S1302において取得したデバイスドライバ名称でデバイスドライバ303を起動する。なお、S1303においてOS302はデバイスドライバ303を管理者権限で起動させてもよいが、図13ではデバイスドライバ303がデバイス管理レジストリ404の更新を行う必要が無いため、デバイスドライバ303を標準権限で起動してもよい。S1304でOS302は、S1303において起動したデバイスドライバ303にデバイスドライバ名の取得を要求する。
S1305で、デバイスドライバ303は、画像読取装置100に対して名称情報の取得を要求し、S1306においてその要求に応じて名称情報を取得する。S1307でデバイスドライバ303は、S1304のデバイスドライバ名取得の要求に対する応答として、1306で取得した名称情報をOS302に通知する。即ちOS302は、デバイスドライバ303を起動することで、デバイスドライバ303に、画像読取装置100から名称情報を取得させる取得制御処理を行う。
S1308で、OS302は、デバイス管理レジストリ404のデバイス情報に登録されているデバイスドライバ名称をS1307でデバイスドライバから取得したデバイスドライバ名に更新する。
なお、デバイス選択画面に表示されるドライバ名称を更新するタイミングは、デバイスドライバ303の起動時、もしくは、デバイス選択画面501表示の時であっても良い。
以上の処理によれば、デバイスドライバ303ではなくOS302がデバイスドライバ名称の更新を行う。そのため、デバイスドライバ303を権利者権限で起動しなくても、デバイスドライバ名の更新を行うことができる。
以上の実施形態1〜3によれば、デバイスに対応する名称がデバイスドライバ303によりデバイスから取得される。そのため、例えばデバイスドライバ303がクラスドライバであり、複数機種のデバイスに共通の共通ID情報では同様の名称が割り振られてしまう場合でも、デバイスに個別に対応する名称を表示させることができる。よって例えばユーザが例えばクラスドライバにより制御される複数のデバイスを所有しており、複数のデバイスそれぞれに対応するデバイスドライバがインストールされる場合でも、デバイス固有の名称が表示される。したがってユーザは所望のデバイスを容易に選択することができる。
また以上の実施形態では、デバイスドライバ303がデバイスから名称情報を取得する例を示したが、これに限らず、OS302などの他のプログラムにより名称情報が取得されてもよい。
なお、以上の実施形態における情報処理端末200は、例えばPC(パーソナルコンピュータ)であってもよいし、携帯電話やスマートフォン、タブレット等のモバイル機器であってもよい。またデバイスドライバにより制御されるデバイスは、原稿を読み取る画像読取装置であってもよいし、プリンタやデジタルカメラ、ストレージ等の種々のデバイスであってもよい。
<実施形態4>
以上の実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
また、本実施形態の機能を実現するためのプログラムコードを、1つのコンピュータ(CPU、MPU)で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
100 画像読取装置
200 情報処理端末
302 OS
303 デバイスドライバ
404 デバイス管理レジストリ

Claims (19)

  1. デバイスを制御するためのデバイスドライバを管理者権限で起動させることにより、当該起動されたデバイスドライバに、当該デバイスドライバにより制御されるデバイスから取得された名称情報をレジストリに格納させる格納制御手段と、
    前記格納制御手段により前記レジストリに格納された名称情報に基づく名称を表示装置に表示させる表示制御手段と、
    を有することを特徴とする情報処理装置。
  2. 前記格納制御手段により起動され、前記名称情報をレジストリに格納した前記デバイスドライバを、標準権限で再起動する再起動手段を有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記再起動手段は、前記格納制御手段による前記デバイスドライバの起動の後にユーザの指示が入力されなくても、当該デバイスドライバを再起動することを特徴とする請求項2に記載の情報処理装置。
  4. 前記格納制御手段は、前記デバイスドライバに、当該デバイスドライバにより制御されるデバイスから前記名称情報を取得させることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記格納制御手段は、前記レジストリに格納されている名称情報に基づいて前記デバイスドライバを起動し、当該起動されたデバイスドライバに、当該レジストリに格納されている当該名称情報を更新させることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記格納制御手段は、前記情報処理装置にデバイスが接続されたことに応じて、当該デバイスに対応するデバイスドライバを起動することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記デバイスドライバは、複数のデバイスの制御に共通に用いられるデバイスドライバであることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. デバイスを制御するためのデバイスドライバを起動させることにより、当該起動されたデバイスドライバに、当該デバイスドライバにより制御されるデバイスから名称情報を取得させる取得制御手段と、
    前記格納手段により格納された名称情報に基づく名称を表示装置に表示させる表示制御手段と、
    を有することを特徴とする情報処理装置。
  9. 前記表示制御手段は、前記取得制御手段により取得され前記デバイスドライバによりレジストリに格納された名称情報に基づく名称を表示させることを特徴とする請求項8に記載の情報処理装置。
  10. 前記取得制御手段により取得された名称情報をレジストリに格納する格納手段を有し、
    前記表示制御手段は、前記格納手段により前記レジストリに格納された名称情報に基づく名称を表示させることを特徴とする請求項8に記載の情報処理装置。
  11. 前記デバイスは原稿を読み取る読取装置であり、前記デバイスドライバは、当該読取装置を制御するためのデバイスドライバであることを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。
  12. デバイスを制御するためのデバイスドライバを管理者権限で起動させることにより、当該起動されたデバイスドライバに、当該デバイスドライバに対応する名称情報をレジストリに格納させる格納制御工程と、
    前記格納制御工程において前記レジストリに格納された名称情報に基づき、前記デバイスドライバに対応する名称を表示装置に表示させる表示制御工程と、
    を有することを特徴とする情報処理方法。
  13. デバイスを制御するためのデバイスドライバを起動させることにより、当該起動されたデバイスドライバに、当該デバイスドライバに対応する名称情報を当該デバイスドライバにより制御されるデバイスから取得させる取得制御工程と、
    前記取得制御工程において取得された名称情報に基づく名称を表示装置に表示させる表示制御工程と、
    を有することを特徴とする情報処理方法。
  14. 請求項1乃至11のいずれか1項に記載の情報処理装置の各手段としてコンピュータを機能させるための、または請求項12または13に記載の情報処理方法をコンピュータに実行させるためのプログラム。
  15. オペレーティングシステムに対応するプログラムであることを特徴とする請求項14に記載のプログラム。
  16. デバイスを制御するためのデバイスドライバに対応するプログラムであって、
    オペレーティングシステムにより起動されたことに応じて、前記デバイスから名称情報を取得する取得工程を有し、
    前記取得工程において取得された名称情報に基づく名称がオペレーティングシステムにより表示装置に表示されることを特徴とするプログラム。
  17. 前記取得工程により取得された名称情報をレジストリに格納する格納工程を有し、
    前記格納工程において前記レジストリに格納された名称情報に基づく名称が前記オペレーティングシステムにより表示されることを特徴とする請求項16に記載のプログラム。
  18. 前記オペレーティングシステムにより管理者権限で起動されたことに基づいて、前記格納工程において前記レジストリに前記名称情報を格納することを特徴とする請求項17に記載のプログラム。
  19. 前記格納工程における格納に応じて、前記オペレーティングシステムに再起動を要求する要求工程を有することを特徴とする請求項18に記載のプログラム。
JP2014233795A 2014-11-18 2014-11-18 情報処理装置、情報処理方法およびプログラム Pending JP2016099666A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014233795A JP2016099666A (ja) 2014-11-18 2014-11-18 情報処理装置、情報処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014233795A JP2016099666A (ja) 2014-11-18 2014-11-18 情報処理装置、情報処理方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2016099666A true JP2016099666A (ja) 2016-05-30

Family

ID=56077852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014233795A Pending JP2016099666A (ja) 2014-11-18 2014-11-18 情報処理装置、情報処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2016099666A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020119603A (ja) * 2018-09-11 2020-08-06 キヤノン株式会社 情報処理装置、制御方法およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020119603A (ja) * 2018-09-11 2020-08-06 キヤノン株式会社 情報処理装置、制御方法およびプログラム

Similar Documents

Publication Publication Date Title
US9645777B2 (en) Information processing apparatus for searching printer, method for controlling information processing apparatus, and storage medium
US9389817B2 (en) Information processing device, control method, and storage medium for determining wireless connection method to a device
KR101536957B1 (ko) 정보처리장치, 정보처리방법 및 컴퓨터 판독 가능한 매체
JP5321929B2 (ja) ユニバーサルデバイスドライバ、デバイス制御プログラム、情報処理装置、サーバ装置、及び、方法
JP6257238B2 (ja) 情報処理装置及びアプリケーションの提示方法と制御プログラム、ネットワークシステム
KR20110010574A (ko) 정보 처리 장치, 정보 처리 방법 및 기억 매체
US11647102B2 (en) Information processing apparatus, control method, and recording medium
US20130301069A1 (en) Information processing device, computer program product, and image forming apparatus
US20110258349A1 (en) Information processing apparatus, peripheral device control method, and storage medium
US11489929B2 (en) System and method for determining client program based on login method
US9606761B2 (en) Information processing apparatus for controlling an output process and method for the same
JP6763209B2 (ja) プログラム及び携帯端末
US10554853B2 (en) Information processing device, information processing method, information processing system, and non-transitory recording medium
JP5607355B2 (ja) 情報処理装置及び情報処理装置の制御方法
JP2011180681A (ja) インストーラ及びプリンタドライバのインストール方法
US9706067B2 (en) Information processing terminal and non-transitory readable recording medium for file transfer and file processing
JP2017204139A (ja) 更新アプリケーション及び更新方法
JP6366428B2 (ja) 情報処理装置、情報処理方法およびプログラム
US9081593B2 (en) Information processing apparatus, method for controlling same, installation method, and storage medium
JP2016099666A (ja) 情報処理装置、情報処理方法およびプログラム
JP6380596B2 (ja) 連携処理システム及び連携処理方法
JP6520403B2 (ja) 携帯端末及び出力プログラム
JP6520405B2 (ja) 携帯端末、コンテンツ指定プログラム、及び出力プログラム
JP2016019100A (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
JP7490463B2 (ja) 情報処理装置、その制御方法、並びにプログラム