(57)【特許請求の範囲】
【請求項１】
出力装置が備える第１機能を利用するための第１デバイスオブジェクトの選択を、ユーザーから受け付ける第１選択手段と、
前記第１選択手段で選択された前記第１デバイスオブジェクトに対応する前記出力装置が備える第２機能を利用するための第２デバイスオブジェクトを、インストールされている複数のデバイスオブジェクトの中から自動的に選択して推奨表示する第２選択手段と、
前記第２選択手段により前記第２デバイスオブジェクトが推奨表示されている状態でユーザーから設定指示が為された場合、前記第１選択手段で選択された前記第１デバイスオブジェクトと前記第２選択手段で推奨表示された前記第２デバイスオブジェクトの両者を、仮想デバイスオブジェクトに設定する設定手段と、を備える情報処理装置であって、
前記第１機能は前記第２機能と異なり、さらに、
前記第２選択手段は、前記情報処理装置にインストールされている複数のデバイスオブジェクトの中に、前記第１選択手段で選択された前記第１デバイスオブジェクトに対応する前記出力装置が備える第２機能を利用するための第２デバイスオブジェクトがなかった場合、前記推奨表示を行わないことを特徴とする情報処理装置。
【請求項２】
前記設定手段により前記第１デバイスオブジェクトと前記第２デバイスオブジェクトの両者が設定された前記仮想デバイスオブジェクトの前記第１機能に対してデータの出力指示を受け付けた場合、前記第１デバイスオブジェクトを介して前記出力装置に前記第１機能を実行させるための指示を出力し、前記第１デバイスオブジェクトと前記第２デバイスオブジェクトの両者が設定された前記仮想デバイスオブジェクトの前記第２機能に対してデータの出力指示を受け付けた場合、前記第２デバイスオブジェクトを介して前記出力装置に前記第２機能を実行させるための指示を出力する出力手段を、
更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記出力手段により出力された前記出力装置に前記第１機能を実行させるための指示は前記第１デバイスオブジェクトに対応する第１デバイスドライバに通知され、前記第１デバイスドライバによって生成された出力データが前記出力装置へ送信され、前記出力手段により出力された前記出力装置に前記第２機能を実行させるための指示は前記第２デバイスオブジェクトに対応する第２デバイスドライバに通知され、前記第２デバイスドライバによって生成された出力データが前記出力装置へ送信されることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第１選択手段により選択された前記第１デバイスオブジェクトに対応する前記出力装置が備える第２機能を利用するためのデバイスオブジェクトが、前記情報処理装置にインストールされている複数のデバイスオブジェクトの中に複数存在する場合、前記第２選択手段は、前記第２機能を利用するための複数のデバイスオブジェクトの中から、所定の出力ポートが設定されているデバイスオブジェクトを前記第２デバイスオブジェクトとして選択することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第１選択手段により選択された前記第１デバイスオブジェクトに対応する前記出力装置が備える第２機能を利用するためのデバイスオブジェクトが、前記情報処理装置にインストールされている複数のデバイスオブジェクトの中に複数存在する場合、前記第２選択手段は、前記第２機能を利用するための複数のデバイスオブジェクトの中から、通常使う出力装置であることを示す属性が設定されているデバイスオブジェクトを前記第２デバイスオブジェクトとして選択することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項６】
前記第１機能は印刷機能であり、前記第２機能はＦＡＸ機能であることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第１選択手段は、前記出力装置が備える第１機能を利用するための前記第１デバイスオブジェクトの選択を、設定画面を介して前記ユーザーから受け付けることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
コンピュータを、請求項１乃至７のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【請求項１０】
情報処理装置の第１選択手段が、出力装置が備える第１機能を利用するための第１デバイスオブジェクトの選択を、ユーザーから受け付ける第１選択工程と、
前記情報処理装置の第２選択手段が、前記第１選択工程で選択された前記第１デバイスオブジェクトに対応する前記出力装置が備える第２機能を利用するための第２デバイスオブジェクトを、前記情報処理装置にインストールされている複数のデバイスオブジェクトの中から自動的に選択して推奨表示する第２選択工程と、
前記情報処理装置の設定手段が、前記第２デバイスオブジェクトが推奨表示されている状態でユーザーから設定指示が為された場合、前記第１選択工程で選択された前記第１デバイスオブジェクトと前記第２選択工程で推奨表示された前記第２デバイスオブジェクトの両者を、仮想デバイスオブジェクトに設定する設定工程と、を備え、
前記第１機能は前記第２機能と異なり、さらに、
前記第２選択工程では、前記情報処理装置にインストールされている複数のデバイスオブジェクトの中に、前記第１選択工程で選択された前記第１デバイスオブジェクトに対応する前記出力装置が備える第２機能を利用するための第２デバイスオブジェクトがなかった場合、前記推奨表示を行わないことを特徴とする、情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に対する出力を指示する情報処理装置、制御方法、プログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）から画像処理装置へ出力指示を発行する場合、出力対象の文書をアプリケーションで開きプリンターオブジェクトを介して出力指示を発行する。さらに、他の出力指示の発行方法として、例えば、ユーザーからの統合指示により異なる複数のデバイスに対応するプリンターオブジェクトを仮想デバイスとして統合する。そして仮想デバイスから複数のデバイスへの分散印刷を可能とする技術がある。（特許文献１）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２１５７２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１では、統合すべきプリンターオブジェクトをユーザーが選択するため、その選択操作がユーザーの負荷となるおそれがあった。例えば、ＰＣに対して複数の出力装置が接続されている場合、特許文献１の技術では、この負荷がさらに大きくなるおそれがあった。本願は、複数のプリンターオブジェクトが統合された仮想デバイスオブジェクトの設定負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、本願の情報処理装置は、出力装置が備える第１機能を利用するための第１デバイスオブジェクトの選択を、ユーザーから受け付ける第１選択手段と、前記第１選択手段で選択された前記第１デバイスオブジェクトに対応する前記出力装置が備える第２機能を利用するための第２デバイスオブジェクトを、インストールされている複数のデバイスオブジェクトの中から自動的に選択して推奨表示する第２選択手段と、前記第２選択手段により前記第２デバイスオブジェクトが推奨表示されている状態でユーザーから設定指示が為された場合、前記第１選択手段で選択された前記第１デバイスオブジェクトと前記第２選択手段で推奨表示された前記第２デバイスオブジェクトの両者を、仮想デバイスオブジェクトに設定する設定手段と、を備える情報処理装置であって、前記第１機能は前記第２機能と異なり、さらに、前記第２選択手段は、前記情報処理装置にインストールされている複数のデバイスオブジェクトの中に、前記第１選択手段で選択された前記第１デバイスオブジェクトに対応する前記出力装置が備える第２機能を利用するための第２デバイスオブジェクトがなかった場合、前記推奨表示を行わないことを特徴とする。
【発明の効果】
【０００６】
仮想デバイスオブジェクトの設定負荷を軽減することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】システムの構成を示す図である。
【図２】情報処理装置のハードウェア構成を示す図である。
【図３】画像処理装置のハードウェア構成を示す図である。
【図４】仮想デバイスアプリケーションのソフトウェア構成を示す図である。
【図５】ＯＳにおけるプリンターオブジェクトの管理画面及び仮想デバイスアプリケーションのＵＩ表示の一例を示す図である。
【図６】仮想デバイスオブジェクトの構成を示す図である。
【図７】仮想デバイスオブジェクトへの出力操作時のＵＩ表示の一例を示す図である。
【図８】仮想デバイスオブジェクトの設定画面の一例を示す図である。
【図９】プリンターオブジェクト選択時に、もう一方のプリンターオブジェクトを選定する処理手順を示すフロー図である
【図１０】プリンターオブジェクト選択時に、もう一方のプリンターオブジェクトを選定する際に、選定対象が複数存在した場合の処理手順を示すフロー図である
【図１１】仮想デバイスオブジェクトの画像を決定する処理手順を示すフロー図である
【図１２】仮想デバイスオブジェクトへの出力操作時のＵＩ表示の一例を示す図である。
【図１３】仮想デバイスオブジェクトへの出力操作時のＵＩ表示の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【０００９】
［システム構成］
図１は、本発明の一実施形態におけるデータ処理システムの構成を示す図である。本例は、後述する情報処理装置と後述する画像処理装置（出力装置、ＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）ともいう）とがネットワークを介して通信可能なシステムである。図１において、１００は情報処理装置であって、画像処理装置１０１及び１０２に対して印刷やＦＡＸ送信を指示するユーザーの使用するＰＣである。１０１及び１０２は画像処理装置であって、プリンタ機能、ＦＡＸ機能、コピー機能、スキャナ機能、ファイル送信機能等を備える。なお、情報処理装置１００には、所定のオペレーティングシステム（ＯＳ）がインストールされ、かつ、不図示である特定の機能処理を実行する各種のアプリケーションもインストールされている。ここで、特定の機能処理とは、文書処理、表計算処理、プレゼンテーション処理、画像処理、図形処理等が含まれ、各アプリケーションはそれぞれ独自のデータ構造（ファイル構造）を備える。さらに、ＯＳは、各ファイルの識別子を参照して対応するアプリケーションに印刷指示を行える構成となっている。また、本実施形態を示す情報処理装置１００には、画像処理装置を利用するための仮想デバイスアプリケーション４００がインストールされている。ここで、仮想デバイスアプリケーション４００は画像処理装置に対する印刷やＦＡＸ送信等の出力指示を行う機能、画像処理装置の使用状態や出力ジョブの実行状況を表示する機能を備えている。１０３は上記装置が接続されているＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であって、ＬＡＮ１０３を介して上記装置は情報の相互通信を行っている。
【００１０】
［ハードウェア構成（情報処理装置）］
図２は、図１に示した情報処理装置１００のハードウェア構成を示す図である。図２において、キーボードやポインティングデバイスなどのユーザー操作入力を受信する入力デバイス２０５が設けられている。さらに、ユーザーに視覚的な出力情報フィードバックを与える表示部２０２を備える。さらに、本実施形態における各種プログラムや実行情報を保管する記憶デバイスＲＡＭ  ２０３，ＨＤＤ（ハードディスクドライブ）やＦＤＤ（フレキシブルディスクドライブ）などの外部メモリ２０６，ＲＯＭ  ２０４が設けられる。さらに、外部機器との通信を行うインターフェースデバイスＩ／Ｏ２０７を備え、プログラム実行を行うＣＰＵ２０１を備える。なお、周辺機器との接続形態は有線／無線を問わない。情報処理装置１００は、この外部機器接続Ｉ／Ｆを介して画像処理装置１０１や１０２と接続する。
【００１１】
［ハードウェア構成（画像処理装置）］
図３は、図１に示した画像処理装置１０１及び１０２内のハードウェア構成を説明するブロック図である。なお、本例は、スキャナ機能と、プリンタ機能と、そしてＦＡＸ機能を有する画像処理装置の例を示す。図３において、３０１はＩ／Ｏで、ネットワーク（ＬＡＮ）１０４などの通信媒介を介して情報処理装置１００と接続している。Ｉ／Ｏ３０１は複数の接続形態に対応するために複数個搭載されていてもよい。このＩ／Ｏ  ３０１を通して、画像処理装置１０１（１０２）は、デバイスＩＤやスキャンイメージを情報処理装置１００に渡す。また情報処理装置１００より、各種の制御コマンドを受けて処理を行う。Ｉ／Ｆ制御部３０２は、画像処理装置１０１（１０２）に搭載されているスキャン機能（不図示）やプリント機能（例えば、第１機能ともいう）やまたはＦＡＸ機能（例えば、第２機能ともいう）などの処理系に関してデバイスＩＤを発行する制御をおこなっている。なお、第１機能、第２機能は、画像処理装置が備えるいずれかの機能に割り当てられる。ＲＡＭ３０３は、一次記憶装置で、Ｉ／Ｏ３０１で取得した制御コマンドなどの外部データや、スキャナエンジン３１３で読み取られたイメージを格納するに使用される。さらに、ＲＡＭ３０３は、プリンタコントローラ３１０で展開されたプリンタエンジン３０６に渡される前にイメージの格納などに使用される。
【００１２】
ＲＡＭ３０３の割り当て管理はＲＡＭ制御部３０４が行っている。画像データ調歩回路３０５は、プリンタコントローラ３１０やスキャナエンジン３１３によって取り込まれたＲＡＭ制御部３０４に展開されたイメージをプリンタエンジン３０６の回転にあわせて出力する装置である。プリンタエンジン３０６は紙などの出力メディアにイメージを現像する装置である。メインコントローラ３０８は、エンジンＩ／Ｆ３０７によりプリンタエンジン３０６の各種制御を行う。また、メインコントローラ３０８は、制御の要のモジュールであり、スキャナコントローラ３０９やプリンタコントローラ３１０やＦＡＸコントローラ３１１にＩ／Ｏ３０１経由で情報処理装置１００より受け取る制御言語の適切な振り分け処理を行う。さらに、メインコントローラ３０８は、それぞれのコントローラやユーザインタフェース３１２からの支持をうけてプリンタエンジン３０６やスキャナエンジン３１３の制御を行う。メインコントローラ３０８と各種コントローラの間の制御インターフェースを統一することにより、一つの周辺機器に複数種類の制御コマンドを処理可能な拡張ボードが搭載可能になる。また現在搭載されている拡張コントローラのデバイスＩＤを各コントローラより取得し管理するのもメインコントローラの役割である。スキャンコントローラ３０９は情報処理装置１００より受けたスキャン制御コマンドをメインコントローラ３０８が解釈可能な内部実行命令に分解する。またスキャナエンジン３１３で読み取ったイメージをスキャン制御コマンドに変更する。プリンタコントローラ３１０は情報処理装置１００より受けたページ記述言語をメインコントローラ３０８が解釈可能なページ記述言語の展開イメージなどを含む内部実行命令に分解する。展開イメージはプリンタエンジンまで運ばれ、用紙などの出力メディアに印刷される。ＦＡＸコントローラ３１１は、情報処理装置１００より受けたＦＡＸ制御言語をイメージに展開し不図示の公衆回線、又はインターネットを介して他のＦＡＸ装置やＩＰ−ＦＡＸへ転送する。ユーザインタフェースは、メインコントローラ３０８の各種設定や、スキャナ機能やプリンタ機能や、そしてＦＡＸ機能を直接画像処理装置１０１（１０２）で実行する際に、ユーザーによる指示の入出力手段として使用される。スキャナエンジン３１３はメインコントローラ３０８の指示により光学装置を用いて印刷されたイメージを読み取り、電気信号に変換してメインコントローラ３０８に受け渡す。
【００１３】
［ソフトウェア構成図］
図４は、情報処理装置１００が有する後述する仮想デバイスアプリケーション４００の機能構成の一例を示す図である。仮想デバイスアプリケーション４００は、外部メモリ２０６に記憶されており、アプリケーション実行時にＲＡＭ２０３及びＲＯＭ２０４に展開され、ＣＰＵ２０１にて計算処理を行って動作するアプリケーションである。仮想デバイスアプリケーション４００は、入力管理部４０４、画面表示管理部４０５、プリンターオブジェクト情報取得部４０６、仮想デバイスオブジェクト管理部４０３、出力制御部４０１、出力管理部４０２から構成される。入力管理部４０４は、画面表示管理部４０５により表示された仮想デバイスアプリケーション４００のＵＩ（グラフィカルユーザーインターフェース）を介して、ユーザーによる入力デバイス２０５の操作を検知し、ユーザーの操作情報を取得する。画面表示管理部４０５は、仮想デバイスアプリケーション４００のＵＩとして、一例として示す図７のように後述する仮想デバイスオブジェクト５０３の表示や出力選択の表示等の画面表示制御を行う。
【００１４】
プリンターオブジェクト情報取得部４０６は、ＯＳにより管理される後述するプリンターオブジェクト５０２の情報やプリンターオブジェクト５０２に割り当てられているデバイスドライバの情報を取得する。また、プリンターオブジェクト情報取得部４０６、プリンターオブジェクト５０２に割り当てられているデバイスドライバと仮想デバイスアプリケーション４００との連携が可能か否かを判断する。より具体的には、仮想デバイスアプリケーション４００からデバイスドライバの機能を制御するためのＩＦが公開されている場合がある。前記ＩＦとは、デバイスドライバのＳＤＫとして公開されており、仮想デバイスアプリケーション４００との連携動作が保障されている。仮想デバイスアプリケーション４００は前記ＩＦを介し、仮想デバイスアプリケーション４００とデバイスドライバとの間の制御を行うことができる。プリンターオブジェクト情報取得部４０６は、デバイスドライバに前記ＩＦが備えられているかを判断することにより、デバイスドライバとの連携可能か否かを判断するものとする。
【００１５】
仮想デバイスオブジェクト管理部４０３は、図６で示すように仮想デバイスオブジェクト５０３の構成情報を生成、管理する。より具体的には、プリンターオブジェクト情報取得部４０６により取得したプリンターオブジェクト５０２の情報を基に仮想デバイスオブジェクト５０３の構成を構築する。また、仮想デバイスオブジェクト５０３の構成や仮想デバイスオブジェクト５０３の機能設定等の設定情報を外部メモリ２０６に保存する設定ファイルに書き込むことや、設定ファイルから設定情報を読み込む等の制御を行う。
【００１６】
出力制御部４０１は、画像処理装置１０１（１０２）へ出力の指示を行う。より具体的には、出力制御部４０１はユーザーからの出力指示を入力管理部４０４を介して受け付けると、その出力指示に基づいて、対応するプリンターオブジェクト５０２に割り当てられるデバイスドライバへ出力指示を行う。
【００１７】
印刷用のプリンターオブジェクト５０２（例えば、第１デバイスオブジェクトともいう）への印刷指示は、印刷用のプリンターオブジェクト５０２からプリンターオブジェクト５０２に対応するデバイスドライバへ発行される。ＦＡＸ送信用のプリンターオブジェクト５０２（例えば、第２デバイスオブジェクトともいう）への出力指示は、ＦＡＸ送信用にプリンターオブジェクト５０２から対応するＦＡＸ用のデバイスドライバへ発行される。なお、本願では、印刷用のドライバ（プリンタドライバ）とＦＡＸ送信用のドライバ（ＦＡＸドライバ）を合わせてデバイスドライバと称する。
【００１８】
指示を受け付けたデバイスドライバは出力指示として指定された文書ファイル（文書データ）を画像処理装置１０１（１０２）で解釈可能な出力指示情報に変換する。ここで出力指示情報とは、印刷出力の場合は印刷用のデータ形式（例えば、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等）に変換することを指す。またＦＡＸ送信の場合はＦＡＸ送信用のデータ形式（例えば、ラスターデータ等）に変換することを指す。なお、プリンタドライバが生成するデータは、出力指示情報、ＰＤＬ、印刷データなどと呼ばれる。また、デバイスドライバが生成するデータを、まとめて出力データと呼ぶこともある。出力管理部４０２は画像処理装置１０１（１０２）と通信し、画像処理装置１０１（１０２）のステータス情報や実行ジョブのステータス情報を取得する。ここで、プリンターオブジェクト５０２に設定されている出力ポート（不図示）が、仮想デバイスアプリケーション４００のアプリケーション対応ポートである場合について説明する。出力管理部４０２はこの出力ポートを介して画像処理装置１０１（１０２）のステータス情報（印刷可能、エラー等）や実行ジョブ（印刷、ＦＡＸ送信）のステータス情報（処理中、完了等）を取得する。取得したステータス情報を画面表示管理部４０５へ渡し、画面表示管理部４０５は仮想デバイスオブジェクト５０３のＵＩ上へ表示する（不図示）。
【００１９】
［ＯＳのプリンターオブジェクト管理画面と仮想デバイスアプリケーションの表示画面］
図５はＯＳのプリンターオブジェクト５０２の管理画面と仮想デバイスアプリケーションの表示画面を模式的に示した図である。５００はＯＳによって表示されるデスクトップ画面を表し、５０１はＯＳのプリンターオブジェクト５０２の管理画面、また５０２はプリンターオブジェクト５０２を表している。プリンターオブジェクト５０２の管理画面５０１には、ＯＳにインストールされているすべてデバイスドライバのプリンターオブジェクト５０２の一覧が表示される。デバイスドライバがインストールされると、ＯＳは、そのデバイスドライバに対応するプリンターオブジェクト５０２がプリンターオブジェクト５０２の管理画面５０１へ表示する。なお、本願では、複数種類のデバイスドライバのいずれかを、第１デバイスドライバ、第２デバイスドライバと呼ぶこともある。
【００２０】
プリンターオブジェクト５０２には、印刷データを画像処理装置へ送信する印刷用のプリンターオブジェクトやＦＡＸ送信指示データを画像処理装置へ送信するためのＦＡＸ送信用のプリンターオブジェクト等の用途に応じたプリンターオブジェクトが存在する。なお、プリンターオブジェクトを単にデバイスオブジェクトと記載することもある。また、５０３は仮想デバイスアプリケーション４００が表示する仮想デバイスオブジェクト５０３の表示状態を模式的に示した図である。仮想デバイスオブジェクト５０３はＯＳのデスクトップ上に表示され、ユーザーからの出力指示（ファイルのドロップ操作）を受け付けることにより容易に所望の出力を実現できる。また、図６は仮想デバイスオブジェクト５０３の構成を模式的に示す図である。仮想デバイスオブジェクト６０１（５０３）には、特定の画像処理装置に対応する前記印刷用プリンターオブジェクト６０２及び前記ＦＡＸ送信用プリンターオブジェクト６０３の両者が割り当てられている。つまり、本実施形態に係る仮想デバイスオブジェクト６０１は、物理的に１つの画像処理装置にて実行可能な２つの異なる機能が、１つの仮想デバイスオブジェクトに割り当てられている。さらに、各プリンターオブジェクトには、デバイスドライバが対応付けられている。なお、本願では、仮想デバイスオブジェクトには印刷用のプリンターオブジェクトとＦＡＸ用のプリンターオブジェクトが割り当てられる例を示す。なお、本願では、複数種類のプリンターオブジェクトのいずれかを、第１デバイスオブジェクト、第２デバイスオブジェクトと呼ぶこともある。ユーザーによる印刷指示を仮想デバイスオブジェクト５０３が受け付けた場合に、印刷用プリンターオブジェクト６０２として割り当てられているプリンターオブジェクト５０２を介して出力が実行される。一方、ＦＡＸ送信の指示を仮想デバイスオブジェクトが受け付けた場合、ＦＡＸ送信用プリンターオブジェクト６０３として割り当てられているプリンターオブジェクト５０２を介して出力が実行される。本実施例におけるシステム構成のように画像処理装置が複数存在する場合には、画像処理装置１０１、１０２のそれぞれにひとつ仮想デバイスオブジェクト５０３を生成できる構成となる。
【００２１】
［仮想デバイスアプリケーションの出力実行時の表示ＵＩ］
図７は、仮想デバイスアプリケーションの出力実行時の表示ＵＩを模式的に示した図である。７０１のように仮想デバイスアプリケーションはユーザーによる仮想デバイスオブジェクト５０３への文書ファイル（文書データ）のドラッグを受け付け。この仮想デバイスオブジェクト上へのドラッグ操作により、仮想デバイスアプリケーションは、７０２及び７０４のように仮想デバイスオブジェクト５０３の表示上に出力機能に対応するアイコンを表示する。ここでは、印刷用のプリンターオブジェクトに対応する「Ｐｒｉｎｔ（印刷機能）」のアイコンと、ファクス送信用のプリンターオブジェクトに対応する「Ｆａｘ」のアイコンが選択可能な機能として表示されている。ユーザは、実行したい出力に対応するアイコンへファイルをドロップ操作することで所望の出力を実現可能とする。なお、本願ではユーザがファイルをドラッグ操作により仮想デバイスアイコン上に重ねることにより、仮想デバイスアプリケーションは仮想デバイスオブジェクトに対してデータの出力指示を受け付けたと認識する。仮想デバイスアプリケーションは「Ｐｒｉｎｔ」へのドロップ操作を受け付けると（７０２）、７０３のように印刷設定を指定するＵＩ画面を表示する。ここでユーザーが印刷設定を選択することで画像処理装置への印刷指示を実行する。具体的には、仮想デバイスアプリケーション４００は、ドロップされたファイルと印刷設定とに基づく印刷データを生成するように印刷指示をプリンタドライバに発行する。この指示を受けてプリンタドライバが印刷データを生成することで、画像処理装置への印刷指示が実現される。また、仮想デバイスアプリケーション４００は、「ＦＡＸ」へのドロップ操作を受け付けると（７０４）、７０５のようにＦＡＸ送信のための宛先指定画面を表示する。ここでユーザーが宛先を指定し実行操作を行うことで仮想デバイスアプリケーション４００は、ドロップされたファイルと指定された宛先情報とに基づいてＦＡＸ送信データを生成するようにＦＡＸ送信指示をＦＡＸドライバに発行する。この指示を受けてＦＡＸドライバがＦＡＸ送信データを生成することで、画像処理装置へのＦＡＸ送信指示が実現される。７０３及び７０５で表示するＵＩは仮想デバイスアプリケーションで管理するＵＩを表示する構成であっても、対応するプリンターオブジェクト５０２のＵＩを呼び出す構成であってもよい。
【００２２】
なお、ファイルがドラッグされた仮想デバイスオブジェクト上にドラッグされた際の別の例として本願の図１２のような出力機能が表示されても良い。仮想デバイスアプリケーション４００は、印刷プレビュー部分（「Ｐｒｉｎｔ  Ｐｒｅｖｉｅｗ」のアイコン部分）へのドロップ操作を受け付けたとする（７０７）。この場合、仮想デバイスアプリケーション４００は、７０８に示すように文書ファイルの印刷プレビューを表示するＵＩ画面を表示する。ユーザーは、その印刷プレビューを確認しながら印刷設定を変更し、印刷を実行できるようにしてもよい。なお、印刷設定に基づく印刷プレビューがＵＩ画面に表示される。印刷は、ＵＩ画面７０８を介して印刷指示を受け付けることにより、実現される。また、仮想デバイスアプリケーション４００は、ＰＤＦ変換部分（「Ｃｏｎｖｅｒｔ  ｔｏ  ＰＤＦ」のアイコン部分）へのドロップ操作を受け付けたとする。この場合、仮想デバイスアプリケーション４００は、文書ファイルをＰＤＦフォーマットのファイルへ変換する処理を行うように指示する。
【００２３】
仮想デバイスアプリケーション４００は、ライセンス認証によってアプリケーションの利用を制限する構成であってもよい。例えば、仮想デバイスアプリケーション４００が使用期限切れなどによりライセンスが有効でない場合に、図１３に示すように使用できる機能を制限する。仮想デバイスアプリケーション４００は、ユーザーによる仮想デバイスオブジェクトへのファイルのドラッグ操作を受け付けると、ライセンスの有効／無効を確認する。そして、無効である機能が存在する場合には、使用不可を示す制御を行う。例えば、図１３では、無効化する機能が選択できないような表示として、選択できない機能（「Ｐｒｉｎｔ  Ｐｒｅｖｉｅｗ」と「Ｃｏｎｖｅｒｔ  ｔｏ  ＰＤＦ」のアイコン）がグレーアウトされる。その他にも、例えばアイコンを消すような制御を行っても構わない。
【００２４】
［仮想デバイスアプリケーションの設定ＵＩ］
図８は、仮想デバイスオブジェクト５０３の設定項目を編集する設定画面を模式的に示した図である。８０１は仮想デバイスオブジェクト５０３の設定項目を編集する表示ＵＩである。例えば、ユーザーが入力デバイス２０５の１つであるマウスを通じて、仮想デバイスオブジェクト５０３に対し右クリックを行い表示されるコンテキストメニュー（不図示）から設定項目を編集するための項目を選択すると、図８のＵＩが表示される。
【００２５】
８０２は、仮想デバイスオブジェクトに割り当てられる印刷用プリンターオブジェクトの選択を受け付ける設定項目であり、ＯＳのプリンターオブジェクト５０２の印刷用プリンターオブジェクト一覧を表示する。そして、ユーザーは設定項目８０２から１つの印刷用プリンターオブジェクト６０２を選択することができる。ユーザーは、例えば入力デバイス２０５の１つであるマウスを用いて設定項目８０２をクリックすると、印刷用プリンターオブジェクト一覧が表示される。ユーザーは、一覧から１つのプリンターオブジェクト５０２をクリックすることができる。仮想デバイスアプリケーションは、このクリック操作を受けて、ユーザーから仮想デバイスオブジェクト５０３に割り当てられる印刷用のプリンターオブジェクト５０２の選択を受け付ける。
【００２６】
また、８０３は仮想デバイスオブジェクトに割り当てられるＦＡＸ送信用プリンターオブジェクト６０３の選択を受け付ける設定項目であり、ＯＳのプリンターオブジェクト５０２のＦＡＸ送信用プリンターオブジェクト一覧を表示する。そして、ユーザーは設定項目８０３から１つのＦＡＸ送信用プリンターオブジェクト６０３を選択することができる。８０３も８０２と同様の操作方法を持つ。本願では、図８の８０２においてユーザーが選択した印刷用のプリンターオブジェクトに対応するＦＡＸ用のプリンターオブジェクトが初期値として選択されるため、ユーザーの操作負荷を軽減できる。具体的には、選択された印刷用のプリンターオブジェクトに対応する出力装置が備えるＦＡＸ用のプリンターオブジェクトが選択される。一方、図８のＦＡＸ用のプリンターオブジェクトが先に選択された場合、選択されたＦＡＸ用のプリンターオブジェクトに対応する印刷用のプリンターオブジェクトが初期値として選択される。なお、詳細な選択方法は図９、図１０を用いて説明する。また、例えば、図８の設定項目８０２において選択した印刷用のプリンターオブジェクトに対応するＦＡＸ用のプリンターオブジェクトがない場合、設定項目８０３は何も選択されていない状態となる。その他にも、前回の設定内容が残るなどでも良い。
【００２７】
８０４は仮想デバイスオブジェクト５０３として表示する仮想デバイスオブジェクトのプレビュー表示画像である。８０５はそのプレビュー表示画像の選択肢を表示するためのボタンであり、ボタン８０５が押下されることにより表示される選択肢から所望の画像ファイルを選択することで、所望のプレビュー表示画像８０４が表示される。８０６は、図８の設定内容を確定させる場合のＯＫボタン、８０７は設定内容をキャンセルするキャンセルボタンである。つまり、図８のＯＫボタン８０６が選択されることで、設定項目８０２にて選択された印刷用のプリンターオブジェクトと設定項目８０３にて選択されたＦＡＸ用のプリンターオブジェクトの両者が仮想デバイスオブジェクトに設定される。
【００２８】
［仮想デバイスオブジェクトのプリンターオブジェクト変更時の自動選定フロー］
図９は、本実施形態を示す仮想デバイスアプリケーション４００において実行されるフローチャートを示す。特に仮想デバイスオブジェクト５０３に割り当てられる２つの異なる機能の内、１つの機能に対するプリンターオブジェクト５０２が変更された時、もう一方の機能に対するプリンターオブジェクト５０２を自動的に選択する処理の一例を示すフローチャートである。図９の処理は図８の画面が表示された時に実行される。なお、本願のフローチャートは、ＣＰＵ２０１が、各フローチャートに関連するプログラムをメモリから読み出して実行することにより実現される。
【００２９】
まずＳ９０１では、仮想デバイスアプリケーション４００が、プリンターオブジェクト情報取得部４０６により、ＯＳに対してプリンターオブジェクト５０２の取得要求を行う。そして仮想デバイスアプリケーション４００は、すべてのプリンターオブジェクト５０２の情報を取得する。Ｓ９０２では、仮想デバイスアプリケーション４００が、Ｓ９０１で取得したプリンターオブジェクト一覧を表示する。この時、印刷用プリンターオブジェクト６０２は、設定項目８０２に表示され、ＦＡＸ送信用プリンターオブジェクト６０３は設定項目８０３にて表示される。
【００３０】
Ｓ９０３では、仮想デバイスアプリケーション４００は、ユーザーから、プリンターオブジェクト５０２の選択を受け付ける。具体的には、設定項目８０２または、設定項目８０３からプリンターオブジェクト５０２の選択を受け付ける。
【００３１】
Ｓ９０４では、仮想デバイスアプリケーション４００が、ユーザーによりＳ９０３で選択されたプリンターオブジェクト５０２が仮想デバイスアプリケーション４００で連携可能なプリンターオブジェクトであるか否かを判定する。仮想デバイスオブジェクト管理部４０３は、Ｓ９０３で選択されたプリンターオブジェクト情報のプリンターオブジェクト名を指定し、そのプリンターオブジェクトに対応するプリンタドライバのＩＦの初期化をプリンターオブジェクト情報取得部４０６に指示する。この時、プリンターオブジェクト情報取得部４０６は、プリンタドライバＳＤＫを介することで初期化を試みる。初期化とは、プリンタドライバＳＤＫを介することでデバイスドライバのＩＦを呼び出し、デバイスドライバの構成情報の取得を試みる処理を指す。初期化処理の処理結果をプリンターオブジェクトＳＤＫより受け付けたプリンターオブジェクト情報取得部４０６は、Ｓ９０４で初期化処理の成功もしくは失敗を判断し仮想デバイスオブジェクト管理部４０３へその結果を渡す。成功した場合にはＩＦの呼び出しに成功し構成情報を取得できる。一方、デバイスドライバが仮想デバイスアプリケーションと連携していないなどにより、その呼び出しが不可の場合は失敗となる。ここで初期化に成功した場合は仮想デバイスアプリケーション４００と連携可能なプリンターオブジェクト５０２と判断し、失敗した場合は、仮想デバイスアプリケーション４００と連携不可能なプリンターオブジェクト５０２と判断する。連携可能であると判断した場合、Ｓ９０５へ進み、連携可能でないと判断した場合、本処理手順を終了する。
【００３２】
Ｓ９０５では、仮想デバイスアプリケーション４００が、ユーザーによりＳ９０３で選択されたプリンターオブジェクト５０２が印刷用プリンターオブジェクト６０２かＦＡＸ送信用プリンターオブジェクト６０３であるかを判断する。具体的には、プリンターオブジェクト情報取得部４０６によりデバイスドライバＳＤＫを介してプリンターオブジェクト５０２の情報を参照することで判断できる。ここで、印刷用プリンターオブジェクト６０２であると判断した場合、Ｓ９０６へ進み、ＦＡＸ送信用プリンターオブジェクト６０３であると判断した場合、Ｓ９０７へ進む。Ｓ９０６では、仮想デバイスアプリケーション４００が、ユーザーがＳ９０３で選択した印刷用プリンターオブジェクト６０２に対応するＦＡＸ送信用プリンターオブジェクト６０３を選定する。そのために、仮想デバイスアプリケーション４００は、ＯＳから取得したプリンターオブジェクト５０２のうちＦＡＸ送信用プリンターオブジェクト６０３を探索対象一覧とする。
【００３３】
同様にＳ９０７では、仮想デバイスアプリケーション４００が、ユーザーがＳ９０３で選択したＦＡＸ送信用プリンターオブジェクト６０３に対応する印刷用プリンターオブジェクト６０２を選定する。そのために、仮想デバイスアプリケーション４００は、ＯＳから取得したプリンターオブジェクト５０２のうち印刷用プリンターオブジェクト６０２を探索対象一覧とする。
【００３４】
Ｓ９０８では、仮想デバイスアプリケーション４００が、Ｓ９０６およびＳ９０７で取得された探索対象一覧のうち１つのプリンターオブジェクトを処理対象とする。その処理対象のプリンターオブジェクトが、Ｓ９０３で選択したプリンターオブジェクト５０２に対応する仮想デバイスアプリケーション４００での利用に適したプリンターオブジェクト５０２であるかを、仮想デバイスアプリケーション４００が判定する。
【００３５】
Ｓ９０９では、仮想デバイスアプリケーション４００が、処理対象のプリンターオブジェクト５０２とＳ９０３で選択したプリンターオブジェクト５０２のアドレス情報（画像処理装置のＩＰアドレス等）が同一であるか否かを判断する。この判断により、処理対象のプリンターオブジェクト５０２とＳ９０３で選択されたプリンターオブジェクト５０２が同一の画像処理装置用のプリンターオブジェクトであるかを確認できる。なお各プリンターオブジェクトが同一の画像処理装置に対応しているか否かを判断できれば、判断方法はこの限りではない。同一画像処理装置１０１（１０２）を示している場合、Ｓ９１０に進み、そうでない場合、Ｓ９１４に進む。
【００３６】
Ｓ９１０では、仮想デバイスアプリケーション４００が、Ｓ９０３で選択されたプリンターオブジェクト５０２と、処理対象のプリンターオブジェクト５０２の組み合わせとなる仮想デバイスオブジェクト５０３が既に存在しているか否かを判断する。これは、既に同一の仮想デバイスオブジェクト５０３が作成されている場合、同一設定の仮想デバイスオブジェクト５０３を作成しても有益でないため、この組み合わせの推奨を回避するための処理である。この仮想デバイスオブジェクト５０３が既に存在する場合はＳ９１１へ進み、そうでない場合はＳ９１４へ進む。なお、具体的な判定方法は、既に存在している仮想デバイスオブジェクトに割り当てられているプリンターオブジェクトのプリンタ名を判断することでＳ９１０が実現される。
【００３７】
Ｓ９１１は、仮想デバイスアプリケーション４００が、Ｓ９０３で選択したプリンターオブジェクト５０２に対応する、もう一方の機能のプリンターオブジェクト５０２として推奨するための探索結果対象が既に存在するか否かを判断する。既に探索結果対象が存在する場合はＳ９１２へ進み、そうでない場合はＳ９１３へ進む。
【００３８】
Ｓ９１２では、仮想デバイスアプリケーション４００が、処理対象のプリンターオブジェクト５０２と、既に探索結果対象となっているプリンターオブジェクト５０２を比較する。そして、仮想デバイスアプリケーション４００は、仮想デバイスアプリケーション４００での利用により適したプリンターオブジェクト５０２を決定する。詳細な処理については図１０の説明文にて後述する。
【００３９】
Ｓ９１３では、仮想デバイスアプリケーション４００が、探索結果対象であるプリンターオブジェクト５０２がまだ存在しない場合、処理対象のプリンターオブジェクト５０２を探索結果対象とする。これは、現在探索したプリンターオブジェクト５０２の中で仮想デバイスアプリケーション４００での利用により適したプリンターオブジェクト５０２であることを示す。
【００４０】
Ｓ９１４では、仮想デバイスアプリケーション４００が、Ｓ９０６またはＳ９０７で取得した探索対象一覧のすべてのプリンターオブジェクト５０２を処理したかどうかを判断する。また、本実施例では、すべてのプリンターオブジェクト５０２の中からより適したプリンターオブジェクト５０２を探索している。しかし、Ｓ９１３で初めて探索結果対象となるプリンターオブジェクト５０２がみつかった際に、そのプリンターオブジェクト５０２を推奨するといった実施形態でも良い。探索対象一覧のすべてのプリンターオブジェクト５０２を処理した場合はＳ９１５へ進み、そうでない場合はＳ９０８へ進む。
【００４１】
Ｓ９１５では、仮想デバイスアプリケーション４００が、探索結果対象であるプリンターオブジェクト５０２が存在するか否かを判定する。探索結果対象であるプリンターオブジェクト５０２が存在する場合、そのプリンターオブジェクトはＳ９０３で選択したプリンターオブジェクト５０２に対応し、かつ、仮想デバイスアプリケーション４００での利用により適していることを示す。よって図９の処理は、Ｓ９１６へ進む。そうでない場合、処理を終了する。
【００４２】
Ｓ９１６では、仮想デバイスアプリケーション４００が、推奨表示を行う。ここでいう推奨表示とは、Ｓ９０３で選択したプリンターオブジェクト５０２に対応する仮想デバイスアプリケーション４００での利用により適したプリンターオブジェクト５０２が存在する旨を表示することを示す。例えば、Ｓ９０３で選択したプリンターオブジェクト５０２が印刷用プリンターオブジェクト６０２の場合、設定項目８０３に探索結果対象であるプリンターオブジェクト５０２を自動的に選択状態とする。つまり、探索結果対象であるプリンターオブジェクト５０２が設定項目８０３の初期値として表示される。
【００４３】
また、Ｓ９１１−Ｓ９１３にて、探索結果対象のプリンターオブジェクト５０２の候補が複数存在する場合、より適したプリンターオブジェクト５０２の選定を行っている。しかし、より適したプリンターオブジェクト５０２を自動的に選択状態にし、それ以外の探索結果対象になったプリンターオブジェクト５０２も選択しやすい状態にするようにしてもよい。例えば、設定項目８０２及び、設定項目８０３はプルダウンをクリックすると、プリンターオブジェクト一覧が表示される。ここで、もう一方の設定項目で選択されているプリンターオブジェクト５０２と同一の画像処理装置１０１（１０２）に対応するプリンターオブジェクト５０２を上位に並べることや、色や下線などを付けても良い。このような処理により、同一の画像処理装置１０１（１０２）を示しているプリンターオブジェクト５０２をユーザーにとって選択しやすい状態にしてもよい。
【００４４】
図９の処理を介して図８の一方の設定項目のプリンターオブジェクトを選択すると、もう一方の設定項目のプリンターオブジェクトが自動的に選択状態となる。その内容で問題なければ、ユーザーは図８のＯＫボタン８０６を選択する。なお、図９の処理により仮想デバイスアプリケーションが推奨するプリンターオブジェクトを自動選択後、ユーザーからさらに別のプリンターオブジェクトに変更しても良い。
【００４５】
［自動選定対象となるプリンターオブジェクトが複数存在する場合のフロー］
図１０は、Ｓ９１２の処理を詳細に説明するためのフローチャートである。具体的には、Ｓ９０３で選択されたプリンターオブジェクト５０２と同一の画像処理装置を示す異なる種類のプリンターオブジェクト５０２が複数存在する場合に、適切なプリンターオブジェクト５０２を決定するためのフローである。
【００４６】
Ｓ１００１では、仮想デバイスアプリケーション４００が、処理対象のプリンターオブジェクト５０２の出力ポート情報と、探索結果対象のプリンターオブジェクト５０２の出力ポート情報を比較する。そして、仮想デバイスアプリケーション４００は、Ｓ１００２では、処理対象のプリンターオブジェクトのポートが優先されるべきか否かを判断する。具体的には、出力ポートの構成情報はＯＳによりその種類ごとに管理されている。例えば、一般的な出力ポートであるＳｔａｎｄａｒｄ  ＴＣＰ／ＩＰポートの場合、その種類とみなされる出力ポートをＳｔａｎｄａｒｄ  ＴＣＰ／ＩＰポートグループという種類でまとめられている。その種類の中に、仮想デバイスアプリケーション４００が対応可能である出力ポートの種類を予め指定しておき、処理対象のプリンターオブジェクトの出力ポートがその種類に該当するか否かでＳ１００２の処理が実現される。処理対象のプリンターオブジェクト５０２と探索結果対象プリンターオブジェクト５０２のうち、一方が、仮想デバイスアプリケーション４００が対応可能な出力ポートである場合、その対応可能な出力ポートが設定されたプリンターオブジェクトが優先される。なお、対応可能な出力ポートは、アプリケーション対応ポート、または、所定の出力ポートとも呼ばれる。アプリケーション対応ポートは、プリンタ１０１、１０２のステータスやプリンタ１０１、１０２における印刷データの処理状況を取得できるポートである。具体的には、仮想デバイスオブジェクトは、アプリケーション対応ポートを介して印刷装置から実際に印刷データに基づく印刷物が排紙されたことを示す処理状況を取得できる。また、仮想デバイスオブジェクトは、アプリケーション対応ポートを介して出力装置からＦＡＸデータの受信の通知も取得できる。つまり、仮想デバイスアプリケーションは、アプリケーション対応ポートを介して情報を取得することで、他のポートよりも多くの情報（詳細な情報）を出力装置から取得できる。一方、Ｓｔａｎｄａｒｄ  ＴＣＰ／ＩＰポートでは、印刷データに基づく印刷物の処理状況までは取得できないので、アプリケーション対応ポートのプリンタ＾オブジェクトが優先される。この処理により、例えば仮想デバイスアプリケーションを利用する上で好ましい出力ポートが決まっている場合に、仮想デバイスアプリケーションをより効果的に利用することができる。また、そのための選定をユーザが行う必要もなくなるため、ユーザーの操作性が向上する。
【００４７】
処理対象のプリンターオブジェクト５０２がアプリケーション対応ポートであり、探索結果対象のプリンターオブジェクト５０２がアプリケーション対応ポートでない場合、処理対象のプリンターオブジェクト５０２が優先される。優先と判断した場合、Ｓ１００３へ進み、そうでない場合、Ｓ１００５へ進む。
【００４８】
Ｓ１００３では、仮想デバイスアプリケーション４００が、処理対象のプリンターオブジェクト５０２を探索対象のプリンターオブジェクト５０２とする。Ｓ１００２で優先と判断されたプリンターオブジェクト５０２が、Ｓ９０３で選択したプリンターオブジェクト５０２に対応する仮想デバイスアプリケーション４００での利用により適したプリンターオブジェクト５０２であるため、それを探索結果対象とする。
【００４９】
Ｓ１００４では、仮想デバイスアプリケーション４００が、処理対象のプリンターオブジェクト５０２に対応するデバイスドライバのバージョンが、探索結果のプリンターオブジェクト５０２に対応するデバイスドライバのバージョンに比べ新しいか否かを判断する。
【００５０】
Ｓ１００５では、仮想デバイスアプリケーション４００が、既に仮想デバイスオブジェクト５０３が存在するか否かを判断する。仮想デバイスオブジェクト５０３は、仮想デバイスアプリケーション４００内に複数生成することが可能であり、仮想デバイスオブジェクト管理部４０３が既に仮想デバイスオブジェクト５０３を生成している状態にあるか否かを判断する。既に仮想デバイスオブジェクト５０３が存在している場合、Ｓ１００６へ進み、存在していない場合、既に探索結果対象となっているプリンターオブジェクトが継続して探索結果対象のまま処理を終了する。
【００５１】
Ｓ１００６では、仮想デバイスアプリケーション４００が、プリンターオブジェクト情報取得部４０６から処理対象のプリンターオブジェクト５０２の設定情報を取得する。プリンターオブジェクト５０２は、プリンターオブジェクト５０２ごとに設定情報を持っており、例えば、デフォルト印刷時に設定される基本印刷設定情報や画像処理装置１０１（１０２）のプリンターコントローラーの種類といった情報を保持している。これらの各プリンターオブジェクト５０２が持つ設定情報が、取得される。
【００５２】
Ｓ１００７では、仮想デバイスアプリケーション４００が、プリンターオブジェクト情報取得部４０６から探索結果対象のプリンターオブジェクト５０２の設定情報を取得する。取得対象が探索結果対象のプリンターオブジェクト５０２であること以外は、Ｓ１００６と同様の処理である。
【００５３】
Ｓ１００８では、仮想デバイスアプリケーション４００が、処理対象のプリンターオブジェクト５０２が印刷用プリンターオブジェクト６０２かＦＡＸ送信用プリンターオブジェクトで６０３あるかを判断する。プリンターオブジェクト５０２の種類を判断する方法は、Ｓ９０５と同様である。処理対象のプリンターオブジェクト５０２が印刷用プリンターオブジェクト６０２であると判断した場合、Ｓ１００９へ進み、そうでない場合、Ｓ１０１０へ進む。
【００５４】
Ｓ１００９では、仮想デバイスアプリケーション４００が、既に存在する仮想デバイスオブジェクトに設定された印刷用プリンターオブジェクト６０２を比較対象とし、Ｓ１０１１へ進む。
【００５５】
Ｓ１０１０では、仮想デバイスアプリケーション４００が、既に存在する仮想デバイスオブジェクトに設定されたＦＡＸ送信用プリンターオブジェクト６０３を比較対象とし、Ｓ１０１１へ進む。
【００５６】
Ｓ１０１１では、仮想デバイスアプリケーション４００が、プリンターオブジェクト情報取得部４０６からＳ１００９またＳ１０１０で指定した比較対象のプリンターオブジェクト５０２の設定情報を取得する。取得対象が比較対象のプリンターオブジェクト５０２であること以外は、Ｓ１００６と同様の処理である。
【００５７】
Ｓ１０１２では、仮想デバイスアプリケーション４００が、処理対象のプリンターオブジェクト５０２の設定情報と比較対象のプリンターオブジェクト５０２の設定情報を比較する。具体的には、設定項目ごとに設定してある値を比較する。例えば、基本印刷設定のページサイズが同じ設定値であるか、プリンターコントローラーが同一のコントローラーを用いているかといった内容が比較される。
【００５８】
Ｓ１０１３では、仮想デバイスアプリケーション４００が、探索結果対象のプリンターオブジェクト５０２の設定情報と比較対象のプリンターオブジェクト５０２の設定情報を比較する。具体的な内容はＳ１０１２と同様である。
【００５９】
Ｓ１０１４では、仮想デバイスアプリケーション４００が、処理対象のプリンターオブジェクト５０２の設定情報が探索結果対象のプリンターオブジェクト５０２の設定情報よりも、比較対象のプリンターオブジェクト５０２の設定情報に近いかどうかを判断する。プリンターオブジェクト５０２の設定情報の持つすべての項目の一致する数が多いか否かで判断しても良いし、基本印刷設定情報の項目に限定して、一致する数が多いか否かで判断しても良い。また、項目の種類によって重み付けを行い、一致した項目の重みの数を足した結果を比較して判断しても良い。本実施例では、既に存在する仮想デバイスオブジェクト５０３の設定情報により近いプリンターオブジェクト５０２を推奨するフローとなっているが、設定情報が近くないプリンターオブジェクト５０２を推奨する実施方法も本特許の例外ではない。例えば、既に存在する仮想デバイスオブジェクト５０３のプリンターオブジェクト５０２と、処理対象のプリンターオブジェクト５０２が同一の画像処理装置を示す場合、異なる設定の仮想デバイスオブジェクトを新しく設定したいと考えるのが妥当である。この場合、一致する項目が少ないプリンターオブジェクト５０２を探索結果対象とする実施方法も本特許の範囲とする。処理対象のプリンターオブジェクト５０２の設定情報の方が、探索結果対象のプリンターオブジェクト５０２の設定情報よりも、比較対象であるプリンターオブジェクト５０２の設定情報に近いと判断された場合、Ｓ１０１５へ進み、そうでない場合、処理を終了する。
【００６０】
Ｓ１０１５では、仮想デバイスアプリケーション４００が、処理対象のプリンターオブジェクト５０２を探索結果対象のプリンターオブジェクト５０２とする。本フローチャートでは、既に存在する仮想デバイスオブジェクト５０３のプリンターオブジェクト５０２に設定されている内容がより近いプリンターオブジェクト５０２を推奨する。なお、処理対象のプリンターオブジェクトと探索結果対象のプリンターオブジェクトの内、ＯＳの通常使うプリンタ属性がどちらかに設定されている場合、仮想デバイスアプリケーションは、その属性が設定されているプリンターオブジェクトを選択する。
【００６１】
以上の処理により、ユーザーが仮想デバイスオブジェクト５０３のプリンターオブジェクト５０２の設定を行う際の負荷を軽減することが可能である。
【００６２】
［仮想デバイスオブジェクト画像の自動決定フロー］
図１１は、図９及び図１０で選択されたプリンターオブジェクト５０２の組み合わせからなる仮想デバイスオブジェクト５０３に対応するデバイス画像を自動選択するためのフロー図である。具体的には、仮想デバイスオブジェクトのプレビュー表示画像８０４を、図８の設定項目８０２、８０３の選択内容に応じて仮想デバイスアプリケーションが自動的に決定する処理を指す。
【００６３】
Ｓ１１０１では、仮想デバイスアプリケーション４００が、設定項目８０２の印刷用プリンターオブジェクト６０２の示す画像処理装置と、設定項目８０３のＦＡＸ送信用プリンターオブジェクト６０３の示す画像処理装置が異なるか否かを判断する。判断する方法はＳ９０９と同様である。設定項目８０２の印刷用プリンターオブジェクト６０２の示す画像処理装置１０１（１０２）と、設定項目８０３のＦＡＸ送信用プリンターオブジェクト６０３の示す画像処理装置１０１（１０２）が異なる場合、Ｓ１１０２に進み、同じ場合、Ｓ１１０３に進む。
【００６４】
Ｓ１１０２では、仮想デバイスアプリケーション４００が、仮想デバイスオブジェクト５０３に割り当てられている印刷用プリンターオブジェクト６０２の画像処理装置１０１（１０２）の情報を取得する。基本的には、図９、図１０のフローチャートによって印刷用プリンターオブジェクトとＦＡＸ送信用プリンターオブジェクト６０３の示す画像処理装置１０１（１０２）は同一であるケースがメインフローとなる。しかし、一方の種類のプリンターオブジェクト５０２しか存在しない場合や、ユーザーが明示的に異なる画像処理装置１０１（１０２）を示すプリンターオブジェクト５０２を仮想デバイスオブジェクトに割り当てることもある。この場合に対応するために、設定された印刷用プリンターオブジェクト６０２と設定されたＦＡＸ送信用プリンターオブジェクト６０３の示す画像処理装置が異なる場合、印刷用プリンターオブジェクト６０２のデバイス情報を優先して取得する。本処理の後、Ｓ１１０３へ進む。
【００６５】
Ｓ１１０３では、仮想デバイスアプリケーション４００が、仮想デバイスオブジェクト５０３に設定されている印刷用プリンターオブジェクト５０２のＩＰアドレスを参照する。そして、Ｓ１１０４では、仮想デバイスアプリケーション４００が、ＩＰアドレスを基に画像処理装置１０１（１０２）から製品名を取得する。Ｓ１１０５では、Ｓ１１０４において製品名が正常に取得できたか否かを判断する。製品名を正常に取得できた場合、Ｓ１１０６へ進み、取得できなかった場合、Ｓ１１０８へ進む。
【００６６】
Ｓ１１０６では、仮想デバイスアプリケーション４００が、製品名に対応する実デバイスの画像ファイルを保持しているか否かを判断する。仮想デバイスアプリケーション４００は、事前に仮想デバイスオブジェクト５０３に用いるデバイス画像一覧を用意しておく。デバイス画像一覧の中に、製品名に対応する実デバイスの画像が存在するか否かをＳ１１０６で判断する。製品名に対応するデバイス画像が存在する場合、Ｓ１１０７へ進み、存在しない場合、Ｓ１１０８へ進む。
【００６７】
Ｓ１１０７では、仮想デバイスアプリケーション４００が、実デバイスの画像ファイルを仮想デバイスオブジェクト５０３の表示画像として適用する。
【００６８】
Ｓ１１０８では、仮想デバイスアプリケーション４００が、デバイス構成情報を取得できるか否かを判断する。なお、Ｓ１１０８の判断方法は、Ｓ９０４と同じである。デバイス構成情報を取得できなかった場合、Ｓ１１０９へ進み、そうでない場合、Ｓ１１１０へ進む。Ｓ１１０９では、仮想デバイスアプリケーション４００が、デバイス構成情報を取得し、Ｓ１１１１へ進む。Ｓ１１１０では、仮想デバイスアプリケーション４００が、デバイス情報を取得できない場合用に用意されたデフォルト画像ファイルを仮想デバイスオブジェクト５０３の表示画像として適用する。
【００６９】
Ｓ１１１１では、仮想デバイスアプリケーション４００が、取得したデバイス構成情報から、画像処理装置１０１（１０２）がＭＦＰ（マルチファンクションプリンター）であるかＳＦＰ（シングルファンクションプリンター）であるかを判断する。ＭＦＰである場合、Ｓ１１１２へ進み、そうでない場合、Ｓ１１１３へ進む。
【００７０】
Ｓ１１１２では、仮想デバイスアプリケーション４００が、画像処理装置１０１（１０２）の構成情報から画像処理装置１０１（１０２）がカラー機であるかモノクロ機であるかを判断する。カラー機の場合、Ｓ１１１４へ進み、モノクロ機である場合、Ｓ１１１５へ進む。Ｓ１１１３もＳ１１１２と同様であり、カラー機の場合、Ｓ１１２０へ進み、そうでない場合、Ｓ１１２１へ進む。
【００７１】
Ｓ１１１４では、仮想デバイスアプリケーション４００が、デバイス構成情報から画像処理装置１０１（１０２）がフィニッシャー付きかそうでないかを判断する。フィニッシャー付の画像処理装置１０１（１０２）である場合、Ｓ１１１６へ進み、そうでない場合、Ｓ１１１７へ進む。Ｓ１１１５もＳ１１１４と同様であり、フィニッシャー付の画像処理装置１０１（１０２）である場合、Ｓ１１１８へ進み、そうでない場合、Ｓ１１１９へ進む。
【００７２】
Ｓ１１１６−Ｓ１１２１では、仮想デバイスアプリケーション４００が、Ｓ１１１２−Ｓ１１１５の判断処理を基に、デバイス構成情報に適した画像ファイルを仮想デバイスオブジェクト５０３の表示画像として適用する。例えば、Ｓ１１１２−Ｓ１１１５の判断によって、仮想デバイスアプリケーションが、仮想デバイスオブジェクト５０３の示す画像処理装置がＭＦＰかつカラー機かつフィニッシャー付であることを判断する。この判断により、仮想デバイスアプリケーションは、ＭＦＰかつカラー機かつフィニッシャー付であることがわかる画像を、仮想デバイスオブジェクト５０３の表示画像として適用する。
【００７３】
こうすることにより、ユーザーが仮想デバイスオブジェクト５０３の表示画像の設定を行う際の負荷を軽減することが可能である。
【００７４】
［他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。
【００７５】
即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７６】
４００  仮想デバイスアプリケーション
【図１】
0005995461.tif 000002
【図２】
0005995461.tif 000003
【図３】
0005995461.tif 000004
【図４】
0005995461.tif 000005
【図５】
0005995461.tif 000006
【図６】
0005995461.tif 000007
【図８】
0005995461.tif 000008
【図９】
0005995461.tif 000009
【図１０】
0005995461.tif 000010
【図１１】
0005995461.tif 000011
【図１２】
0005995461.tif 000012
【図１３】
0005995461.tif 000013
【図７】
0005995461.tif 000014