(57)【要約】【課題】画像処理装置を制御するためのドライバが複数ある場合であっても、自動的に適切なドライバが選択され、ユーザの手間を軽減することができる画像処理プログラムを提供すること。【解決手段】本実施形態のスキャナアプリケーション１５４によって実行されるスキャン実行処理によれば、エラーログ１５６に記憶されたエラーに基づいて、複数のドライバから１つのドライバを選択し、その選択したドライバを介して、スキャナ５０を制御する。よって、１つのスキャナ５０を制御するためのドライバが複数ある場合であっても、自動的に適切なドライバが選択され、ユーザの手間を軽減することができる。【選択図】図７
2008242979.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置と接続するための接続手段と、その接続手段により接続された画像処理装置のうちの１つを制御するためのドライバであって、それぞれ異なる手順で前記１つの画像処理装置を制御する複数のドライバと、前記ドライバの稼働の際に発生したエラーを記憶する稼働結果記憶手段とを備えたコンピュータにおいて実行される画像処理プログラムであって、
前記稼働結果記憶手段に記憶されたエラーに基づいて、前記複数のドライバから１つのドライバを選択する選択ステップと、
その選択ステップにより選択されたドライバを介して前記画像処理装置を制御する制御ステップとを前記コンピュータに実行させることを特徴とする画像処理プログラム。
【請求項２】
前記コンピュータは、前記画像処理装置と、その画像処理装置を制御するために用いられるドライバとの対応関係を記憶する対応関係記憶手段を備え、
前記選択ステップは、前記対応関係記憶手段に記憶された対応関係に基づいて、制御対象の画像処理装置が同一の２以上のドライバの中から、いずれかを選択することを特徴とする請求項１記載の画像処理プログラム。
【請求項３】
前記コンピュータはオペレーティングシステムがインストールされたものであって、前記複数のドライバはそれぞれが異なる手順でオペレーティングシステムと連動し、１つの画像処理装置を制御することを特徴とする請求項１または２に記載の画像処理プログラム。
【請求項４】
前記コンピュータは、前記複数のドライバとして少なくとも、第１の規格を用いて前記画像処理装置を制御する第１ドライバと、前記第１の規格とは異なる第２の規格を用いて前記画像処理装置を制御する第２ドライバとを備え、
前記選択ステップは、前記稼働結果記憶手段に前記第１ドライバに関するエラーが記憶され、且つ前記第２ドライバに関するエラーが記憶されていないことを条件として、前記第２ドライバを選択することを特徴とする請求項１から３のいずれかに記載の画像処理プログラム。
【請求項５】
前記選択ステップは、前記稼働結果記憶手段に前記第１ドライバに関するエラーが記憶されていないことを条件として前記第１ドライバを選択するものであり、
その選択ステップにより選択された第１ドライバを介して前記制御ステップにより制御を行った際に、所定のエラーが発生したかを判断する第１ドライバ判断ステップと、
その第１ドライバ判断ステップにより所定のエラーの発生が判断された場合、前記稼働結果記憶手段に、前記第２ドライバに関するエラーが記憶されているかを判断する第２ドライバ判断ステップと、
その第２ドライバ判断ステップにより、前記第２ドライバに関するエラーが記憶されていないと判断されることを条件として、前記第２ドライバを選択する第２ドライバ選択ステップとを前記コンピュータに実行させることを特徴とする請求項４記載の画像処理プログラム。
【請求項６】
前記選択ステップは、前記稼働結果記憶手段に、前記第１ドライバに関するエラーと、前記第２ドライバに関するエラーとが記憶されていることを条件として、前記第１ドライバを選択することを特徴とする請求項４または５に記載の画像処理プログラム。
【請求項７】
前記稼働結果記憶手段に、前記第１ドライバに関するエラーと、前記第２ドライバに関するエラーとが記憶されていることを条件として前記選択ステップにより第１ドライバが選択された場合、その選択された第１ドライバを介して前記制御ステップにより制御を行った際に、所定のエラーが発生したかを判断するエラー判断ステップと、
そのエラー判断ステップにより、所定のエラーが発生しなかったことが判断された場合、前記稼働結果記憶手段における、前記第１ドライバに関するエラーの記憶と、前記第２ドライバに関するエラーの記憶とを削除するエラー削除ステップとを前記コンピュータに実行させることを特徴とする請求項６記載の画像処理プログラム。
【請求項８】
前記制御ステップによる前記画像処理装置の制御を開始する前に、選択されたドライバに関するエラーを前記稼働結果記憶手段に書き込むエラー書込ステップと、
前記制御ステップによる制御を行った際に、所定のエラーが発生しなかったことを条件として、前記エラー記憶ステップにより記憶したエラーを、前記稼働結果記憶手段から削除する稼働結果編集ステップとを前記コンピュータに実行させることを特徴とする請求項４から７のいずれかに記載の画像処理プログラム。
【請求項９】
前記選択ステップは、前記画像処理装置からの指令を受信することを条件として、その指令の送信元画像処理装置を制御するための前記第１ドライバと前記第２ドライバとの中から、いずれかを選択することを特徴とする請求項４から８のいずれかに記載の画像処理プログラム。
【請求項１０】
前記第１ドライバは、ＴＷＡＩＮを用いて前記画像処理装置を制御するドライバと、ＷＩＡを用いて前記画像処理装置を制御するドライバとのうちのいずれか一方のドライバであって、前記第２ドライバは他方のドライバであることを特徴とする請求項４から９のいずれかに記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理プログラムに関し、特に、画像処理装置を制御するためのドライバが複数ある場合であっても、自動的に適切なドライバが選択され、ユーザの手間を軽減することができる画像処理プログラムに関するものである。
【背景技術】
【０００２】
１台のスキャナ装置に対して、ベンダーが、ＴＷＡＩＮドライバとＷＩＡドライバという２つの異なったドライバを提供していることが多い。これら製品を使用するために２つのドライバをＰＣに備えられたＯＳにインストールすると、アプリケーションからは２つのドライバのどちらでも任意に使って、1つのスキャナ装置を走査させることが出来る。
【０００３】
また、ユーザがスキャナの操作パネルを操作することにより、スキャナからＰＣにスキャン開始を要求した場合、要求を受信したＰＣ側のスキャナアプリケーションが、ＴＷＡＩＮドライバまたはＷＩＡドライバのいずれかを使用して、スキャナに走査を指令することができる。
【０００４】
ＴＷＡＩＮドライバとＷＩＡドライバは、いずれもそれぞれ固有の手順でＯＳと連動し、スキャナ装置に対して走査を指令するものである。この特徴により、一方のドライバが使用できない状態であったとしても、他方のドライバではスキャナに走査が指令できる場合がある。例えば、一方のドライバのインストールやロード処理にのみエラーが発生している場合は、その一方のドライバからの指令は不可能であるが、他方のドライバからは正常に指令をすることができる。
【特許文献１】特開２００４−２１３４２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＴＷＡＩＮドライバとＷＩＡとのいずれを使用するかは、アプリケーションに予め設定してある設定値に従い決定されていたので、一方のドライバが使用できない状態になったとき、いちいちユーザがアプリケーションの設定を変更しなければならずユーザの手間が大きいという問題点があった。
【０００６】
特に、ユーザがスキャナの操作パネルを操作することにより、スキャンを開始する場合、ＰＣにおいてアプリケーションに予め設定されているドライバが使用できない状態であったとき、ユーザはアプリケーションの設定を変更するために、スキャナ傍からＰＣの設置位置まで移動しなければならず面倒である。
【０００７】
さらに、インストールの失敗など一方のドライバに解決できないような致命的な異常がある場合、異常のない正常なドライバを優先的に使用する設定とすることが望ましいが、いずれのドライバが正常であるかユーザには容易に判別できず、アプリケーションに設定すべきドライバをユーザ自身が適切に選択することが困難であるという問題点があった。
【０００８】
本発明は、上記問題点を解決するためになされたものであり、画像処理装置を制御するためのドライバが複数ある場合であっても、自動的に適切なドライバが選択され、ユーザの手間を軽減することができる画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
この目的を達成するために、請求項１記載の画像処理プログラムは、画像処理装置と接続するための接続手段と、その接続手段により接続された画像処理装置のうちの１つを制御するためのドライバであって、それぞれ異なる手順で前記１つの画像処理装置を制御する複数のドライバと、前記ドライバの稼働の際に発生したエラーを記憶する稼働結果記憶手段とを備えたコンピュータにおいて実行されるプログラムであって、前記稼働結果記憶手段に記憶されたエラーに基づいて、前記複数のドライバから１つのドライバを選択する選択ステップと、その選択ステップにより選択されたドライバを介して前記画像処理装置を制御する制御ステップとを前記コンピュータに実行させることを特徴とする。
【００１０】
請求項２記載の画像処理プログラムは、請求項１記載の画像処理プログラムにおいて、前記コンピュータは、前記画像処理装置と、その画像処理装置を制御するために用いられるドライバとの対応関係を記憶する対応関係記憶手段を備え、前記選択ステップは、前記対応関係記憶手段に記憶された対応関係に基づいて、制御対象の画像処理装置が同一の２以上のドライバの中から、いずれかを選択することを特徴とする。
【００１１】
請求項３記載の画像処理プログラムは、請求項１または２に記載の画像処理プログラムにおいて、前記コンピュータはオペレーティングシステムがインストールされたものであって、前記複数のドライバはそれぞれが異なる手順でオペレーティングシステムと連動し、１つの画像処理装置を制御することを特徴とする。
【００１２】
請求項４記載の画像処理プログラムは、請求項１から３のいずれかに記載の画像処理プログラムにおいて、前記コンピュータは、前記複数のドライバとして少なくとも、第１の規格を用いて前記画像処理装置を制御する第１ドライバと、前記第１の規格とは異なる第２の規格を用いて前記画像処理装置を制御する第２ドライバとを備え、前記選択ステップは、前記稼働結果記憶手段に前記第１ドライバに関するエラーが記憶され、且つ前記第２ドライバに関するエラーが記憶されていないことを条件として、前記第２ドライバを選択することを特徴とする。
【００１３】
請求項５記載の画像処理プログラムは、請求項４記載の画像処理プログラムにおいて、前記選択ステップは、前記稼働結果記憶手段に前記第１ドライバに関するエラーが記憶されていないことを条件として前記第１ドライバを選択するものであり、その選択ステップにより選択された第１ドライバを介して前記制御ステップにより制御を行った際に、所定のエラーが発生したかを判断する第１ドライバ判断ステップと、その第１ドライバ判断ステップにより所定のエラーの発生が判断された場合、前記稼働結果記憶手段に、前記第２ドライバに関するエラーが記憶されているかを判断する第２ドライバ判断ステップと、その第２ドライバ判断ステップにより、前記第２ドライバに関するエラーが記憶されていないと判断されることを条件として、前記第２ドライバを選択する第２ドライバ選択ステップとを前記コンピュータに実行させることを特徴とする。
【００１４】
請求項６記載の画像処理プログラムは、請求項４または５に記載の画像処理プログラムにおいて、前記選択ステップは、前記稼働結果記憶手段に、前記第１ドライバに関するエラーと、前記第２ドライバに関するエラーとが記憶されていることを条件として、前記第１ドライバを選択することを特徴とする。
【００１５】
請求項７記載の画像処理プログラムは、請求項６記載の画像処理プログラムにおいて、前記稼働結果記憶手段に、前記第１ドライバに関するエラーと、前記第２ドライバに関するエラーとが記憶されていることを条件として前記選択ステップにより第１ドライバが選択された場合、その選択された第１ドライバを介して前記制御ステップにより制御を行った際に、所定のエラーが発生したかを判断するエラー判断ステップと、そのエラー判断ステップにより、所定のエラーが発生しなかったことが判断された場合、前記稼働結果記憶手段における、前記第１ドライバに関するエラーの記憶と、前記第２ドライバに関するエラーの記憶とを削除するエラー削除ステップとを前記コンピュータに実行させることを特徴とする。
【００１６】
請求項８記載の画像処理プログラムは、請求項４から７のいずれかに記載の画像処理プログラムにおいて、前記制御ステップによる前記画像処理装置の制御を開始する前に、選択されたドライバに関するエラーを前記稼働結果記憶手段に書き込むエラー書込ステップと、前記制御ステップによる制御を行った際に、所定のエラーが発生しなかったことを条件として、前記エラー記憶ステップにより記憶したエラーを、前記稼働結果記憶手段から削除する稼働結果編集ステップとを前記コンピュータに実行させることを特徴とする。
【００１７】
請求項９記載の画像処理プログラムは、請求項４から８のいずれかに記載の画像処理プログラムにおいて、前記選択ステップは、前記画像処理装置からの指令を受信することを条件として、その指令の送信元画像処理装置を制御するための前記第１ドライバと前記第２ドライバとの中から、いずれかを選択することを特徴とする。
【００１８】
請求項１０記載の画像処理プログラムは、請求項４から９のいずれかに記載の画像処理プログラムにおいて、前記第１ドライバは、ＴＷＡＩＮを用いて前記画像処理装置を制御するドライバと、ＷＩＡを用いて前記画像処理装置を制御するドライバとのうちのいずれか一方のドライバであって、前記第２ドライバは他方のドライバであることを特徴とする。
【発明の効果】
【００１９】
請求項１記載の画像処理プログラムによれば、稼働結果記憶手段に記憶されたエラーに基づいて、複数のドライバから１つのドライバが自動的に選択され、その選択されたドライバを介して画像処理装置が制御される。よって、１つの画像処理装置を制御するためのドライバが複数ある場合であっても、自動的に適切なドライバが選択され、ユーザの手間を軽減することができるという効果がある。
【００２０】
請求項２記載の画像処理プログラムによれば、請求項１記載の画像処理プログラムの奏する効果に加え、制御対象の画像処理装置を制御することができるドライバが複数あっても、適切なドライバを自動的に選択することができ、ユーザの手間を軽減することができるという効果がある。
【００２１】
請求項３記載の画像処理プログラムによれば、請求項１または２に記載の画像処理プログラムの奏する効果に加え、コンピュータはオペレーティングシステムがインストールされたものであって、複数のドライバはそれぞれが異なる手順でオペレーティングシステムと連動し、１つの画像処理装置を制御するので、１つの画像処理装置を制御するためのドライバが複数ある場合であっても、自動的に適切なドライバが選択され、ユーザの手間を軽減することができるという効果がある。
【００２２】
請求項４記載の画像処理プログラムによれば、請求項１から３のいずれかに記載の画像処理プログラムの奏する効果に加え、コンピュータは、正常に動作する可能性がより高いドライバを自動的に選択することができ、ユーザの手間を軽減することができるという効果がある。
【００２３】
請求項５記載の画像処理プログラムによれば、請求項４記載の画像処理プログラムの奏する効果に加え、正常に動作する可能性が高い場合は、第１ドライバを優先的に選択することができ、かつ、第１ドライバによる制御においてエラーが発生した場合であっても、自動的に第２ドライバが選択され、ユーザの手間を軽減することができるという効果がある。
【００２４】
請求項６記載の画像処理プログラムによれば、請求項４または５に記載の画像処理プログラムの奏する効果に加え、両方のドライバに関しエラーが記憶されている場合であっても、自動的に第１ドライバ選択し、画像処理装置を制御する処理を進めることができるという効果がある。
【００２５】
請求項７記載の画像処理プログラムによれば、請求項６記載の画像処理プログラムの奏する効果に加え、制御エラーが発生しなかった制御ステップ以降の選択ステップでは、第１ドライバおよび第２ドライバいずれもが選択され得る状態とすることができるという効果がある。
【００２６】
請求項８記載の画像処理プログラムによれば、請求項４から７のいずれかに記載の画像処理プログラムの奏する効果に加え、選択されたドライバを介した制御の途中でエラーが発生し、コンピュータが入力を受け付けない状態となった場合であっても、そのエラーの記録を稼働結果記憶手段に確実に残すことができるという効果がある。
【００２７】
請求項９記載の画像処理プログラムによれば、請求項４から８のいずれかに記載の画像処理プログラムの奏する効果に加え、画像処理装置側において、ユーザが操作をした場合であっても、コンピュータ側で、適切なドライバを自動的に選択することができ、ユーザが画像処理装置近傍からコンピュータ設置位置まで移動する手間を省くことができるという効果がある。
【００２８】
請求項１０記載の画像処理プログラムによれば、請求項４から９のいずれかに記載の画像処理プログラムの奏する効果に加え、１つの画像処理装置を制御するためにＴＷＡＩＮドライバとＷＩＡドライバとが設けられている場合、いずれか適切なドライバを自動的に選択することができるという効果がある。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。図１は、本発明の画像処理プログラムの一実施形態に係るスキャナアプリケーションがインストールされたコンピュータ１０と、コンピュータ１０に接続された画像処理装置の一例としてのスキャナ５０との電気的構成を示すブロック図である。図１に示すように、コンピュータ１０とスキャナ５０とは、ＬＡＮ６０により接続されている。
【００３０】
なお、本実施形態では、コンピュータ１０にはスキャナ５０およびスキャナ５０１を含む複数台のスキャナが接続されているものとして説明するが、図示および説明を簡単にするために、図１においては、ＬＡＮ６０を介してコンピュータ１０に接続された一台のスキャナ５０についてのみ説明する。
【００３１】
コンピュータ１０は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１５と、液晶ディスプレイ１６（以下、ＬＣＤ１６と称する）と、入力装置１７と、ＬＡＮインターフェース１８とを有しており、これらはシステムバス１９によって互いに結合されている。コンピュータ１０は、ＯＳ１５１としてマイクロソフトウィンドウズ（登録商標）がインストールされ、起動するようになっている。
【００３２】
ＣＰＵ１１は、コンピュータ１０を制御するための中央演算処理装置である。ＣＰＵ１１は、スキャナ５０を制御する処理（図６，図７参照）などの各種処理を実行する。
【００３３】
ＲＯＭ１２は、読み出し専用記憶装置であり、コンピュータ１０のＯＳを立ち上げるためのプログラム等が記憶されている。ＲＡＭ１３は、読み出しと書き込みとが可能な揮発性記憶装置である。
【００３４】
ＨＤＤ１５は、読み出しと書き込みとが可能な記憶装置（ハードディスク）及びその読取装置であり、オペレーティングシステム５１（以下、ＯＳ５１と称する）と、ＴＷＡＩＮドライバ１５２と、ＷＩＡドライバ１５３と、スキャナアプリケーション１５４と、レジストリ１５５と、エラーログ１５６と、スキャン開始受信プログラム１５７との他、スキャナ５０など、ＬＡＮ６０を介して接続されたスキャナから転送されたラスタデータ等が格納される。なお、コンピュータ１０に接続された複数台のスキャナの機種がそれぞれ異なる場合、各機種に対応したＴＷＡＩＮドライバと、ＷＩＡドライバと、スキャナアプリケーションと、スキャン開始受信プログラムとが、このＨＤＤ１５に格納されることとなるが、理解を容易にするため、図１においては、スキャナ５０に対応したＴＷＡＩＮドライバ１５２、ＷＩＡドライバ１５３、スキャナアプリケーション１５４、スキャン開始受信プログラム１５７についてのみ図示および説明をする。
【００３５】
図１に示すように、ＯＳ１５１は、ＴＷＡＩＮデータソースマネージャー１５１１と、ＷＩＡサービス１５１２とを備える。ここで、ＴＷＡＩＮとＷＩＡについて説明する。ＴＷＡＩＮおよびＷＩＡは、いずれも、スキャナ、デジタルカメラなどの画像処理装置からコンピュータ１０へデータを取り込む処理において用いられる規格である。本実施形態のコンピュータ１０にインストールされているＯＳ１５１は、ＴＷＡＩＮに対応したＴＷＡＩＮドライバ１５２を管理するためのＴＷＡＩＮデータソースマネージャ１５１１と、ＷＩＡに対応したＷＩＡドライバ１５３を管理するためのＷＩＡサービス１５１２とを備えているので、両方の規格に対応することができる。
【００３６】
図２を参照して、コンピュータ１０とスキャナ５０との通信におけるデータの流れについて説明する。図２は、コンピュータ１０とスキャナ５０との間におけるデータの流れを示すブロック図である。図２に示すように、コンピュータ１０とスキャナ５０との間の通信においては、ＴＷＡＩＮドライバ１５２またはＷＩＡドライバ１５３のいずれか一方を介してデータのやりとりが行われる。
【００３７】
ＴＷＡＩＮデータソースマネージャ１５１１は、ＴＷＡＩＮドライバ１５２を管理するプログラムである。ＴＷＡＩＮデータソースマネージャ１５１１は、スキャナアプリケーション１５４と指令やデータのやり取りを行い、スキャナアプリケーション１５４のアクセスにより、ＴＷＡＩＮドライバ１５２の識別情報であるドライバ名をスキャナアプリケーション１５４に返し、ＴＷＡＩＮドライバ１５２を選択することができるように構成されている。
【００３８】
ＷＩＡサービス１５１２は、ＷＩＡドライバ１５３を管理するプログラムである。ＷＩＡサービス１５１２は、スキャナアプリケーション１５４と指令やデータのやり取りを行い、スキャナアプリケーション１５４のアクセスにより、ＷＩＡドライバ１５３の識別情報であるドライバ名を返し、ＷＩＡドライバ１５３を選択することができるように構成されている。
【００３９】
ＴＷＡＩＮドライバ１５２は、スキャナ５０が接続された通信ポートとの間の通信を行い、スキャナ５０から送信されたラスタデータを受信して、受信したラスタデータをスキャナアプリケーション１５４へ受け渡す処理を行うためのものであり、スキャナ５０のドライバソフトを構成する。
【００４０】
ＷＩＡドライバ１５３は、スキャナ５０が接続された通信ポートとの間の通信を行い、スキャナ５０から送信されたラスタデータを受信して、受信したラスタデータをスキャナアプリケーション１５４へ受け渡す処理を行うためのものであり、スキャナ５０のドライバソフトを構成する。
【００４１】
ＴＷＡＩＮドライバ１５２およびＷＩＡドライバ１５３は、共にスキャナ５０を制御するためのドライバである点において共通するが、ＴＷＡＩＮドライバ１５２は、ＴＷＡＩＮ（特許請求の範囲に記載の第１の規格の一例）を用いてスキャナ５０を制御するものであるのに対し、ＷＩＡドライバ１５３は、ＷＩＡ（特許請求の範囲に記載の第２の規格の一例）を用いてスキャナ５０を制御する点において異なる。これらＴＷＡＩＮドライバ１５２とＷＩＡドライバ１５３とは、それぞれが異なる手順でＯＳ１５１と連動し、スキャナ５０を制御する。
【００４２】
よって、コンピュータ１０とスキャナ５０との間の通信をいずれか一方のドライバを介して行った場合において、その一方のドライバに異常があってスキャナ５０との通信ができない場合であっても、他方のドライバを介して通信を行えば、スキャナ５０を正常に制御可能な場合があり得る。よって、本実施形態では、ＴＷＡＩＮドライバ１５２とＷＩＡドライバ１５３のうち、スキャナ５０を正常に制御できる可能性が高い１つのドライバを自動的に選択し、そのドライバを用いてスキャナ５０を制御することとしているが、詳細は図７を参照して後述する。
【００４３】
スキャナアプリケーション１５４は、ＴＷＡＩＮドライバ１５２及びＷＩＡドライバ１５３に対応したコンピュータ１０上で動作するアプリケーションであり、ユーザによりコンピュータ１０にインストールされる。また、スキャナアプリケーション１５４は、ＴＷＡＩＮドライバ１５２またはＷＩＡドライバ１５３からラスタデータを受け取る。後述するスキャン実行処理（図７参照）は、このスキャナアプリケーション１５４に従って実行される。
【００４４】
図１に戻り説明する。レジストリ１５５は、ＯＳであるマイクロソフトウィンドウズ（登録商標）において、コンピュータ１０に関するデバイスドライバ設定からアプリケーション設定まで、あらゆる設定情報を集中管理するデータベースである。
【００４５】
図３を参照して、レジストリ１５５に管理される設定情報について説明する。図３は、レジストリ１５５の構成を模式的に示す図である。図３に示すように、レジストリ１５５は、ツリーとして階層状に編成され、スキャナ５０と、スキャナ５０を制御するために用いられるドライバとの対応関係を記憶する。具体的には、レジストリ１５５には、スキャナ５０用のデバイスインフォメーション領域１５５１が設けられ、このデバイスインフォメーション領域１５５１に、スキャナ５０に対応するＴＷＡＩＮドライバ１５２のドライバ名、スキャナ５０に対応するＷＩＡドライバ１５３のドライバ名が記憶される。
【００４６】
具体的には、名前「ＴｗａｉｎＤｒｉｖｅｒＮａｍｅ」に対し、データ（値）として、「ＴＷ−Ｂｔ  ＭＦＰ−９４４０ＣＮ  ＬＡＮ＃２」が記憶される。また、名前「ＷｉａＤｒｉｖｅｒＮａｍｅ」に対し、データ（値）として、「Ｂｔ  ＭＦＰ−９４４０ＣＮ  ＬＡＮ＃２」が記憶される。後述するスキャン実行処理（図７参照）で説明するように、レジストリ１５５に記憶された名前「ＴｗａｉｎＤｒｉｖｅｒＮａｍｅ」または「ＷｉａＤｒｉｖｅｒＮａｍｅ」をキーとすることにより、スキャナ５０に対応するＴＷＡＩＮドライバ１５２とＷＩＡドライバ１５３のドライバ名が取得される。
【００４７】
なお、互いに機種が異なる複数台のスキャナがコンピュータ１０に接続される場合、各機種毎のＴＷＡＩＮドライバ、ＷＩＡドライバがコンピュータ１０にインストールされているので、各機種に対応したデバイスインフォメーション領域が設けられ、その各領域にＴＷＡＩＮドライバ名およびＷＩＡドライバ名が記憶されているが、ここでは図示および説明を省略する。
【００４８】
図１に戻り説明する。エラーログ１５６は、ＴＷＡＩＮドライバ１５２とＷＩＡドライバ１５３の各々について、各ドライバの稼働の際に発生した致命的なエラー（特許請求の範囲に記載の所定のエラーの一例）の履歴を記憶するファイルである。なお、本実施形態では、発生したエラーのうち、原稿無し、原稿が搬送の途中に詰まった用紙ジャム、ＬＡＮケーブルが抜けている、スキャナの電源が入っていない、スキャナあるいはコンピュータのネットワーク設定が合っていない、ケーブルの先の機器と接続できないなど、ユーザ自身の判断と対応とで解決することができるようなエラーは致命的なエラーには含まず、これ以外のエラーを、致命的なエラーとして、その発生をエラーログ１５６に記憶することとしている。
【００４９】
図４を参照して、エラーログ１５６について説明する。図４は、エラーログ１５６に記憶されるエラーの例を示す図である。図４に示すように、エラーログ１５６には、ＴＷＡＩＮドライバとＷＩＡドライバのいずれの稼働時にエラーが発生したかを示す情報（Ｔｗａｉｎ／Ｗｉａ）と、そのエラーを発生したドライバ名とが記憶される。なお、図示は省略するが、エラーログ１５６には、エラー発生時刻など、その他のより詳細な情報が記憶されている。
【００５０】
図１に戻り説明する。スキャン開始受信プログラム１５７は、スキャナ５０においてスキャンの開始がユーザによって指示されたことを条件として、スキャナアプリケーション１５４にスキャン実行を指示するプログラムである。なお、スキャン開始受信プログラム１５７によって実行されるスキャン制御処理については、図６を参照して後述する。
【００５１】
ＬＣＤ１６は、情報を出力して表示する表示装置で、図示省略の入出力インターフェースを介してシステムバス１９に接続される。このＬＣＤ１６は、コンピュータ１０の各種機能に関する情報の表示に用いられる。ＬＣＤ１６に替えて、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイなど、他の構造のディスプレイが用いられても良い。
【００５２】
入力装置１７は、例えば、マウスやキーボード等により構成され、外部からの入力操作を行うために、図示省略の入出力インターフェースを介してシステムバス１９に接続される。この入力装置１７は、コンピュータ１０の各種機能に関する情報入力に用いられる。
【００５３】
ＬＡＮインターフェース１８は、ＬＡＮ６０を介して、スキャナ５０のＬＡＮインターフェース５８に接続するもので、コンピュータ１０とスキャナ５０とのデータ通信を可能にするものであり、ラスタデータ等の通信に用いられる。
【００５４】
図１に示すように、スキャナ５０は、ＣＰＵ５１と、ＲＯＭ５２と、ＲＡＭ５３と、ＮＶＲＡＭ（Ｎｏｎ  Ｖｏｌａｔｉｌｅ  ＲＡＭ）５４と、ＬＣＤ５５と、スキャン開始キー５６と、スキャナ部５７と、ＬＡＮインターフェース（ＬＡＮ  Ｉ／Ｆ）５８とを有しており、これらは、システムバス５９によって互いに結合されている。
【００５５】
ＣＰＵ５１は、スキャナ５０を制御するための中央演算処理装置である。ＣＰＵ５１は、コンピュータ１０からの受信した指示を解析して、後述するスキャナ部５７に対してスキャナの機能を提供させるなどの処理を実行する。
【００５６】
ＲＯＭ５２は、読み出し専用記憶装置である。ＲＡＭ５３は、読み出しと書き込みとが可能な揮発性記憶装置である。ＮＶＲＡＭ５４は、書き換えの必要なデータを保存するための不揮発性ＲＡＭである。
【００５７】
ＬＣＤ５５は、情報を出力して表示する表示装置で、図示省略の入出力インターフェースを介してシステムバス５９に接続される。このＬＣＤ５５は、スキャナ５０の各種機能に関する情報の表示に用いられる。
【００５８】
スキャン開始キー５６は、ユーザがスキャナ５０に対し入力操作を行うために、スキャナ５０に設けられている入力装置であり、図示省略の入出力インターフェースを介してシステムバス５９に接続される。このスキャン開始キー５６を押下する操作により、ＬＡＮインターフェース６０を介して接続されたコンピュータ１０に通知が行われ、この通知を受けたコンピュータ１０によってスキャナ５０が制御される。そしてその制御に従って、スキャナ部５７で画像データを生成し、その生成した画像データをスキャナ５０からコンピュータ１０に対して転送する。
【００５９】
スキャナ部５７は、紙やフィルムに描画（印刷）された画像（イメージ）をコンピュータに取込むためのスキャナ機能を提供する装置で、図示省略の入出力インターフェースを介してシステムバス５９に接続される。このスキャナ部５７は、後述するコンピュータ１０から送信された指令により、ＣＰＵ５１を介して、スキャナ５０の所定箇所に載置された原稿についてスキャンを実行する。そして、そのスキャンに基づいて生成された画像データ（ラスタデータ）は、ＴＷＡＩＮドライバ１５２またはＷＩＡドライバ１５３を介してコンピュータ１０のスキャナアプリケーション１５４に転送される。
【００６０】
ＬＡＮインターフェース５８は、ＬＡＮ６０を介して、コンピュータ１０のＬＡＮインターフェース１８に接続するもので、スキャナ５０とコンピュータ１０とのデータ通信を可能にするものであり、ラスタデータ等の通信に用いられる。
【００６１】
図５を参照して、スキャナ５０とそのスキャナ５０を制御するためにコンピュータ１０にて実行される処理について説明する。図５は、スキャナ５０で実行されるスキャン指令処理を示すフローチャートである。このスキャン指令処理は、スキャナ５０の電源起動後、定期的に実行される処理である。
【００６２】
まず、スキャン開始キー５６（図１参照）にユーザ入力があったか否かを判断する（Ｓ２）。スキャン開始キー５６にユーザ入力がない場合（Ｓ２：Ｎｏ）、処理を待機する。
【００６３】
一方、スキャン開始キー５６にユーザ入力があった場合（Ｓ２：Ｙｅｓ）、次に、スキャナ５０における所定の原稿載置位置に、原稿が載置されているか否かを判断する（Ｓ４）。原稿が載置されていない場合（Ｓ４：Ｎｏ）、原稿の載置を促すメッセージをＬＣＤ５５（図２参照）に表示し、Ｓ４の処理に戻る。
【００６４】
一方、原稿が載置されている場合（Ｓ４：Ｙｅｓ）、スキャン開始指令（特許請求の範囲に記載の「指令」の一例）をコンピュータ１０へ送信し、処理を終了する。スキャン開始指令を受信したコンピュータ１０の処理については、図６を参照して説明する。このスキャン指令処理によれば、ユーザによりスキャン開始キー５６の押下操作がされたことを、スキャン開始指令としてコンピュータ１０へ通知することができる。
【００６５】
図６は、コンピュータ１０において実行されるスキャナ制御処理を示すフローチャートである。図６に示すスキャナ制御処理は、スキャン開始受信プログラム１５７に従って、コンピュータ１０において定期的に実行される処理である。
【００６６】
まず、スキャナ５０からスキャン開始指令を受信したか否かを判断する（Ｓ１０）。スキャナ５０からのスキャン開始指令を受信しない場合（Ｓ１０：Ｎｏ）、スキャナ制御処理を終了する。
【００６７】
一方、スキャナ５０からスキャン開始指令を受信した場合（Ｓ１０：Ｙｅｓ）、次に、制御対象スキャナに対応するスキャナアプリケーションが起動されているか否かを判断する（Ｓ１４）。なお、スキャン開始指令の送信元装置であるスキャナが、制御対象スキャナに対応するが、ここでは、制御対象スキャナはスキャナ５０であるものとして説明する。
【００６８】
スキャナ５０に対応するスキャナアプリケーション１５４が起動されていない場合（Ｓ１４：Ｎｏ）、スキャナ５０に対応するスキャナアプリケーション１５４を起動し（Ｓ１６）、起動したスキャナアプリケーション１５４へスキャン実行を指示する（Ｓ２０）。一方、スキャナ５０に対応するスキャナアプリケーション１５４が既に起動されている場合（Ｓ１４：Ｙｅｓ）、Ｓ１６の処理をスキップして、そのスキャナアプリケーション１５４へスキャン実行を指示する（Ｓ２０）。
【００６９】
図７を参照して、スキャン実行処理（Ｓ２１）について説明する。図７は、コンピュータ１０において、スキャナアプリケーション１５４に従って実行されるスキャン実行処理（Ｓ２１）を示すフローチャートである。このスキャン実行処理（Ｓ２１）は、図６を参照して説明したスキャナ制御処理により、スキャン実行が指示された場合、またはコンピュータ１０の入力装置１７からスキャン開始の指令が入力された場合に実行される。
【００７０】
なお、以下の説明においては、スキャナ５０が制御対象スキャナであるものとして説明するが、図６に示すスキャナ制御処理によりこのスキャン実行処理（Ｓ２１）が起動された場合、スキャン開始指令の送信元装置であるスキャナが、制御対象スキャナに対応する。また、入力装置１７からスキャン開始の指令が入力された場合には、ユーザにより選択されたスキャナ、あるいはコンピュータ１０において制御対象スキャナとして予め設定されているスキャナ、または、スキャナ５０を含む複数の画像処理装置の制御を統括するアプリケーションによって選択されたスキャナが制御対象スキャナに相当する。
【００７１】
まず、制御対象スキャナであるスキャナ５０に対応するＴＷＡＩＮドライバ名をレジストリ１５５（図３参照）から取得し（Ｓ２２）、スキャナ５０に対応するＷＩＡドライバ名をレジストリ１５５から取得する（Ｓ２４）。このようにして取得したＴＷＡＩＮドライバ名とＷＩＡドライバ名とを用いることにより、以降の処理において、各ドライバを選択することができる。
【００７２】
次に、エラーログ１５６（図４参照）を参照する（Ｓ２６）。そして、以下Ｓ２８からＳ５８の処理においては、エラーログ１５６に記憶されたエラーに基づいて、ＴＷＡＩＮドライバ１５２とＷＩＡドライバ１５３とのうち、いずれか１つが選択され、選択されたドライバを介してスキャナ５０が制御される。
【００７３】
まず、エラーログ１５６に、スキャナ５０のＴＷＡＩＮドライバ１５２に関するエラーが記憶されているか否かを判断する（Ｓ２８）。具体的には、ＴＷＡＩＮドライバ１５２のドライバ名がエラーログ１５６に記述されているか否かを判断する。
【００７４】
ＴＷＡＩＮドライバ１５２に関するエラーがエラーログ１５６に記憶されていない場合（Ｓ２８：Ｎｏ）、ＴＷＡＩＮドライバ１５２を選択する。すなわち、Ｓ２２の処理で取得したＴＷＡＩＮドライバ名で特定されるＴＷＡＩＮドライバ１５２を読み込み、ＴＷＡＩＮドライバ１５２を介してスキャナ５０の制御を行う（Ｓ３２）。すなわち、ＴＷＡＩＮドライバ１５２を優先的に用いる。このＳ３２の処理において、コンピュータ１０がＴＷＡＩＮドライバ１５２を介してスキャナ５０に対して指令を出力し、スキャナ５０を制御することにより、スキャナ部５７にて画像データを生成させ、その生成した画像データをスキャナ５０からコンピュータ１０に対して転送させることができる。
【００７５】
なお、スキャナ５０の制御を開始する前の処理として、ＴＷＡＩＮドライバ１５２に関するエラーをエラーログ１５６に書き込む（Ｓ３０）。このようにすれば、Ｓ３２におけるスキャナ５０の制御の際にエラーが発生し、コンピュータ１０が入力を受け付けない状態となった場合であっても、そのＴＷＡＩＮドライバ１５２に関するエラーの記録をエラーログ１５６に確実に残すことができる。
【００７６】
そして、ＴＷＡＩＮドライバ１５２を介してスキャナ５０の制御を行った際に、その制御において致命的なエラーが発生したか否かを判断する（Ｓ３４）。
【００７７】
致命的なエラーが発生したか否かを判断するための具体的判断ステップの一例を以下に説明する。まず、スキャナ５０の制御においてエラーが発生したか否かを判断し、エラーが発生した場合には、そのエラーの原因が、原稿用紙無し、原稿用紙の詰まり、ケーブルが抜けている、スキャナの電源が入っていない、スキャナあるいはコンピュータのネットワーク設定が合っていない、ケーブルの先の機器と接続できない、のいずれかに該当するかを判断する。そして、いずれにも該当しなかった場合は、致命的なエラーと判断する。このようにすれば、例えば、ドライバのロードの失敗、ＯＳファイルの欠損、データ化け、ＯＳとドライバとの不適合、ドライバ同士のコンフリクト、ドライバインストール時の失敗など、ユーザ自身では簡単に解決できないエラーを致命的エラーとして判断することができる。
【００７８】
致命的なエラーが発生したか否かを判断した結果、致命的なエラーが発生していない場合（Ｓ３４：Ｎｏ）、スキャナ５０の制御開始前のＳ３２の処理でエラーログ１５６に記憶したエラーを、エラーログ１５６から削除し（Ｓ３６）、スキャン実行処理を終了する。なお、スキャナ５０の制御の際に、致命的ではないもののエラーが発生し、制御を終了できなかった場合は、コンピュータ１０のＬＣＤ１６に異常終了した旨を表示しても良い。
【００７９】
一方、致命的なエラーが発生した場合（Ｓ３４：Ｙｅｓ）、スキャナ５０の制御開始前のＳ３２の処理でエラーログ１５６に書き込んだエラーに、発生時刻などのより詳細なエラー情報を書き込み（Ｓ３８）、Ｓ４０の処理に移行する。このようにすれば、致命的なエラーの発生をエラーログ１５６に残すことができる。
【００８０】
次に、Ｓ４０の処理について説明する。このＳ４０の処理は、上述のように、ＴＷＡＩＮドライバ１５２を介した制御において致命的なエラーが発生したと判断された場合（Ｓ３４：Ｙｅｓ）、または、エラーログ１５６にＴＷＡＩＮドライバ１５２に関するエラーが記憶されていると判断された場合（Ｓ２８：Ｙｅｓ）、実行される。
【００８１】
まず、エラーログ１５６に、スキャナ５０のＷＩＡドライバ１５３に関するエラーが記憶されているか否かを判断する（Ｓ４０）。具体的には、エラーログ１５６にＷＩＡドライバ１５３のドライバ名が記述されているか否かを判断する。
【００８２】
ＷＩＡドライバ１５３に関するエラーがエラーログ１５６に記憶されていない場合（Ｓ４０：Ｎｏ）、ＷＩＡドライバ１５３を選択する。すなわち、Ｓ２２の処理で取得したＷＩＡドライバ名で特定されるＷＩＡドライバ１５３を読み込み、その読み込んだＷＩＡドライバ１５３を介してスキャナ５０の制御を行う（Ｓ４２）。
【００８３】
このようにすれば、エラーログ１５６にＴＷＡＩＮドライバ１５２に関するエラーが記憶され、ＷＩＡドライバ１５３に関するエラーが記憶されていないことを条件として、正常に動作する可能性がより高いＴＷＡＩＮドライバ１５３を自動的に選択することができ、ユーザの手間を軽減することができる。すなわち、上述したようにエラーログ１５６においてＴＷＡＩＮドライバ１５２に関するエラーが記憶されている場合、ＴＷＡＩＮドライバ１５２に関しては、インストールの失敗など、容易には解決できない異常が発生していることが予測される。よって、エラーログ１５６にＴＷＡＩＮドライバ１５２に関するエラーが記憶され、且つＷＩＡドライバ１５３に関するエラーが記憶されていない場合には、ＷＩＡドライバ１５３の方が正常に動作する可能性がより高いと判断できるのである。
【００８４】
また、Ｓ３２の処理においてＴＷＡＩＮドライバ１５２を介して制御を行った際に、致命的なエラーの発生が判断された場合（Ｓ３４：Ｙｅｓ）においても、ＷＩＡドライバ１５３が選択され、ＷＩＡドライバ１５３による制御が行われることとなるので（Ｓ４２）、ＴＷＡＩＮドライバ１５２による制御においてエラーが発生した場合であっても、自動的にドライバを切り換えることができる。よって、ユーザ自身がドライバを切り換える操作は不要であり、ユーザの手間を軽減することができる。
【００８５】
なお、スキャナ５０の制御を開始する前の処理として、ＷＩＡドライバ１５３に関するエラーをエラーログ１５６に書き込む（Ｓ４１）。このようにすれば、Ｓ４２におけるスキャナ５０の制御の際にエラーが発生し、コンピュータ１０が入力を受け付けない状態となった場合であっても、そのＷＩＡドライバ１５３に関するエラーの記録をエラーログ１５６に確実に残すことができる。
【００８６】
そして、ＷＩＡドライバ１５３を介してスキャナ５０の制御を行った際に、その制御において致命的なエラーが発生したか否かを、Ｓ３４の判断と同じ条件に基づいて判断する（Ｓ４４）。
【００８７】
致命的なエラーが発生したか否かを判断した結果、致命的なエラーが発生していない場合（Ｓ４４：Ｎｏ）、スキャナ５０の制御開始前のＳ４１の処理においてエラーログ１５６に記憶したエラーを、エラーログ１５６から削除し（Ｓ４６）、スキャン実行処理を終了する。
【００８８】
一方、致命的なエラーが発生した場合（Ｓ４４：Ｙｅｓ）、スキャナ５０の制御開始前のＳ４１の処理でエラーログ１５６に書き込んだエラーに、発生時刻などのより詳細なエラー情報を書き込み（Ｓ４８）、スキャン実行処理を終了する。
【００８９】
すなわち、エラーログ１５６にＷＩＡドライバ１５３に関するエラーが記憶されていなかったためにＷＩＡドライバ１５３を介した制御を行ったところ、その制御の際に致命的なエラーが発生した場合には、そのエラーをエラーログ１５６に記憶すると共に、スキャン実行処理を終了する。この場合、スキャナ５０の制御は失敗に終わっているので、その旨をコンピュータ１０のＬＣＤ１６に表示しても良い。
【００９０】
次に、エラーログ１５６に、ＴＷＡＩＮドライバ１５２に関するエラーが記憶されていると判断され（Ｓ２８；Ｙｅｓ）、且つＷＩＡドライバ１５３に関するエラーが記憶されていると判断された場合（Ｓ４０：Ｙｅｓ）について説明する。この場合、ＴＷＡＩＮドライバ１５２を選択し、ＴＷＡＩＮドライバ１５２を介してスキャナ５０の制御を行う（Ｓ５２）。
【００９１】
このようにすれば、ＴＷＡＩＮドライバ１５２とＷＩＡドライバ１５３との両方に関し、エラーが記憶されている場合であっても、スキャナ５０の制御を試行することができる。
【００９２】
なお、スキャナ５０の制御を開始する前の処理として、ＴＷＡＩＮドライバ１５２に関するエラーをエラーログ１５６に書き込む（Ｓ５１）。
【００９３】
そして、ＴＷＡＩＮドライバ１５２を介してスキャナ５０の制御を行った際に、その制御において致命的なエラーが発生したか否かを、Ｓ３４の判断と同じ条件に基づいて判断する（Ｓ５４）。
【００９４】
致命的なエラーが発生したか否かを判断した結果、致命的なエラーが発生していない場合（Ｓ５４：Ｎｏ）、ＴＷＡＩＮドライバ１５２に関し記憶されたエラーの全てと、ＷＩＡドライバ１５３に関し記憶されたエラー全てを、エラーログ１５６から削除し（Ｓ４６）、スキャン実行処理を終了する。このようにすれば、次回以降のスキャン実行処理では、ＴＷＡＩＮドライバ１５２およびＷＩＡドライバ１５３のいずれもが選択され得る状態とすることができる。
【００９５】
一方、致命的なエラーが発生した場合（Ｓ５４：Ｙｅｓ）、スキャナ５０の制御開始前のＳ５１の処理でエラーログ１５６に書き込んだエラーに、発生時刻などのより詳細なエラー情報を書き込み（Ｓ５８）、スキャン実行処理を終了する。この場合、スキャナ５０の制御は失敗に終わっているので、その旨をコンピュータ１０のＬＣＤ１６に表示しても良い。
【００９６】
本実施形態のスキャナアプリケーション１５４によって実行されるスキャン実行処理によれば、エラーログ１５６に記憶されたエラーに基づいて、複数のドライバから１つのドライバが選択され、その選択されたドライバを介して、スキャナ５０が制御される。よって、１つのスキャナ５０を制御するためのドライバが複数ある場合であっても、自動的に適切なドライバが選択され、ユーザの手間を軽減することができる。
【００９７】
特に、本実施形態のスキャナアプリケーション１５４によって実行されるスキャン実行処理によれば、スキャナ５０を制御するために設けられたＴＷＡＩＮドライバ１５２とＷＩＡドライバ１５３のうち、より適切なドライバを自動的に選択することができるという効果がある。
【００９８】
また、本実施形態のスキャン実行処理（Ｓ２１）は、スキャナ５０からのスキャン開始指令を受信することを条件として、ＴＷＡＩＮドライバ１５２とＷＩＡドライバ１５３との中からいずれを選択し、その選択したドライバを介してスキャナ５０を制御するから、スキャナ５０側において、ユーザがスキャン開始を指示した場合であっても、コンピュータ側で、適切なドライバが自動的に選択される。よって、ドライバを選択するために、ユーザがわざわざスキャナ５０近傍からコンピュータ１０の設置位置まで移動する手間を省くことができる。
【００９９】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【０１００】
例えば、上記実施形態のスキャン実行処理において、スキャナ５０の制御において致命的なエラーが発生しなかった場合は、エラーログ１５６からエラーを削除する処理が設けられていたが（Ｓ３６，Ｓ４６，Ｓ５６）、エラーを削除することに替えて、その記憶されたエラーを無効とする処理を行っても良い。この場合、エラーログ１５６にＴＷＡＩＮドライバ１５２に関するエラーまたはＷＩＡドライバ１５３に関するエラーが、エラーログ１５６に記憶されているか否かを判断する処理（Ｓ２８，Ｓ４０）においては、エラーログ１５６に記憶されたエラーのうち、有効なエラーに、ＴＷＡＩＮドライバ１５２に関するエラーが含まれるか、またはＷＩＡドライバ１５３に関するエラーが含まれるかを判断するように構成される。
【０１０１】
また、上記実施形態では、スキャナ５０を制御するスキャナアプリケーション１５４を例にとって説明したが、例えば、デジタルカメラを制御するためのイメージングアプリケーションについても本発明を適用することができる。この場合、デジタルカメラが特許請求の範囲に記載の画像処理装置に相当し、イメージングアプリケーションが特許請求の範囲に記載の画像処理プログラムに相当する。
【０１０２】
また、上記実施形態では、制御対象スキャナのＴＷＡＩＮドライバ名およびＷＩＡドライバ名をレジストリ１５５から取得していたが、ドライバ名を取得する方法はこれに限られない。例えば、ドライバ名に制御対象装置の製品名が含まれている場合、制御対象装置の製品名を含むドライバ名を検索により取得するように構成してもよい。
【０１０３】
また、スキャン開始指令が入力された接続ポートに接続されているスキャナに対応するドライバのドライバ名をレジストリ１５５から取得するようにしてもよい。
【０１０４】
また、上記実施形態では、制御対象スキャナがＬＡＮを介して接続されている場合を例にとって説明したが、ＵＳＢ、ＩＥＥＥ１３９４、パラレルインターフェイス、赤外線など、他の方式により接続されていても良い。
【０１０５】
また、上述した実施形態では、図６を参照して説明したスキャナ制御処理は、スキャン開始受信プログラム１５７に従って実行される処理であり、図７を参照して説明したスキャン実行処理はスキャナアプリケーション１５４によって実行される処理であるとして説明したが、スキャナアプリケーション１５４が両方の処理を実行するように構成されていても良い。
【図面の簡単な説明】
【０１０６】
【図１】本発明の一実施形態に係るスキャナアプリケーションがインストールされたコンピュータと、そのコンピュータに接続されたスキャナとの電気的構成を示すブロック図である。
【図２】コンピュータとスキャナとの間におけるデータの流れを示すブロック図である。
【図３】レジストリの構成を模式的に示す図である。
【図４】エラーログに記憶されるエラーの例を示す図である。
【図５】スキャナで実行されるスキャン指令処理を示すフローチャートである。
【図６】コンピュータにおいて実行されるスキャナ制御処理を示すフローチャートである。
【図７】コンピュータにおいて実行されるスキャン実行処理を示すフローチャートである。
【符号の説明】
【０１０７】
１０                      コンピュータ
１５１                    オペレーティングシステム
１５４                    スキャナアプリケーション（画像処理プログラム）
１５５                    レジストリ（識別情報記憶手段）
１８                      接続手段（ＬＡＮ  Ｉ／Ｆ）
５０                      スキャナ（画像処理装置）
Ｓ３０                    エラー書込ステップ
Ｓ３４                    第１ドライバ判断ステップ
Ｓ３６                    稼働結果編集ステップ
Ｓ４０                    第２ドライバ判断ステップ
Ｓ４２                    第２ドライバ選択ステップ
Ｓ３２，Ｓ４２，Ｓ５２    選択ステップ、制御ステップ
Ｓ５４                    エラー判断ステップ
Ｓ５６                    エラー削除ステップ
【図１】
2008242979.tif 000003
【図２】
2008242979.tif 000004
【図３】
2008242979.tif 000005
【図４】
2008242979.tif 000006
【図５】
2008242979.tif 000007
【図６】
2008242979.tif 000008
【図７】
2008242979.tif 000009