(57)【特許請求の範囲】
【請求項１】
第１の機能の実行指示を第１の領域で受け付けて、第２の機能の実行指示を前記第１の領域と共に表示される第２の領域で受け付けるデバイスオブジェクトに第１のプリンターオブジェクトと第２のプリンターオブジェクトを割り当てる割当手段と、
前記第１の機能の前記実行指示をユーザーから受け付けてかつ前記第１のプリンターオブジェクトが存在する場合は前記第１のプリンターオブジェクトに割り当てられているドライバーで出力する指示をして、前記第２の機能の前記実行指示を前記ユーザーから受け付けてかつ前記第２のプリンターオブジェクトが存在する場合は前記第２のプリンターオブジェクトに割り当てられているドライバーで出力する指示をする指示手段と、
前記第１のプリンターオブジェクト又は前記第２のプリンターオブジェクトのいずれか一方が存在する場合に前記デバイスオブジェクトを削除せず、前記第１のプリンターオブジェクト及び前記第２のプリンターオブジェクトの両方が存在しない場合に前記デバイスオブジェクトを削除する削除手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記第１の機能とは画像処理装置で印刷するための機能であり、前記第２の機能とは画像処理装置でファクス送信するための機能であり、前記第１のプリンターオブジェクトとは印刷用プリンターオブジェクトであり、前記第２のプリンターオブジェクトとはファクス送信用プリンターオブジェクトであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記デバイスオブジェクトはユーザーからファイルのドロップを受け付けるオブジェクトであり、
前記指示手段は、前記ファイルのドロップにより前記第１の機能の前記実行指示をユーザーから受け付けてかつ前記第１のプリンターオブジェクトが存在する場合は前記第１のプリンターオブジェクトに割り当てられているドライバーで前記ファイルに基づいて出力する指示をして、前記ファイルのドロップにより前記第２の機能の前記実行指示を前記ユーザーから受け付けてかつ前記第２のプリンターオブジェクトが存在する場合は前記第２のプリンターオブジェクトに割り当てられているドライバーで前記ファイルに基づいて出力する指示をすることを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記デバイスオブジェクトを表示するためのアプリケーションである仮想デバイスアプリケーションの起動時に前記第１のプリンターオブジェクト及び前記第２のプリンターオブジェクトが存在しない場合に前記デバイスオブジェクトを削除するかどうかを確認する確認画面を表示する表示手段と、を有し、
前記削除するかどうかを確認する確認画面によりユーザーから前記デバイスオブジェクトを削除する指示を受け付ける場合に前記デバイスオブジェクトを削除することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第１の機能の実行指示を前記ユーザーから受け付けてかつ前記第１のプリンターオブジェクトが存在しない、又は前記第２の機能の実行指示を前記ユーザーから受け付けてかつ前記第２のプリンターオブジェクトが存在しない場合に前記デバイスオブジェクトに割り当てられているプリンターオブジェクトを変更する指示をユーザーから受け付ける設定画面を表示する表示手段と、を有することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記削除手段は、前記第１の機能の実行指示又は前記第２の機能の実行指示を前記ユーザーから受け付けてかつ前記第１のプリンターオブジェクト及び前記第２のプリンターオブジェクトが存在しない場合に前記デバイスオブジェクトを削除することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第１の機能を実行するための表示領域である第１の出力選択表示部分と前記第２の機能を実行するための表示領域である第２の出力選択表示部分を表示して、前記第１のプリンターオブジェクトが存在しない場合に前記第１の出力選択表示部分を利用不可状態として表示して、前記第２のプリンターオブジェクトが存在しない場合に前記第２の出力選択表示部分を利用不可状態として表示する表示手段と、を有することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１の機能の実行指示を前記ユーザーから受け付けてかつ前記第１のプリンターオブジェクトが存在しない又は前記第２の機能の実行指示を前記ユーザーから受け付けてかつ前記第２のプリンターオブジェクトが存在しない場合に前記設定画面を表示するかどうかを確認する確認画面を表示して、前記確認画面によりユーザーから前記設定画面を表示する指示を受け付ける場合に前記設定画面を表示する表示手段と、を有することを特徴とする請求項５に記載の情報処理装置。
【請求項９】
前記第１の機能の実行指示時に前記第２のプリンターオブジェクトが存在しない場合に前記第２の出力選択表示部分を利用不可状態にして、前記第２の機能の実行指示時に前記第１のプリンターオブジェクトが存在しない場合に前記第１の出力選択表示部分を利用不可状態にすることを特徴とする請求項７に記載の情報処理装置。
【請求項１０】
コンピュータに、
第１の機能の実行指示を第１の領域で受け付けて、第２の機能の実行指示を前記第１の領域と共に表示される第２の領域で受け付けるデバイスオブジェクトに第１のプリンターオブジェクトと第２のプリンターオブジェクトを割り当てる割当工程と、
前記第１の機能の前記実行指示をユーザーから受け付けてかつ前記第１のプリンターオブジェクトが存在する場合は前記第１のプリンターオブジェクトに割り当てられているドライバーで出力する指示をして、前記第２の機能の前記実行指示を前記ユーザーから受け付けてかつ前記第２のプリンターオブジェクトが存在する場合は前記第２のプリンターオブジェクトに割り当てられているドライバーで出力する指示をする指示工程と、
前記第１のプリンターオブジェクト又は前記第２のプリンターオブジェクトのいずれか一方が存在する場合に前記デバイスオブジェクトを削除せず、前記第１のプリンターオブジェクト及び前記第２のプリンターオブジェクトの両方が存在しない場合に前記デバイスオブジェクトを削除する削除工程と、を実行させることを特徴とするプログラム。
【請求項１１】
前記第１の機能とは画像処理装置で印刷するための機能であり、前記第２の機能とは画像処理装置でファクス送信するための機能であり、前記第１のプリンターオブジェクトとは印刷用プリンターオブジェクトであり、前記第２のプリンターオブジェクトとはファクス送信用プリンターオブジェクトであることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記デバイスオブジェクトはユーザーからファイルのドロップを受け付けるオブジェクトであり、
前記指示工程は、前記ファイルのドロップにより前記第１の機能の前記実行指示をユーザーから受け付けてかつ前記第１のプリンターオブジェクトが存在する場合は前記第１のプリンターオブジェクトに割り当てられているドライバーで前記ファイルに基づいて出力する指示をして、前記ファイルのドロップにより前記第２の機能の前記実行指示を前記ユーザーから受け付けてかつ前記第２のプリンターオブジェクトが存在する場合は前記第２のプリンターオブジェクトに割り当てられているドライバーで前記ファイルに基づいて出力する指示をすることを特徴とする請求項１０又は請求項１１に記載のプログラム。
【請求項１３】
前記コンピュータに、
前記デバイスオブジェクトを表示するためのアプリケーションである仮想デバイスアプリケーションの起動時に前記第１のプリンターオブジェクト及び前記第２のプリンターオブジェクトが存在しない場合に前記デバイスオブジェクトを削除するかどうかを確認する確認画面を表示する表示工程と、を実行させ、
前記削除するかどうかを確認する確認画面によりユーザーから前記デバイスオブジェクトを削除する指示を受け付ける場合に前記デバイスオブジェクトを削除することを特徴とする請求項１０乃至１２のいずれか１項に記載のプログラム。
【請求項１４】
前記コンピュータに、
前記第１の機能の実行指示を前記ユーザーから受け付けてかつ前記第１のプリンターオブジェクトが存在しない、又は前記第２の機能の実行指示を前記ユーザーから受け付けてかつ前記第２のプリンターオブジェクトが存在しない場合に前記デバイスオブジェクトに割り当てられているプリンターオブジェクトを変更する指示をユーザーから受け付ける設定画面を表示する表示工程と、を実行させることを特徴とする請求項１０乃至１３のいずれか１項に記載のプログラム。
【請求項１５】
前記削除工程は、前記第１の機能の実行指示又は前記第２の機能の実行指示を前記ユーザーから受け付けてかつ前記第１のプリンターオブジェクト及び前記第２のプリンターオブジェクトが存在しない場合に前記デバイスオブジェクトを削除することを特徴とする請求項１０乃至１４のいずれか１項に記載のプログラム。
【請求項１６】
前記コンピュータに、
前記第１の機能を実行するための表示領域である第１の出力選択表示部分と前記第２の機能を実行するための表示領域である第２の出力選択表示部分を表示して、前記第１のプリンターオブジェクトが存在しない場合に前記第１の出力選択表示部分を利用不可状態として表示して、前記第２のプリンターオブジェクトが存在しない場合に前記第２の出力選択表示部分を利用不可状態として表示する表示工程と、を実行させることを特徴とする請求項１０乃至１５のいずれか１項に記載のプログラム。
【請求項１７】
前記コンピュータに、
前記第１の機能の実行指示を前記ユーザーから受け付けてかつ前記第１のプリンターオブジェクトが存在しない又は前記第２の機能の実行指示を前記ユーザーから受け付けてかつ前記第２のプリンターオブジェクトが存在しない場合に前記設定画面を表示するかどうかを確認する確認画面を表示して、前記確認画面によりユーザーから前記設定画面を表示する指示を受け付ける場合に前記設定画面を表示する表示工程と、を実行させることを特徴とする請求項１４に記載のプログラム。
【請求項１８】
前記第１の機能の実行指示時に前記第２のプリンターオブジェクトが存在しない場合に前記第２の出力選択表示部分を利用不可状態にして、前記第２の機能の実行指示時に前記第１のプリンターオブジェクトが存在しない場合に前記第１の出力選択表示部分を利用不可状態にすることを特徴とする請求項１６のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプリンタードライバーを用いて処理を行うガジェットの技術に関する。
【背景技術】
【０００２】
ガジェットはＰＣ・モバイル機器などのスクリーン上に表示されるオブジェクトである。通常ガジェットは、頻繁に使われる機能を容易にアクセス可能に提供するためや、視覚的な情報を伝達するために用いられる。
特許文献１にはウィジェット（本明細書のガジェット及び仮想デバイスオブジェクトに相当）を削除する際に処理を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１７０５３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１にはウィジェットにプリンターオブジェクトを割り当てることにより関連付けることは記載されていない。ゆえに当然ながらウィジェットに割り当てられたプリンターオブジェクトが削除された場合の考慮もなされていない。よって、ウィジェットに割り当てられたプリンターオブジェクトが削除されたにも関わらず、削除されたプリンターオブジェクトに割り当てられたプリンタードライバーによる処理を含む指示をウィジェットがユーザーから受け付ける可能性がある。
本発明はこのような課題を解決し、ガジェットの操作性を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するための本発明に係る情報処理装置は、
第１の機能の実行指示を第１の領域で受け付けて、第２の機能の実行指示を前記第１の領域と共に表示される第２の領域で受け付けるデバイスオブジェクトに第１のプリンターオブジェクトと第２のプリンターオブジェクトを割り当てる割当手段と、
前記第１の機能の前記実行指示をユーザーから受け付けてかつ前記第１のプリンターオブジェクトが存在する場合は前記第１のプリンターオブジェクトに割り当てられているドライバーで出力する指示をして、前記第２の機能の前記実行指示を前記ユーザーから受け付けてかつ前記第２のプリンターオブジェクトが存在する場合は前記第２のプリンターオブジェクトに割り当てられているドライバーで出力する指示をする指示手段と、
前記第１のプリンターオブジェクト又は前記第２のプリンターオブジェクトのいずれか一方が存在する場合に前記デバイスオブジェクトを削除せず、前記第１のプリンターオブジェクト及び前記第２のプリンターオブジェクトの両方が存在しない場合に前記デバイスオブジェクトを削除する削除手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によりプリンタードライバーを用いて処理を行う、操作性の良いガジェットを提供できる。
【図面の簡単な説明】
【０００８】
【図１】システムの構成を示す図
【図２】情報処理装置のハードウェア構成を示す図
【図３】画像処理装置のハードウェア構成を示す図
【図４】仮想デバイスアプリケーションのソフトウェア構成を示す図
【図５】ＯＳにおけるプリンターオブジェクトの管理画面及び仮想デバイスアプリケーションのＵＩ表示の一例を示す図
【図６】仮想デバイスオブジェクトとプリンターオブジェクトの関係を示す図
【図７】仮想デバイスオブジェクトへの出力操作時のＵＩ表示の一例を示す図
【図８】仮想デバイスアプリケーションの出力実行時で出力実行が不可能な場合のＵＩ表示の一例を示す図
【図９】仮想デバイスオブジェクトにプリンターオブジェクトを割り当てる設定を行うＵＩ表示の一例を示す図
【図１０】仮想デバイスオブジェクトがドロップ操作を受け付けたときの処理フロー図
【図１１】起動時に仮想デバイスオブジェクトに割り当てられたプリンターオブジェクトが存在するか確認するときの処理フロー図
【図１２】仮想デバイスオブジェクトの実行可否を判断するフロー図
【図１３】プリンターオブジェクトに割り当てられたプリンタードライバーが削除されたことを検知したときのフロー図
【図１４】仮想デバイスオブジェクトがドロップ操作を受け付けたときに、対応するプリンターオブジェクトが存在する場合の処理フロー図
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１０】
（実施例１）
［システム構成］
図１は、本発明の一実施形態におけるデータ処理システムの構成を示す図である。本例は、情報処理装置と画像処理装置とがネットワークを介して通信可能なシステムである。図１において、１００は情報処理装置であって、画像処理装置１０１及び１０２に対して印刷やファクス送信を指示するユーザーの使用するコンピュータである。１０１及び１０２は複合機であって、プリンタ機能、ファクス機能、コピー機能、スキャナ機能、ファイル送信機能等を備える。なお、情報処理装置１００には、所定のオペレーティングシステム（ＯＳ）がインストールされ、かつ、特定の機能処理を実行する各種のアプリケーションもインストールされている。ここで、特定の機能処理とは、文書処理、表計算処理、プレゼンテーション処理、画像処理、図形処理等が含まれ、各アプリケーションはそれぞれ独自のデータ構造（ファイル構造）を備える。
【００１１】
さらに、ＯＳは、各ファイルの識別子を参照して対応するアプリケーションに印刷指示を行える構成となっている。また、本実施形態を示す情報処理装置１００には、画像処理装置を利用するための仮想デバイスアプリケーションがインストールされている。ここで、仮想デバイスアプリケーションは画像処理装置に対する印刷やファクス送信等の出力指示を行う機能、画像処理装置の使用状態や出力ジョブの実行状況を表示する機能を備えている。１０３は上記装置が接続されているＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であって、ＬＡＮ１０３を介して上記装置は情報の相互通信を行っている。
【００１２】
［ハードウェア構成（情報処理装置）］
図２は、図１に示した情報処理装置１００のハードウェア構成を示す図である。図２において、キーボードやポインティングデバイスなどのユーザー操作入力を受信する入力デバイス２０５が設けられている。さらに、ユーザーに視覚的な出力情報フィードバックを与える表示部２０２を備える。さらに、本実施形態における各種プログラムや実行情報を保管する記憶デバイスＲＡＭ  ２０３，ＨＤＤ（ハードディスクドライブ）やＦＤＤ（フレキシブルディスクドライブ）などの外部メモリ２０６，ＲＯＭ  ２０４が設けられる。さらに、外部機器との通信を行うインターフェースデバイスＩ／Ｏ２０７を備え、プログラム実行を行うＣＰＵ２０１を備える。なお、周辺機器との接続形態は有線／無線を問わない。情報処理装置１００は、この外部機器接続Ｉ／Ｆを介して画像処理装置１０１や１０２と接続する。
【００１３】
［ハードウェア構成（画像処理装置）］
図３は、図１に示した画像処理装置１０１及び１０２内のハードウェア構成を説明するブロック図である。なお、本例は、スキャナ機能と、プリンタ機能と、そしてファクス機能を有する複合機（ＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ））の例を示す。
【００１４】
図３において、３０１はＩ／Ｏで、ネットワーク（ＬＡＮ）１０４などの通信媒介を介して情報処理装置１００と接続している。Ｉ／Ｏ３０１は複数の接続形態に対応するために複数個搭載されていてもよい。このＩ／Ｏ  ３０１を通して、画像処理装置１０１（１０２）は、デバイスＩＤやスキャンイメージを情報処理装置１００に渡す。また情報処理装置１００より、各種の制御コマンドを受けて処理を行う。
【００１５】
Ｉ／Ｆ制御部３０２は、画像処理装置１０１（１０２）に搭載されているスキャナやプリンタやまたはファクスなどの処理系に関してデバイスＩＤを発行する制御をおこなっている。ＲＡＭ３０３は、一次記憶装置で、Ｉ／Ｏ３０１で取得した制御コマンドなどの外部データや、スキャナエンジン３１３で読み取られたイメージを格納するに使用される。さらに、ＲＡＭ３０３は、プリンタコントローラ３１０で展開されたプリンタエンジン３０６に渡される前にイメージの格納などに使用される。
【００１６】
ＲＡＭ３０３の割り当て管理はＲＡＭ制御部３０４が行っている。画像データ調歩回路３０５は、プリンタコントローラ３１０やスキャナエンジン３１３によって取り込まれたＲＡＭ制御部３０４に展開されたイメージをプリンタエンジン３０６の回転にあわせて出力する装置である。プリンタエンジン３０６は紙などの出力メディアにイメージを現像する装置である。
【００１７】
メインコントローラ３０８は、エンジンＩ／Ｆ３０７によりプリンタエンジン３０６の各種制御を行う。また、メインコントローラ３０８は、制御の要のモジュールであり、スキャナコントローラ３０９やプリンタコントローラ３１０やファクスコントローラ３１１にＩ／Ｏ３０１経由で情報処理装置１００より受け取る制御言語の適切な振り分け処理を行う。さらに、メインコントローラ３０８は、それぞれのコントローラやユーザインタフェース３１２からの支持をうけてプリンタエンジン３０６やスキャナエンジン３１３の制御を行う。メインコントローラ３０８と各種コントローラの間の制御インターフェースを統一することにより、一つの周辺機器に複数種類の制御コマンドを処理可能な拡張ボードが搭載可能になる。また現在搭載されている拡張コントローラのデバイスＩＤを各コントローラより取得し管理するのもメインコントローラの役割である。
【００１８】
スキャンコントローラ３０９は情報処理装置１００より受けたスキャン制御コマンドをメインコントローラ３０８が解釈可能な内部実行命令に分解する。またスキャナエンジン３１３で読み取ったイメージをスキャン制御コマンドに変更する。プリンタコントローラ３１０は情報処理装置１００より受けたページ記述言語をメインコントローラ３０８が解釈可能なページ記述言語の展開イメージなどを含む内部実行命令に分解する。展開イメージはプリンタエンジンまで運ばれ、用紙などの出力メディアに印刷される。ファクスコントローラ３１１は、情報処理装置１００より受けたファクス制御言語をイメージに展開し不図示の公衆回線、又はインターネットを介して他のファクス装置やＩＰ−ＦＡＸへ転送する。
【００１９】
ユーザインタフェースは、メインコントローラ３０８の各種設定や、スキャナ機能やプリンタ機能や、そしてファクス機能を直接画像処理装置１０１（１０２）で実行する際に、ユーザーによる指示の入出力手段として使用される。
【００２０】
スキャナエンジン３１３はメインコントローラ３０８の指示により光学装置を用いて印刷されたイメージを読み取り、電気信号に変換してメインコントローラ３０８に受け渡す。
【００２１】
〔ソフトウェア構成図〕
図４は、情報処理装置１００が実行する仮想デバイスアプリケーション４００の機能構成の一例を示す図である。仮想デバイスアプリケーション４００は、入力管理部４０４、画面表示管理部４０５、プリンターオブジェクト情報取得部４０６、仮想デバイスオブジェクト管理部４０３、出力制御部４０１、出力管理部４０２から構成される。入力管理部４０４は、画面表示管理部４０５により表示された仮想デバイスアプリケーション４００のＧＵＩ（グラフィカルユーザーインターフェース）を介して、ユーザーによる入力デバイス２０５の操作を検知し、ユーザーの操作情報を取得する。画面表示管理部４０５は、仮想デバイスアプリケーション４００のＧＵＩとして、一例として示す図７のように仮想デバイスオブジェクトの表示や出力選択の表示等の画面表示制御を行う。
【００２２】
本明細書では仮想デバイスオブジェクトとは情報処理装置１００の表示部２０２に表示されるユーザーが操作可能なオブジェクトである。
【００２３】
なお、仮想デバイスオブジェクトは仮想デバイスアプリケーションとは独立して動作するＯＳのモジュールが表示を行なっても構わない。
【００２４】
プリンターオブジェクト情報取得部４０６は、ＯＳにより管理されるプリンターオブジェクトの情報やプリンターオブジェクトに割り当てられているプリンタードライバーの情報を取得する。また、プリンターオブジェクト情報取得部４０６は、プリンターオブジェクトに割り当てられているプリンタードライバーと仮想デバイスアプリケーション４００との連携が可能か否かを判断する。
【００２５】
なお、本明細書では印刷用プリンターオブジェクトもファクス送信用プリンターオブジェクトも同じプリンターオブジェクトと表現するものとする。以降、印刷用プリンターオブジェクトとファクス送信用プリンターオブジェクトは明確に分けて使う必要がある際には使い分け、どちらかを明示しない場合はどちらであってもプリンターオブジェクトと表現することとする。
【００２６】
さらに、本明細書では印刷用のプリンタードライバーもファクス送信用のプリンタードライバーも同じプリンタードライバーと表現するものとする。以降、印刷用のプリンタードライバーとファクス送信用のプリンタードライバーは明確に分けて使う必要がある際には使い分け、明示しなくともわかる場合やどちらかを明示しない場合はどちらであってもプリンタードライバーと表現することとする。
【００２７】
より具体的には、仮想デバイスアプリケーション４００からプリンタードライバーの機能を制御するためのＩＦが公開されている場合がある。前記ＩＦとは、プリンタードライバーのＳＤＫとして公開されており、仮想デバイスアプリケーション４００との連携動作が保障されている。仮想デバイスアプリケーション４００は前記ＩＦを介し、仮想デバイスアプリケーション４００とプリンタードライバーとの間の制御を行うことができる。プリンターオブジェクト情報取得部４０６は、プリンタードライバーに前記のＩＦが備えられているかを判断することにより、連携可能か否かを判断するものとする。
【００２８】
仮想デバイスオブジェクト管理部４０３は、図６で示すように仮想デバイスオブジェクトの構成情報を生成、管理する。より具体的には、プリンターオブジェクト情報取得部４０６により取得したプリンターオブジェクトの情報を基に仮想デバイスオブジェクトの構成を構築する。また、仮想デバイスオブジェクトの構成や仮想デバイスオブジェクトの機能設定等の設定情報を外部メモリ２０６に保存する設定ファイルに書き込むことや、設定ファイルから設定情報を読み込む等の制御を行う。
【００２９】
出力制御部４０１は入力管理部４０４を介してユーザーからの出力指示を受け付けると、その出力指示をもとに対応するプリンターオブジェクトに割り当てられるプリンタードライバーへ出力指示を行う。印刷指示の場合は印刷用のプリンタードライバーへ、ファクス送信の場合はファクス送信用のプリンタードライバーへ出力指示を行う。
【００３０】
指示を受け付けたプリンタードライバーは出力指示として指定されたファイルを画像処理装置１０１（１０２）で解釈可能な出力指示情報に変換する。ここで出力指示情報とは、印刷出力の場合は印刷用のデータ形式（例えば、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等）に変換した情報を指す。またファクス送信の場合はファクス送信用のデータ形式（例えば、ラスターデータ等）に変換した情報を指す。そして、プリンタードライバーは変換した印刷指示情報を、ネットワーク１０３を介して画像処理装置１０１（１０２）へ送信する。
【００３１】
〔ＯＳのプリンターオブジェクト管理画面と仮想デバイスアプリケーションの表示画面〕
図５はＯＳのプリンターオブジェクトの管理画面と仮想デバイスアプリケーションの表示画面を模式的に示した図である。５００はＯＳによって表示されるデスクトップ画面を表し、５０１はＯＳのプリンターオブジェクトの管理画面、また５０２はプリンターオブジェクトを表している。プリンターオブジェクトの管理画面５０１には、ＯＳにインストールされているすべてプリンターオブジェクトの一覧が表示される。
【００３２】
プリンタードライバーをＯＳにインストールすると、ＯＳによってそのプリンタードライバーに割り当てられるプリンターオブジェクト５０２がプリンターオブジェクトの管理画面５０１へ表示される。
【００３３】
プリンターオブジェクトには、印刷用のプリンタードライバーに割り当てられている印刷用プリンターオブジェクトやファクス送信用のプリンタードライバーに割り当てられているファクス送信用プリンターオブジェクト等のプリンターオブジェクトが存在する。
【００３４】
また、５０３は仮想デバイスアプリケーションにおける仮想デバイスオブジェクトの表示状態を模式的に示した図である。仮想デバイスオブジェクト５０３はＯＳのデスクトップ上に表示され、ユーザーからの出力指示を受け付ける。これによりユーザーは容易に所望の出力を実現できる。
【００３５】
また、図６は仮想デバイスオブジェクトとプリンターオブジェクトの関係を模式的に示す図である。仮想デバイスオブジェクト６０１は特定の画像処理装置に対応する印刷用プリンターオブジェクト６０２及びファクス送信用プリンターオブジェクト６０３を割り当てられるように構成される。ユーザーによる印刷指示を受け付けた場合に印刷用プリンターオブジェクトを介して出力を実行する。ファクス送信の場合はファクス送信用プリンターオブジェクトを介して出力を実行する。
【００３６】
本実施例におけるシステム構成のように画像処理装置が複数存在する場合には、画像処理装置１０１、１０２のそれぞれにひとつ仮想デバイスオブジェクト５０３を生成できる。また、１つの仮想デバイスオブジェクト５０３に画像処理装置１０１の印刷用プリンターオブジェクトと画像処理装置１０２のファクス送信用プリンターオブジェクトを割り当てることも可能である。
【００３７】
〔仮想デバイスアプリケーションの出力実行時の表示ＵＩ〕
図７は、仮想デバイスアプリケーションの出力実行時の表示ＵＩを模式的に示した図である。７０１のように仮想デバイスアプリケーションはユーザーによる仮想デバイスオブジェクトへのファイルのドラッグを受け付けると、７０２及び７０４のように仮想デバイスオブジェクト上に出力選択表示部分を表示する。
【００３８】
なお、本明細書で出力選択表示部分とはユーザーによるファイルのドロップを受け付ける仮想デバイスオブジェクト上の表示領域を意味する。そして表示領域は印刷の指示を受け付ける印刷部分とファクス送信の指示を受け付けるファクス部分に分かれている。
【００３９】
その後、実行したい出力の箇所へファイルをドラッグアンドドロップすることで実行指示を受け付けて所望の出力を実現可能とする。また、仮想デバイスアプリケーションは７０２に示すように印刷部分へのドロップ操作を受け付けると、７０３に示すように印刷設定を指定するＵＩ画面を表示する。ここでユーザーが印刷設定を選択することで画像処理装置への印刷指示を実行する。また、７０４に示すようにファクス部分へのドロップ操作を受け付けると、７０５に示すようにファクス送信のための宛先指定画面を表示する。ここでユーザーが宛先を指定し実行操作を行うことで画像処理装置へのファクス送信指示を実行する。７０３及び７０５で表示するＵＩは仮想デバイスアプリケーションで管理するＵＩを表示する構成であっても、仮想デバイスオブジェクトに対応するプリンターオブジェクトのＵＩを呼び出す構成であってもよい。
【００４０】
〔仮想デバイスアプリケーションの出力実行時で出力実行が不可能な場合の表示ＵＩ〕
図８は、仮想デバイスアプリケーションに割り当てられたプリンターオブジェクトが存在しない場合（ユーザーによって削除された場合等）の仮想デバイスアプリケーションの出力実行時の表示ＵＩを模式的に示した図である。８０１のように仮想デバイスアプリケーションはユーザーによる仮想デバイスオブジェクトへのファイルのドラッグを受け付けると、８０２、８０３及び、８０４のように仮想デバイスオブジェクト上に出力選択表示部分を表示する。８０２は、印刷用プリンターオブジェクトが存在しない場合であって、印刷の出力選択表示部分に実行できない旨を表示している。８０３は、ファクス用送信用プリンターオブジェクトが存在しない場合であって、ファクスの出力選択表示部分に実行できない旨を表示している。８０４は、印刷用プリンターオブジェクト及びファクス送信用プリンターオブジェクトが両方とも存在しない場合であって、印刷、ファクスの出力選択表示部分に実行できない旨を示している。
【００４１】
後述する図１０のフローチャートの説明で示すように、出力選択表示部分に実行できない旨を表示している場合は、当然該当するプリンターオブジェクトが存在しないため、ファイルのドロップが行われても印刷又はファクスは実行されない。
【００４２】
なお、実行できない旨の表示方法は図８の×マークを表示する方法に限定するものではなく、例えば、出力選択表示部分の色を変える方法や、マウスカーソルを変更する方法でもよい。
【００４３】
〔仮想デバイスオブジェクトにプリンターオブジェクトを割り当てる設定を行うＵＩ〕
図９は、仮想デバイスオブジェクトに、印刷用プリンターオブジェクトとファクス送信用プリンターオブジェクトを割り当てる設定を行うＵＩを示した図である。９０１では、印刷用、ファクス送信用プリンターオブジェクトはそれぞれ、コンボボックスから選択可能であり、コンボボックスには割り当て可能なプリンターオブジェクトの候補の一覧が表示される。なお、プリンターオブジェクトの割り当てる設定を行うＵＩは、本図に限定するものではなく、例えば、チェックボックスで選択する方法などでもよい。
【００４４】
〔仮想デバイスオブジェクトがドロップ操作を受け付けたときの処理フロー〕
図１０（ａ）（ｂ）（ｃ）は、仮想デバイスアプリケーション４００が、仮想デバイスオブジェクト５０３上に表示された出力選択表示部分へのドロップ操作を受け付けた場合の処理フローである。
【００４５】
尚、Ｓ１００１〜Ｓ１０２９は各ステップを示し、ＣＰＵ２０１がＲＯＭ２０４、外部メモリ２０６に記憶された仮想デバイスアプリケーション４００、プリンタードライバー等をＲＡＭ２０３にロードして実行することで実現される。
【００４６】
まず、画面表示管理部４０５は、ユーザーによるファイルのドロップ操作が印刷部分へ行われたか判定する（Ｓ１００１）。ドロップ操作が印刷部分へ行われなかったと判定された場合、画面表示管理部４０５はユーザーによるファイルのドロップ操作がファクス部分へ行われたか判定する（Ｓ１００２）。ドロップ操作がファクス部分へ行われなかったと判定された場合、仮想デバイスアプリケーション４００は、処理を終了する。
【００４７】
Ｓ１００１でドロップ操作が印刷部分へ行われたと判定された場合、仮想デバイスアプリケーション４００は、印刷部分にドロップされたときの処理を行う（Ｓ１００３）。Ｓ１００２でドロップ操作がファクス部分へ行われたと判定された場合、仮想デバイスアプリケーション４００は、ファクス部分にドロップされたときの処理を行う（Ｓ１００４）。
【００４８】
Ｓ１０１１〜Ｓ１０１９は、印刷部分にドロップされたときの仮想デバイスアプリケーション４００の処理を示している。まず、仮想デバイスオブジェクト管理部４０３は、仮想デバイスオブジェクト６０１に関連付けられた印刷用プリンターオブジェクト６０２を取得する。さらに、仮想デバイスオブジェクト管理部４０３は、取得した印刷用プリンターオブジェクト６０２が、プリンターオブジェクト情報取得部４０６から取得したプリンターオブジェクトの一覧に存在するか確認する（Ｓ１０１１）。印刷用プリンターオブジェクト６０２が存在する場合、出力制御部４０１は印刷用プリンターオブジェクト６０２に割り当てられるプリンタードライバーへドロップされたファイルの出力指示を行う（Ｓ１０１２）。これによりファイルに基づいて画像処理装置が印刷を行う。具体的には前述したようにプリンタードライバーがファイルを出力指示情報に変換して、印刷装置に変換した出力指示情報を画像処理装置に送信することにより行う。
【００４９】
印刷用プリンターオブジェクト６０２が存在しない場合、仮想デバイスオブジェクト管理部４０３は、仮想デバイスオブジェクト６０１に割り当てられたファクス送信用プリンターオブジェクト６０３を取得する。
【００５０】
ここでプリンターオブジェクトが存在しない場合とは、例えばユーザーが仮想デバイスオブジェクトに割り当てられているプリンターオブジェクトを削除した場合が考えられる。
【００５１】
さらに、仮想デバイスオブジェクト管理部４０３は、取得したファクス送信用プリンターオブジェクト６０３が、プリンターオブジェクト情報取得部４０６から取得したプリンターオブジェクトの一覧に存在するか確認する（Ｓ１０１３）。ファクス送信用プリンターオブジェクト６０３が存在する場合、画面表示管理部４０５は、ユーザーに“印刷用プリンターオブジェクトが削除されました。再設定しますか”と問う旨の確認画面を画面に出力する（Ｓ１０１４）。画面表示管理部４０５は、ユーザーが確認画面に対して再設定すると選択したか否かを判定する（Ｓ１０１５）。ユーザーが確認画面に対して再設定すると選択しなかった場合、仮想デバイスアプリケーション４００は、処理を終了する。ユーザーが確認画面に対して再設定すると選択した場合、画面表示管理部４０５はユーザーからプリンターオブジェクトの変更を受け付ける設定画面を表示する（Ｓ１０１６）。Ｓ１０１６で表示する設定画面は、図９に示す９０１である。Ｓ１０１３において、ファクス送信用プリンターオブジェクト６０３が存在しない場合、画面表示管理部４０５は、“ガジェットを設定または削除するか”という旨の確認画面を画面に出力する（Ｓ１０１７）。
【００５２】
なお、本明細書ではガジェット（ウィジェット）と仮想デバイスオブジェクトは同義である。
【００５３】
画面表示管理部４０５は、ユーザーが確認画面に対して、ガジェットを設定するか、削除するか、いずれも選択しなかったかを判定する（Ｓ１０１８）。ユーザーが確認画面に対して設定すると選択した場合、画面表示管理部４０５は設定画面を表示する（Ｓ１０１６）。ユーザーが確認画面に対して削除すると選択した場合、仮想デバイスオブジェクト管理部４０３は仮想デバイスオブジェクト６０１を削除する（Ｓ１０１９）。ユーザーが確認画面に対して設定または削除のいずれも選択しなかった場合、仮想デバイスアプリケーション４００は処理を終了する。
【００５４】
Ｓ１０２１〜Ｓ１０２９は、ファクス部分にファイルがドロップされたときの仮想デバイスアプリケーション４００の処理を示している。
【００５５】
まず、仮想デバイスオブジェクト管理部４０３は、仮想デバイスオブジェクト６０１に関連付けられたファクス送信用プリンターオブジェクト６０３を取得する。さらに、仮想デバイスオブジェクト管理部４０３は、取得したファクス送信用プリンターオブジェクト６０３が、プリンターオブジェクト情報取得部４０６から取得したプリンターオブジェクトの一覧に存在するか確認する（Ｓ１０２１）。ファクス送信用プリンターオブジェクト６０３が存在する場合、出力制御部４０１はファクス送信用プリンターオブジェクト６０３に割り当てられるプリンタードライバーへドロップされたファイルの出力指示を行う（Ｓ１０２２）。これによりファイルに基づいて画像処理装置がファクス送信する。具体的には前述したようにプリンタードライバーがファイルを出力指示情報に変換して、印刷装置に変換した出力指示情報を画像処理装置に送信することにより行う。
【００５６】
ファクス送信用プリンターオブジェクト６０３が存在しない場合、仮想デバイスオブジェクト管理部４０３は、仮想デバイスオブジェクト６０１に関連付けられた印刷用プリンターオブジェクトを取得する。さらに、仮想デバイスオブジェクト管理部４０３は、取得した印刷用プリンターオブジェクト６０２が、プリンターオブジェクト情報取得部４０６から取得したプリンターオブジェクトの一覧に存在するか確認する（Ｓ１０２３）。印刷用プリンターオブジェクト６０２が存在する場合、画面表示管理部４０５は、ユーザーに“ファクス送信用プリンターオブジェクトが削除されました。再設定しますか”と問う旨の確認画面を画面に出力する（Ｓ１０２４）。画面表示管理部４０５は、ユーザーが確認画面に対して再設定すると選択したか否かを判定する（Ｓ１０２５）。ユーザーが確認画面に対して再設定すると選択なかった場合、仮想デバイスアプリケーション４００は、処理を終了する。ユーザーが確認画面に対して再設定すると選択した場合、画面表示管理部４０５は設定画面を表示する（Ｓ１０２６）。Ｓ１０２６で表示する設定画面は、図９に示す９０１である。Ｓ１０２３において、印刷用プリンターオブジェクト６０２が存在しない場合、画面表示管理部４０５は、“ガジェットを設定または削除するか”という旨の確認画面を画面に出力する（Ｓ１０２７）。画面表示管理部４０５は、ユーザーが確認画面に対して、ガジェットを設定するか、削除するか、いずれも選択しなかったかを判定する（Ｓ１０２８）。ユーザーが確認画面に対して設定すると選択した場合、画面表示管理部４０５は、設定画面を表示する（Ｓ１０２６）。ユーザーが確認画面に対して削除すると選択した場合、仮想デバイスオブジェクト管理部４０３は仮想デバイスオブジェクト６０１を削除する（Ｓ１０２９）。ユーザーが確認画面に対して設定または削除のいずれも選択しなかった場合、仮想デバイスアプリケーション４００は、処理を終了する。本処理フローの結果、ユーザーが仮想デバイスオブジェクトに対してドロップ操作をしたときに、所望の操作を実現するプリンターオブジェクトが存在しない場合でも、ユーザーは適切な確認画面を受け取ることができ、利便性が向上する。
【００５７】
〔起動時に仮想デバイスオブジェクトに割り当てられたプリンタードライバーが存在するか確認するときの処理フロー〕
図１１（ａ）（ｂ）は、仮想デバイスアプリケーション４００が起動する時に、全ての仮想デバイスオブジェクトに対して、各仮想デバイスオブジェクトに割り当てられたプリンターオブジェクトが存在するかを確認するときの処理フローである。この処理を起動チェックと呼ぶ。
【００５８】
尚、Ｓ１１０１〜Ｓ１１１５は各ステップを示し、ＣＰＵ２０１がＲＯＭ２０４、外部メモリ２０６に記憶された仮想デバイスアプリケーション４００、プリンタードライバー等をＲＡＭ２０３にロードして実行することで実現される。
【００５９】
仮想デバイスオブジェクト管理部４０３は、起動チェックしていない仮想デバイスオブジェクト６０１を選択する（Ｓ１１０１）。選択する順番は任意であり、例えば、仮想デバイスオブジェクト６０１が仮想デバイスアプリケーション４００に登録された順番で選択しても良い。次に、仮想デバイスアプリケーション４００は、選択した仮想デバイスオブジェクト６０１の起動チェックをする（Ｓ１１０２）。この確認の処理フローに関しては後述する。その後、仮想デバイスアプリケーション４００は、起動チェックしていない仮想デバイスオブジェクト６０１が存在するか確認する（Ｓ１１０３）。もし存在していなければ処理を終了する。存在していれば、Ｓ１１０１〜Ｓ１１０３の処理を繰り返す。
【００６０】
Ｓ１１１１〜Ｓ１１１５は、仮想デバイスアプリケーション４００が仮想デバイスオブジェクト６０１の起動チェックをするフローである。
【００６１】
まず、仮想デバイスオブジェクト管理部４０３は、プリンターオブジェクト情報取得部４０６から、仮想デバイスオブジェクト６０１に割り当てられた印刷用プリンターオブジェクト６０２が存在するかの情報を取得する（Ｓ１１１１）。存在する場合、仮想デバイスアプリケーション４００は本フローの処理を終了する。存在しない場合、仮想デバイスオブジェクト管理部４０３は、プリンターオブジェクト情報取得部４０６から、仮想デバイスオブジェクト６０１に割り当てられたファクス送信用プリンターオブジェクト６０３が存在するか確認する（Ｓ１１１２）。存在する場合、仮想デバイスアプリケーション４００は本フローの処理を終了する。存在しない場合、画面表示管理部４０５は“ガジェットは、設定された印刷用、ファクス送信用プリンターオブジェクトが存在しません。ガジェットを削除しますか”という旨の確認画面を表示部２０２に出力する（Ｓ１１１３）。仮想デバイスオブジェクト管理部４０３はユーザーが確認画面に対して“削除する”を選択したかどうかを判断する（Ｓ１１１４）。“削除する”をユーザーにより指示された場合、仮想デバイスオブジェクト管理部４０３は、仮想デバイスオブジェクト６０１を削除する（Ｓ１１１５）。“削除する”をユーザーにより指示されなかった場合に仮想デバイスアプリケーション４００は本フローの処理を終了する。
【００６２】
図１１の結果、仮想デバイスアプリケーションの起動時に、仮想デバイスオブジェクトに割り当てられたプリンターオブジェクトが存在しない場合、ユーザーに仮想デバイスオブジェクトの削除をうながすことができる。そのため、仮想デバイスオブジェクトに割り当てられたプリンターオブジェクトが存在しない仮想デバイスオブジェクトに対してユーザーが出力操作を間違えて行う誤操作を減らすことができる。
【００６３】
〔仮想デバイスオブジェクトの実行可否を表示するフロー〕
図１２は、仮想デバイスアプリケーション４００が、ユーザーから、仮想デバイスオブジェクト５０３に割り当てられたプリンターオブジェクトの存在しない仮想デバイスオブジェクト５０３上へのファイルのドラッグを受け付けたときの処理フローである。
【００６４】
本処理フローは、仮想デバイスオブジェクト６０１に割り当てられたプリンターオブジェクトが存在しないという情報を、仮想デバイスオブジェクト管理部４０３が保持している場合である。
【００６５】
情報の保持方法としては例えば、仮想デバイスオブジェクト管理部４０３が印刷用プリンターオブジェクト６０２とファクス送信用プリンターオブジェクト６０３が存在するか否かのフラグを保持する方法がある。この場合、仮想デバイスオブジェクト管理部４０３は、図１０、図１１の処理フローでプリンターオブジェクトが存在しないと判定された場合、判定したプリンターオブジェクトのフラグを“存在しない”に設定する。
【００６６】
フラグを保持して処理を行う理由としては、プリンターオブジェクト情報取得部４０６からプリンターオブジェクトを取得する処理には時間がかかる場合があることが挙げられる。このような場合はファイルのドラッグ時にプリンターオブジェクトの存在確認をすると、出力選択表示部分の表示に時間がかかり、ユーザーの利便性を損なう。よって、フラグを保持して処理を行うことによりプリンターオブジェクトをＯＳから取得する処理をしなくて済み、実行可否を表示する処理を高速化することができるため、ユーザーの利便性が向上する。
【００６７】
なお、仮想デバイスオブジェクト６０１に割り当てられたプリンターオブジェクトが存在しないという情報を仮想デバイスオブジェクト管理部４０３が保持しなくてもよい。その場合はプリンターオブジェクト情報取得部４０６からプリンターオブジェクトを取得する処理を行なう。
【００６８】
図１２において、Ｓ１２０１〜Ｓ１２０４は各ステップを示し、ＣＰＵ２０１がＲＯＭ２０４、外部メモリ２０６に記憶された仮想デバイスアプリケーション４００、プリンタードライバー等をＲＡＭ２０３にロードして実行することで実現される。
【００６９】
まず、仮想デバイスオブジェクト管理部４０３は、仮想デバイスオブジェクト６０１に割り当てられた印刷用プリンターオブジェクト６０２が存在するかを確認する（Ｓ１２０１）。存在しない場合、画面表示管理部４０５は出力選択表示部分の印刷用部分を利用不可状態にする（Ｓ１２０３）。
【００７０】
利用不可状態とは例えば印刷選択表示部分がユーザーによる選択が不可能なことを示す状態であるか又は印刷選択表示部分が非表示の状態である。本発明はこれらの実施方法に限定されない。
【００７１】
次に、仮想デバイスオブジェクト管理部４０３は、仮想デバイスオブジェクト６０１に割り当てられたファクス送信用プリンターオブジェクト６０３が存在するかを確認する（Ｓ１２０２）。存在しない場合、画面表示管理部４０５は、出力選択表示部分のファクス送信部分を利用不可状態にする（Ｓ１２０４）。
【００７２】
なお、図１２の処理フローは図１１と同じく仮想デバイスアプリケーション４００が起動する時に、全ての仮想デバイスオブジェクトに対して行なっても構わない。
本処理フローの結果、仮想デバイスオブジェクトに割り当てられたプリンターオブジェクトが存在しない仮想デバイスオブジェクトに対してユーザーが出力操作を間違えて行う操作を防ぐことが可能となる。
【００７３】
（実施例２）
実施例１では、仮想デバイスアプリケーション４００の起動時、または仮想デバイスオブジェクト５０３上に表示された出力選択表示部分へのドロップ操作を受け付けた場合に、プリンターオブジェクトの存在確認を行う例を示した。
【００７４】
本実施例では、よりユーザーの利便性を向上するため、仮想デバイスアプリケーション４００がプリンターオブジェクトに設定されている出力ポートを監視し、プリンターオブジェクトの削除を検知する例を示す。
【００７５】
以下で、本実施形態における、仮想デバイスアプリケーション４００の処理における実施例１との差異を、図１３のフローチャートを用いて説明する。なお、本実施例の各処理フローは、ＣＰＵ（２０１）がＲＯＭ（２０４）、外部メモリ（２０６）に記憶された仮想デバイスアプリケーション（４００）やプリンタードライバー等をＲＡＭ（２０３）にロードして実行することで実現される。また、特に断りが無ければ、本実施例の仮想デバイスアプリケーションは実施例１の構成と同様である。
【００７６】
本実施形態でプリンターオブジェクトが削除されたことを検知可能なのは、プリンターオブジェクトに設定されている出力ポートが、仮想デバイスアプリケーション４００のアプリケーション対応ポートの場合である。ここで仮想デバイスアプリケーション４００のアプリケーション対応ポートとは、仮想デバイスアプリケーション４００がプリンターオブジェクトの状態を監視することができるポートを意味する。したがって、例えばプリンターオブジェクトに設定されているプリンタが共有プリンタの場合、共有プリンタのプリンターオブジェクトの出力ポートはアプリケーション対応ポートでないため、本実施形態に該当しない。
【００７７】
出力管理部４０２は仮想デバイスアプリケーション４００のアプリケーション対応ポートを介して、プリンターオブジェクトに割り当てられたプリンタードライバーが削除されることを検知する。検知後、仮想デバイスオブジェクト管理部４０３は、判定したプリンターオブジェクトのフラグを“存在しない“に設定する（Ｓ１３０１）。
【００７８】
なお、検知時に、画面表示管理部４０５は、“ガジェットを設定するか”や“ガジェットを設定または削除するか”という旨の確認画面を画面に出力し、ガジェットの設定や削除を行ってもよい。具体的な実現手順はＳ１０１３〜Ｓ１０１９、Ｓ１０２３〜Ｓ１０２９で説明した通りである。
【００７９】
実施例１の起動チェックでは仮想デバイスオブジェクトに割り当てられている印刷用プリンターオブジェクト又はファクス送信用プリンターオブジェクトの片方が削除されていてもユーザーに設定を促さない。本実施例ではこうしたチェックされなかったプリンターオブジェクトについてもユーザーに削除された時点で仮想デバイスオブジェクトの設定を促すことができる。
【００８０】
さらに実施例１では割り当てられている印刷用プリンターオブジェクトが存在する仮想デバイスオブジェクト上の印刷部分へのファイルのドロップ後にファクス送信用プリンターオブジェクトが存在するかはチェックしない。これは逆も然りである。本実施例ではこうしたチェックされなかったプリンターオブジェクトについてもユーザーに削除された時点でプリンターオブジェクトの削除を検知する。検知に基づいて実行できない旨を表示するか又はユーザーに仮想デバイスオブジェクトの設定・削除を促すことができる。これにより仮想デバイスオブジェクトに割り当てられたプリンターオブジェクトが存在しない仮想デバイスオブジェクトに対してユーザーが出力操作を間違えて行う操作を防ぐことが可能となる。
【００８１】
（実施例３）
実施例１では、仮想デバイスアプリケーション４００が、仮想デバイスオブジェクト５０３上に表示された出力選択表示部分へのドロップ操作を受け付けた場合に、プリンターオブジェクトの存在確認を行う例を示した。
【００８２】
本実施例では仮想デバイスアプリケーション４００が仮想デバイスオブジェクトに対するドロップ操作を受け付けた場合の他の処理方法を示す。対応するプリンターオブジェクトが存在するときでも仮想デバイスオブジェクト６０１に割り当てられた他のプリンターオブジェクトの存在確認を行う例である。
【００８３】
以下で、本実施形態における、仮想デバイスアプリケーション４００の処理における実施例１との差異を、図１４（ａ）（ｂ）のフローチャートを用いて説明する。なお、本実施例の各処理フローは、ＣＰＵ（２０１）がＲＯＭ（２０４）、外部メモリ（２０６）に記憶された仮想デバイスアプリケーション（４００）やプリンタードライバー等をＲＡＭ（２０３）にロードして実行することで実現される。また、特に断りが無ければ、本実施例の仮想デバイスアプリケーションは実施例１の構成と同様である。
【００８４】
Ｓ１４０１〜Ｓ１４０３は、仮想デバイスオブジェクト５０３に割り当てられた印刷用プリンターオブジェクトが存在する状態を前提とする。この前提のもとで仮想デバイスオブジェクト５０３の印刷部分にファイルがドロップされたときの仮想デバイスアプリケーション４００の処理を示している。この処理フローは実施例１の図１０のＳ１０１２の処理を置き換えることにより実現できる。
【００８５】
まず、出力制御部４０１は、印刷用プリンターオブジェクト６０２に割り当てられるプリンタードライバーへ出力指示を行う（Ｓ１４０１）。次に、仮想デバイスオブジェクト管理部４０３は仮想デバイスオブジェクト６０１に割り当てられたファクス送信用プリンターオブジェクト６０３を取得する。さらに、仮想デバイスオブジェクト管理部４０３は取得したファクス送信用プリンターオブジェクト６０３がプリンターオブジェクト情報取得部４０６から取得したプリンターオブジェクトの一覧に存在するか確認する（Ｓ１４０２）。存在する場合、仮想デバイスアプリケーション４００は本フローの処理を終了する。存在しない場合、仮想デバイスオブジェクト管理部４０３は、ファクス送信用プリンターオブジェクト６０３のフラグを“存在しない”に設定する（Ｓ１４０３）。
【００８６】
Ｓ１４１１〜Ｓ１４１３は、ファクス送信用プリンターオブジェクトが存在する状態で、仮想デバイスオブジェクト５０３上のファクス部分にファイルをドロップされたときの仮想デバイスアプリケーション４００の処理を示している。この処理フローは実施例１の図１０のＳ１０２２を置き換えることにより実現できる。
【００８７】
まず、出力制御部４０１は、ファクス送信用プリンターオブジェクト６０３に割り当てられるプリンタードライバーへ出力指示を行う（Ｓ１４１１）。次に、仮想デバイスオブジェクト管理部４０３は仮想デバイスオブジェクト６０１に割り当てられた印刷用プリンターオブジェクト６０２を取得する。さらに、仮想デバイスオブジェクト管理部４０３は取得した印刷用プリンターオブジェクト６０２がプリンターオブジェクト情報取得部４０６から取得したプリンターオブジェクトの一覧に存在するか確認する（Ｓ１４１２）。存在する場合、仮想デバイスアプリケーション４００は本フローの処理を終了する。存在しない場合、仮想デバイスオブジェクト管理部４０３は印刷用プリンターオブジェクト６０２のフラグを“存在しない”に設定する（Ｓ１４１３）。
【００８８】
本処理フローの結果、ユーザーは仮想デバイスオブジェクト６０１による出力指示実行前に、該当出力指示が実行不可である事を認識でき（図１２の処理フロー）、利便性が向上する。
【００８９】
実施例２ではプリンターオブジェクトに設定されている出力ポートが、仮想デバイスアプリケーション４００のアプリケーション対応ポートである場合にプリンターオブジェクトの削除を検知する方法を記載した。本実施例ではプリンターオブジェクトの出力ポートがアプリケーション対応ポートではない場合であっても、ファイルのドロップ時にプリンターオブジェクトの削除をチェックする。チェックに基づいて実行できない旨を表示するか又はユーザーに仮想デバイスオブジェクトの設定・削除を促すことができる。これにより仮想デバイスオブジェクトに割り当てられたプリンターオブジェクトが存在しない仮想デバイスオブジェクトに対してユーザーが出力操作を間違えて行う操作を防ぐことが可能となる。
【００９０】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。
【００９１】
即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005995460.tif 000002
【図２】
0005995460.tif 000003
【図３】
0005995460.tif 000004
【図４】
0005995460.tif 000005
【図５】
0005995460.tif 000006
【図６】
0005995460.tif 000007
【図７】
0005995460.tif 000008
【図８】
0005995460.tif 000009
【図９】
0005995460.tif 000010
【図１０】
0005995460.tif 000011
【図１１】
0005995460.tif 000012
【図１２】
0005995460.tif 000013
【図１３】
0005995460.tif 000014
【図１４】
0005995460.tif 000015