(57)【特許請求の範囲】
【請求項１】
複数の機能を提供するデバイスを管理するデバイス管理手段と、
前記デバイスが提供する複数の機能のうち、一の機能を利用する利用手段と、
を有し、
前記デバイス管理手段は、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに基づいて前記デバイスが提供する複数の機能のうち、前記一の機能とは別の機能が利用可能か否かを確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定し、
前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定する情報処理装置。
【請求項２】
前記利用手段は、前記デバイスが提供する複数の機能のうち、一の機能としてスキャナ機能を利用し、
前記デバイス管理手段は、前記デバイス管理制御用データに基づいて前記デバイスが提供する複数の機能のうち、前記一の機能とは別の機能としてストレージ機能が利用可能か否かを確認する請求項１記載の情報処理装置。
【請求項３】
前記利用手段は、前記デバイスが提供する複数の機能のうち、一の機能としてスキャナ機能を利用し、
前記デバイス管理手段は、前記デバイス管理制御用データに基づいて前記デバイスが提供する複数の機能のうち、前記一の機能とは別の機能としてプリンタ機能が利用可能か否かを確認する請求項１記載の情報処理装置。
【請求項４】
前記デバイス管理手段は、前記デバイスとの接続のインタフェースに応じて、前記プリンタ機能が利用可能か否かを確認する請求項３記載の情報処理装置。
【請求項５】
前記デバイス管理手段は、前記確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトにデバイス名を含む引数を設定し、前記オブジェクトを構築する請求項１乃至４何れか１項記載の情報処理装置。
【請求項６】
前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいて前記引数が示すデバイスが不明なデバイスか否かを判定し、不明なデバイスであると判定した場合、デバイスを選択するダイアログを表示し、不明なデバイスでないと判定した場合、前記引数に基づいてデバイスを設定する請求項１乃至５何れか１項記載の情報処理装置。
【請求項７】
監視対象のデバイスの状態を確認し、確認した結果に応じて監視対象のデバイスの状態を表す情報を監視対象のデバイスに対応する状態情報の値に反映させる反映手段と、
前記デバイスを管理するデバイス管理手段と、
前記デバイスが提供する機能を利用する利用手段と、
を有し、
前記デバイス管理手段は、デバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記状態情報を示す情報に基づいて前記状態情報の値を確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定し、
前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定する情報処理装置。
【請求項８】
前記反映手段は、前記デバイスごとにデバイスがオンラインか否かを確認するポーリングスレッドを起動し、各ポーリングスレッドにおいて、デバイスがオンラインであると判定した場合は、前記状態情報の値を一つ増やし、デバイスがオンラインでないと判定した場合は、前記状態情報の値を一つ減らすことで、監視対象のデバイスの状態を表す情報を監視対象のデバイスに対応する前記状態情報の値に反映させる請求項７記載の情報処理装置。
【請求項９】
デバイスを管理するデバイス管理手段と、
前記デバイスが提供する機能を利用する利用手段と、
を有し、
前記デバイス管理手段は、前記利用手段へのリンクを表すオブジェクトに、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記デバイスのドライバのモデル名を引数として設定し、
前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数のモデル名に基づいてデバイスのドライバを選択し、選択したデバイスのドライバに基づいてデバイスを設定する情報処理装置。
【請求項１０】
前記利用手段は、前記引数に基づいてインストールされているドライバの中からドライバ名として前記引数のモデル名が含まれるものを検索し、検索の結果、複数のドライバが存在する場合、各ドライバに対応するデバイスに対して通信テストを行い、通信テストの結果に基づいてデバイスのドライバを選択し、選択したドライバに基づいてデバイスを設定する請求項９記載の情報処理装置。
【請求項１１】
前記利用手段は、前記引数に基づいてインストールされているドライバの中からドライバ名として前記引数のモデル名が含まれるものを検索し、検索の結果、複数のドライバが存在する場合、各ドライバに対応するデバイスに対して通信テストを行い、通信テストの結果、通信をすることができるデバイスが複数、存在した場合、通信速度に基づいてデバイスのドライバを選択し、選択したドライバに基づいてデバイスを設定する請求項１０記載の情報処理装置。
【請求項１２】
複数の機能を提供するデバイスを管理するデバイス管理手段と、
前記デバイスが提供する複数の機能のうち、一の機能を利用する利用手段と、
を有する情報処理装置における情報処理方法であって、
前記デバイス管理手段が、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに基づいて前記デバイスが提供する複数の機能のうち、前記一の機能とは別の機能が利用可能か否かを確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定する設定ステップと、
前記利用手段が、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定する設定ステップと、
を有する情報処理方法。
【請求項１３】
反映手段と、
監視対象のデバイスを管理するデバイス管理手段と、
前記デバイスが提供する機能を利用する利用手段と、
を有する情報処理装置における情報処理方法であって、
前記反映手段が、前記デバイスの状態を確認し、確認した結果に応じて監視対象のデバイスの状態を表す情報を監視対象のデバイスに対応する状態情報の値に反映させる反映ステップと、
前記デバイス管理手段が、デバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記状態情報を示す情報に基づいて前記状態情報の値を確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定する設定ステップと、
前記利用手段が、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定する設定ステップと、
を有する情報処理方法。
【請求項１４】
デバイスを管理するデバイス管理手段と、
前記デバイスが提供する機能を利用する利用手段と、
を有する情報処理装置における情報処理方法であって、
前記デバイス管理手段が、前記利用手段へのリンクを表すオブジェクトに、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記デバイスのドライバのモデル名を引数として設定する設定ステップと、
前記利用手段が、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数のモデル名に基づいてデバイスのドライバを選択し、選択したデバイスのドライバに基づいてデバイスを設定する設定ステップと、
を有する情報処理方法。
【請求項１５】
コンピュータを、
複数の機能を提供するデバイスを管理するデバイス管理手段と、
前記デバイスが提供する複数の機能のうち、一の機能を利用する利用手段と、
して機能させるプログラムであって、
前記デバイス管理手段は、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに基づいて前記デバイスが提供する複数の機能のうち、前記一の機能とは別の機能が利用可能か否かを確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定し、
前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定するプログラム。
【請求項１６】
コンピュータを、
監視対象のデバイスの状態を確認し、確認した結果に応じて監視対象のデバイスの状態を表す情報を監視対象のデバイスに対応する状態情報の値に反映させる反映手段と、
前記デバイスを管理するデバイス管理手段と、
前記デバイスが提供する機能を利用する利用手段と、
して機能させるプログラムであって、
前記デバイス管理手段は、デバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記状態情報を示す情報に基づいて前記状態情報の値を確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定し、
前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定するプログラム。
【請求項１７】
コンピュータを、
デバイスを管理するデバイス管理手段と、
前記デバイスが提供する機能を利用する利用手段と、
して機能させるプログラムであって、
前記デバイス管理手段は、前記利用手段へのリンクを表すオブジェクトに、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記デバイスのドライバのモデル名を引数として設定し、
前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数のモデル名に基づいてデバイスのドライバを選択し、選択したデバイスのドライバに基づいてデバイスを設定するプログラム。
【請求項１８】
前記状態情報は、レジストリに保存されることを特徴とする請求項７又は８記載の情報処理装置。
【請求項１９】
前記状態情報は、レジストリに保存されることを特徴とする請求項１３記載の情報処理方法。
【請求項２０】
前記状態情報は、レジストリに保存されることを特徴とする請求項１６記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ＵＳＢ、Ｅｔｈｅｒｎｅｔ（登録商標）、無線ＬＡＮ等の様々なインタフェースを利用して、情報処理装置に周辺装置を接続した周辺装置制御システムが、自宅やオフィス等、様々な場面で有効に活用されている。周辺装置の例としては、例えば、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能等が挙げられる。
Ｗｉｎｄｏｗｓ（登録商標）  ７では、パーソナルコンピュータ（以下、ＰＣと略す場合がある）等の情報処理装置に接続された周辺装置を管理する新しい機能が導入される。ＰＣに接続された装置を表示するウィンドウであるＤｅｖｉｃｅｓ  ａｎｄ  Ｐｒｉｎｔｅｒｓフォルダと各周辺装置に特有なアプリケーションやサービスとへのリンク機能を備えるＤｅｖｉｃｅ  Ｓｔａｇｅ（登録商標）である。Ｄｅｖｉｃｅｓ  ａｎｄ  Ｐｒｉｎｔｅｒｓフォルダの画面（後述する図５（ａ））は、Ｗｉｎｄｏｗｓの「スタートメニュー」から表示することができる。Ｄｅｖｉｃｅｓ  ａｎｄ  Ｐｒｉｎｔｅｒｓフォルダからは更に各周辺装置のＤｅｖｉｃｅ  Ｓｔａｇｅ画面（後述する図５（ｂ））を開くことができる。Ｄｅｖｉｃｅ  Ｓｔａｇｅではビジュアルな画面を提供でき、ユーザが簡単に装置に関連する機能やサービスにアクセスすることができるようになる。ここで、周辺装置の例として、スキャナの例を挙げる。例えば、画像やドキュメントの読取りが可能なアプリケーションへのリンクをＤｅｖｉｃｅ  Ｓｔａｇｅ画面上から提供すること等が考えられる。この例の場合、Ｄｅｖｉｃｅ  Ｓｔａｇｅ画面から、画像やドキュメントの読取りが可能なアプリケーションを起動して、周辺装置（スキャナ）を使って画像やドキュメントを読取ること等ができる。また、インターネットの普及に伴い、情報処理装置や周辺装置をインターネットに接続し、インターネットを利用した様々なオンラインサービスも提供されている。例えば、メーカーがインターネット上で提供するサポートサイトのリンクをＤｅｖｉｃｅ  Ｓｔａｇｅ画面上に設けることで、ユーザが簡単に装置に関連するサイトにアクセスできるようにするといった活用例も挙げられる。以下、Ｄｅｖｉｃｅ  Ｓｔａｇｅをデバイス管理画面と呼んで説明する場合がある。
【０００３】
周辺装置の例としてプリンタ、ＦＡＸ、スキャナ、ストレージを搭載したマルチファンクションプリンタ（以下、ＭＦＰと略す場合がある）を挙げる。従来、アプリケーションからＭＦＰのスキャナ機能を利用して画像やドキュメントを読取る場合、一般的に次に示すような操作手順により行われている。
（１−１）  アプリケーションを起動する。
（１−２）  アプリケーション内のスキャナ選択部で、入力装置であるスキャナ（ドライバ）を選択する。
（１−３）  アプリケーション上から、読取りを実行する。
例えば、ＭＦＰやスキャナ等の複数の入力装置が１台のＰＣに接続されていて、それらのドライバがインストールされている場合を考える。すると、一度、読取りを実行した後は、最後に選択された入力装置が、次回このアプリケーションを起動するときのデフォルトデバイスとして、選択された状態となっているケースが多い。
従来例としては、例えば特許文献１に示すような技術が存在する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−８５１３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
Ｄｅｖｉｃｅ  Ｓｔａｇｅからリンクされたアプリケーションを起動して、ＭＦＰにセットされた画像やドキュメントを読取る場合、一連の手順が従来とは多少異なる。より具体的には、Ｄｅｖｉｃｅ  Ｓｔａｇｅの画面が、Ｄｅｖｉｃｅｓ  ａｎｄ  Ｐｒｉｎｔｅｒｓフォルダを経由して表示されため、次に示すような操作手順となる。
（２−１）  Ｄｅｖｉｃｅｓ  ａｎｄ  Ｐｒｉｎｅｔｅｓフォルダを開く。
（２−２）  Ｄｅｖｉｃｅｓ  ａｎｄ  Ｐｒｉｎｅｔｅｓフォルダ内で、操作対象の周辺装置を選択する。
（２−３）  その周辺装置用のＤｅｖｉｃｅ  Ｓｔａｇｅ画面を開く。
（２−４）  Ｄｅｖｉｃｅ  Ｓｔａｇｅ画面上から、アプリケーションを起動する。
（２−５）  アプリケーション上から、読取りを実行する。
例えば、ＭＦＰやスキャナ等の複数の入力装置が１台のＰＣに接続されていて、それらのドライバがインストールされている場合において、アプリケーションからあるスキャナを使って一度読取りが行われていたケースを考える。このとき、アプリケーションにおいて、次回このアプリケーションを起動するときのデフォルトデバイスとして、このスキャナが選択された状態となっている。ここで、前記ステップ（２−１）〜（２−５）の操作により、前記スキャナとは異なるＭＦＰを使って、前記アプリケーションからこのＭＦＰにセットされている画像やドキュメントの読取りを実行することを試みる。ステップ（２−５）において、アプリケーション上から読取りを実行した場合、このアプリケーションは、このＭＦＰからではなく、このアプリケーション内でデフォルトデバイスと設定されているスキャナから画像やドキュメントの読取りを実行する。その結果、期待される画像やドキュメントを読取ることができず、画像やドキュメントの読取りに失敗する、という問題がある。
【０００６】
次に、ＭＦＰが、ＵＳＢやＥｔｈｅｒｎｅｔネットワーク等の複数のインタフェースを介して１台のＰＣに接続されているケースを考える。この様なケースの場合、接続されるインタフェースによって、ＭＦＰ用のドライバの名前が変わる。例えば、後述する図６に示すように、ＵＳＢ接続のＴＷＡＩＮドライバの場合は「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）」というドライバ名が、前記アプリケーション内のスキャナ選択部に表示される。また、ＩＨＶネイティブプロトコルのネットワーク接続のＴＷＡＩＮドライバの場合は「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  Ｎｅｔｗｏｒｋ」というドライバ名が、前記アプリケーション内のスキャナ選択部に表示される。ＭＦＰが、ＵＳＢとＥｔｈｅｒｎｅｔネットワークとの２つのインタフェースを介して１台のＰＣに接続されているとする。
まず、従来の操作手順により、ステップ（１−２）でアプリケーション内のスキャナ選択部でＵＳＢ接続のＴＷＡＩＮドライバ「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）」を選択する。そして、ステップ（１−３）でアプリケーション上からＵＳＢを介してＭＦＰで読取りを実行する。読取りが完了した時点では、アプリケーションにおいて、次回このアプリケーションを起動するときのデフォルトデバイスとして、このＵＳＢ接続のＴＷＡＩＮドライバ「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）」が選択された状態となっている。次に、ＭＦＰからＵＳＢケーブルを抜き、ＭＦＰがＥｔｈｅｒｎｅｔネットワークだけを介してＰＣに接続されている状態にする。この状態から、Ｄｅｖｉｃｅ  Ｓｔａｇｅからリンクされたアプリケーションを起動する。そして、ＩＨＶネイティブプロトコルのネットワーク接続のＴＷＡＩＮドライバ「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  Ｎｅｔｗｏｒｋ」を使って、Ｅｔｈｅｒｎｅｔネットワークを介してＭＦＰで読取りを実行することを試みる。ステップ（２−５）において、アプリケーション上から読取りを実行した場合、このアプリケーションは、以下のような動作を行う。アプリケーションは、アプリケーション内でデフォルトデバイスと設定されているＵＳＢ接続のＴＷＡＩＮドライバ「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）」を使って画像やドキュメントの読取りを実行しようとする。つまり、このアプリケーションは、ＩＨＶネイティブプロトコルのネットワーク接続のＴＷＡＩＮドライバ「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  Ｎｅｔｗｏｒｋ」は使わない。その結果、ＭＦＰがＵＳＢを介してＰＣと接続されていないため、期待される画像やドキュメントを読取ることができず、画像やドキュメントの読取りに失敗する、という問題もある。
【０００７】
本発明はこの様な問題点に鑑みなされたもので、ユーザの使用環境に応じて適切なデバイスの機能を提供することを目的とする。
【課題を解決するための手段】
【０００８】
そこで、本発明の情報処理装置は、複数の機能を提供するデバイスを管理するデバイス管理手段と、前記デバイスが提供する複数の機能のうち、一の機能を利用する利用手段と、を有し、前記デバイス管理手段は、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに基づいて前記デバイスが提供する複数の機能のうち、前記一の機能とは別の機能が利用可能か否かを確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定し、前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定する。
また、本発明の情報処理装置は、監視対象のデバイスの状態を確認し、確認した結果に応じて監視対象のデバイスの状態を表す情報を監視対象のデバイスに対応する状態情報の値に反映させる反映手段と、前記デバイスを管理するデバイス管理手段と、前記デバイスが提供する機能を利用する利用手段と、を有し、前記デバイス管理手段は、デバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記状態情報を示す情報に基づいて前記状態情報の値を確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定し、前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定する。
また、本発明の情報処理装置は、デバイスを管理するデバイス管理手段と、前記デバイスが提供する機能を利用する利用手段と、を有し、前記デバイス管理手段は、前記利用手段へのリンクを表すオブジェクトに、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記デバイスのドライバのモデル名を引数として設定し、前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数のモデル名に基づいてデバイスのドライバを選択し、選択したデバイスのドライバに基づいてデバイスを設定する。
【発明の効果】
【０００９】
本発明によれば、ユーザの使用環境に応じて適切なデバイスの機能を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置及び周辺装置からなる周辺装置制御システムのシステム構成の一例を示す図である。
【図２】ＰＣ及びＭＦＰのハードウェア構成の一例を表す図である。
【図３】ＰＣのソフトウェア構成の一例を表す図である。
【図４】ＰＣにおけるプリンタドライバの構成の一例を示す図である。
【図５】Ｄｅｖｉｃｅｓ  ａｎｄ  Ｐｒｉｎｔｅｒｓフォルダとデバイス管理画面との一例を示す図である。
【図６】ＷＩＡアプリケーションとＴＷＡＩＮアプリケーションとの一例を示す図である。
【図７】ＰＣのソフトウェア構成の一例を表す図である。
【図８】デバイス管理制御用ファイルの内容を表す図である。
【図９】デバイス管理制御用ファイルの内容を表す図である。
【図１０】デバイス管理とＴＷＡＩＮアプリケーションとのソフトウェア構成の一例を示す図である。
【図１１】デバイス接続時の処理の一例を示すフローチャートである。
【図１２】デバイス管理制御用ファイルのインストールの処理の一例を示すフローチャートである。
【図１３】デバイス管理画面の起動の処理の一例を示すフローチャートである。
【図１４】デバイス管理画面の表示内容の構築の処理の一例を示すフローチャートである。
【図１５】ＴＷＡＩＮアプリケーションの起動の処理の一例を示すフローチャートである。
【図１６】デバイス管理画面とマニュアルとの一例を示す図である。
【図１７】デバイス管理制御用ファイルの内容を表す図である。
【図１８】デバイス管理制御用ファイルの内容を表す図である。
【図１９】デバイス管理画面の表示内容の構築の処理の一例を示すフローチャートである。
【図２０】デバイス管理制御用ファイルの内容を表す図である。
【図２１】ネットワークユーティリティの一例を表す図である。
【図２２】ネットワークユーティリティの処理の一例を示すフローチャートである。
【図２３】デバイスＮ用ポーリング処理の一例を示すフローチャートである。
【図２４】デバイス管理画面の表示内容の構築の処理の一例を示すフローチャートである。
【図２５】ＴＷＡＩＮアプリケーションの起動の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。
尚、以下、Ｗｉｎｄｏｗｓ  ７  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの情報の内、特に詳しい説明を付加していないものに関しては、２００９年７月２２日現在、以下の参考サイト１で公開されている情報であるので、必要以上の説明を省略する。
参考サイト１：ｈｔｔｐ：／／ｍｓｄｎ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｅｎ−ｕｓ／ｌｉｂｒａｒｙ／ｄｅｆａｕｌｔ．ａｓｐｘ
また、以下、ＵＳＢとは、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓを表す。ＵＳＢに関しては、２００９年７月２２日現在、以下の参考サイト２で公開されている情報であるので、必要以上の説明を省略する。
参考サイト２：ｈｔｔｐ：／／ｗｗｗ．ｕｓｂ．ｏｒｇ／ｈｏｍｅ
また、以下において、ＷＳＤとは、Ｗｅｂ  Ｓｅｒｖｉｃｅ  ｏｎ  Ｄｅｖｉｃｅｓを表する。ＷＳＤに関しては、２００９年７月２２日現在、以下の参考サイト３で公開されている情報であるので、必要以上の説明を省略する。
参考サイト３：ｈｔｔｐ：／／ｗｗｗ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｗｈｄｃ／ｃｏｎｎｅｃｔ／ｒａｌｌｙ／ｒａｌｌｙｗｓｄ．ｍｓｐｘ
また、以下において、ＷＩＡとは、Ｗｉｎｄｏｗｓ  Ｉｍａｇｅ  Ａｃｑｕｉｓｉｔｉｏｎの略である。ＷＩＡは、Ｗｉｎｄｏｗｓ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ上でイメージスキャナ等から画像を入力するための標準インタフェース（ＡＰＩ）であるので、必要以上の説明を省略する。
また、以下において、ＴＷＡＩＮとは、ＴＷＡＩＮ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐによって管理されているＰＣとスキャナやデジタルカメラとの間のインタフェースである。ＴＷＡＩＮに関しては、２００９年７月２２日現在、以下の参考サイト４で公開されている情報であるので、必要以上の説明を省略する。
参考サイト４：ｈｔｔｐ：／／ｗｗｗ．ｔｗａｉｎ．ｏｒｇ／
【００１２】
＜実施形態１＞
図１は、情報処理装置及び周辺装置からなる周辺装置制御システムのシステム構成の一例を示す図である。図１において、１、２は、情報処理装置であり、一般的なパーソナルコンピュータ（以下、ＰＣと略す場合がある）で構成される。ＰＣ１、ＰＣ２は、図２（ａ）で後述するようなハードウェアで構成され、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（以下、ＯＳと略す場合がある）としてＷｉｎｄｏｗｓ  ７と同等のＯＳがインストールされている。
ＰＣ１、ＰＣ２は、それぞれＥｔｈｅｒｎｅｔ（登録商標）で構成されるネットワーク４、８に接続されている。３は、マルチファンクションプリンタ（以下、ＭＦＰと略す場合がある）であり、カラーインクジェットプリンタ、カラーファクシミリ、カラースキャナ、フラッシュメモリ用の外部ストレージ等で構成され、周辺装置の一例である。ＭＦＰ３は、ＡＢＣ社製のＫｍｍｎというモデル名のＭＦＰである。尚、周辺装置としては、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能（複数の機能）を備える装置等であってもよい。
【００１３】
ＭＦＰ３は、図２（ｂ）で後述するようなハードウェアで構成され、ＰＣ１とＵＳＢインタフェース１４及びネットワーク４を介して接続されており、互いに双方向通信が可能である。８０は、アプリケーションであり、Ｗｉｎｄｏｗｓ用の実行可能形式のファイル（＊．ＥＸＥ）で構成される。アプリケーションの一例として、デバイス管理８０は、後述する図５（ｂ）に示すようなデバイス管理画面を表示する機能を備える。１４２は、図６（ｂ）で後述するＴＷＡＩＮ対応のアプリケーションである。１４１は図７（ｂ）で後述するＴＷＡＩＮドライバである。ネットワーク４は、ＭＦＰ３を使用するユーザ（顧客）が住んでいる自宅に構築された一般家庭用のホームネットワークである。ＭＦＰ３は、この自宅内でネットワーク４を介してＰＣ１と接続されて家族間で共有使用されているＭＦＰである。ネットワーク８は、ＡＢＣ社内に構築されたオフィスネットワークである。ネットワーク８に接続されているＰＣ２は、Ｗｅｂサーバの機能を備えるＷｅｂサーバ９を備えており、インターネットを介してＡＢＣ社のＷｅｂサイトを提供している。１０は、ＰＣ１に挿入可能なＣＤ−ＲＯＭであり、ソフトウェア（プログラム）や電子ファイルが格納されている。１１、１２は、ファイル格納部であり、図８及び図９で後述するデバイス管理制御用ファイル８００は、Ｗｅｂサーバ９やＣＤ−ＲＯＭ１０内のファイル格納部１１、１２に格納されていて、これらから配布される。尚、デバイス管理制御用ファイル８００は、デバイス管理制御用データの一例である。５は、アナログ電話回線であり、ＰＣ１におけるＭＦＰ３を介したファクシミリの送信又は受信に使用される。６は、フラッシュメモリであり、ＭＦＰ３のフラッシュメモリ装着用のスロット（図では省略）に装着することで、ＰＣ１からストレージとして参照することができる。７は、ＭＦＰであり、ＸＹＺ社製のＤｅｆｇというモデルであり、ＭＦＰ３とは異なるデバイスである。
【００１４】
図２は、ＰＣ及びＭＦＰのハードウェア構成の一例を表す図である。ＰＣ１、ＰＣ２は、図２の（ａ）に示すようなハードウェアで構成されている。図２の（ａ）ではＰＣ１の例で説明する。図２の（ａ）に示す通り、ＰＣ１は、ランダムアクセスメモリ部（ＲＡＭ２０１）、ハードディスクドライブ部（ＨＤＤ２０２）、キーボード部（ＫＢＤ２０３）、ＣＰＵ２０４、を含む。また、ＰＣ１は、表示用ディスプレイ（ＬＣＤ２０５）、ネットワークボード（ＮＢ２０７）、を含む。また、ＰＣ１は、以上の構成要素を互いに接続するバス２０６を有する。尚、ＨＤＤ２０２は、記憶部の一例である。ＫＢＤ２０３は、入力部の一例である。ＣＰＵ２０４は、制御部の一例である。ＬＣＤ２０５は、表示部の一例である。ＮＢ２０７は、通信制御部の一例である。ＵＳＢインタフェース１４用のＵＳＢポートはＮＢ２０７に含まれる。尚、記憶部は、可搬性ＣＤ−ＲＯＭ又は内部据付のＲＯＭ等であってもよい。デバイス管理８０、ＴＷＡＩＮアプリケーション１４２等のアプリケーションや、図３、図４、図７、図１０に示す各モジュール（ソフトウェア）は、ＨＤＤ２０２に記憶され、必要に応じてＲＡＭ２０１に読み出されてＣＰＵ２０４により実行される。これにより、ＣＰＵ２０４が、デバイス管理（デバイス管理部）８０、ＴＷＡＩＮアプリケーション１４２等のアプリケーションや、図３、図４、図７、図１０に示す各モジュール（ソフトウェア）の機能を実現する。尚、ＴＷＡＩＮアプリケーション１４２は、利用手段の一例である。
【００１５】
ＭＦＰ３は、図２（ｂ）に示すようなハードウェア構成を持つ。図２（ｂ）において、１５は、マイクロプロセッサ等から構成されるＣＰＵである。ＣＰＵ１５は、ＭＦＰ３の中央処理装置として、ＲＯＭ１６に記憶されているプログラムに従って、ＲＡＭ１７、通信部１８、記録部１９、操作部２０、表示部２１、読取り部２２、ファクシミリ制御部２３、外部ストレージ制御部２４を制御する。ＲＯＭ１６にはプリンタドライバ５０（図４で後述する）の制御に従ってＭＦＰ３が記録（印刷）処理や、印刷動作の状態をＰＣ１へ通知する処理を行うプログラムが記憶されている。また、ＲＯＭ１６には、ＦＡＸドライバ（図は省略）の制御に従ってＭＦＰ３がファクシミリの送信又は受信処理や、ファクシミリの送信又は受信の状態をＰＣ１へ通知する処理を行うプログラムも記憶されている。更に、ＲＯＭ１６には、ＷＩＡドライバ７０４やＴＷＡＩＮドライバ１４１の制御に従ってＭＦＰ３が画像の読取り処理や、読取り動作の状態をＰＣ１へ通知する処理を行うプログラムも記憶されている。ＲＡＭ１７は主にＰＣ１から送られて、それをもとに記録部１９によって印刷される印字データが一時的に記憶される。また、ＲＡＭ１７には、読取り部２２で読取られた画像データ、ＰＣ１から送られてきたファクシミリの送信データ、ファクシミリ制御部で受信されたファクシミリの受信データ等も一時的に記憶される。
【００１６】
通信部１８には、ＵＳＢインタフェース１４、ネットワーク４用の接続ポート、アナログ電話回線５用の接続ポート等が含まれており、ＵＳＢ、Ｅｔｈｅｒｎｅｔ、ファクシミリのアナログ通信を制御する。記録部１９は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等から構成される記録ユニットと、前記印字データをもとに前記記録ヘッドにて印字用パルスを発生させるためのＡＳＩＣ等から構成される電気回路とから構成される。印刷可能なアプリケーション上での印刷操作、又はファクシミリの送信操作によって、アプリケーションで開かれているファイルの表示内容（画像データ）が、ＥＭＦ形式のスプールファイルとしてＰＣ１のＨＤＤ２０２に一時的に格納される。そして、スプールファイルは、プリンタドライバ５０、又はＦＡＸドライバを介してＭＦＰ３制御用コマンドを含む印字データ、又はファクシミリの送信データに変換された後、ＵＳＢインタフェース１４、又はネットワーク４を介してＭＦＰ３に送られる。ＭＦＰ３にて受信された印字データは、記録部１９で印字用パルスに変換されて、記録紙上に印刷される。ＭＦＰ３にて受信されたファクシミリの送信データは、ファクシミリ制御部２３でファクシミリの通信プロトコルに変換されて、アナログ電話回線５を介して相手先のファクシミリ装置に送信される。２０は、操作部であり、電源ボタン、リセットボタン等の各種ボタンから構成され、ＭＦＰ３を操作することができる。２１は、表示部であり、タッチパネルの液晶ディスプレイで構成され、ＭＦＰ３の状態の表示や、各種設定や電話番号の表示、入力等を行うことができる。２２は、読取り部であり、カラーイメージセンサや画像処理用のＡＳＩＣ等から構成される電気回路とから構成され、スキャナ機能を制御する。２３は、ファクシミリ制御部であり、ファクシミリ用のモデムやアナログ通信回路等から構成され、ファクシミリの通信プロトコルに従ってファクシミリの送信や受信を制御する。２４は、外部ストレージ制御部であり、フラッシュメモリ装着用のスロットやストレージ用のインタフェース回路等から構成され、装着されたフラッシュメモリを制御する。
【００１７】
図３は、ＰＣのソフトウェア構成の一例を表す図である。図３において、９２は、Ｅｔｈｅｒｎｅｔを制御するＥｔｈｅｒｎｅｔ制御スタックである。９１は、ＩＰ  Ｎｅｔｗｏｒｋを制御するＩＰ  Ｎｅｔｗｏｒｋ制御スタックである。９０は、ＷＳＤを制御するＷＳＤ制御スタックである。８９は、ＩＨＶの独自プロトコルを制御するＩＨＶネイティブプロトコル制御スタックである。８８は、ネットワークのプラグ  アンド  プレイ（以下、Ｎ−ＰｎＰと略す場合がある）を制御するＮ−ＰｎＰ制御スタックである。尚、ネットワーク接続デバイスに対するサポートを提供する、プラグ  アンド  プレイの一連の拡張機能としてＷｉｎｄｏｗｓ  ７  ＯＳに標準搭載されている機能として、Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ  Ｅｘｔｅｎｓｉｏｎｓ（ＰｎＰ−Ｘ）が存在する。しかし、本実施形態ではこれと同等の機能として前記Ｎ−ＰｎＰを利用する例で説明する。８５は、デバイスドライバ群であり、ＯＳに標準で同梱されている標準ドライバ群８７とＩＨＶから提供されるＩＨＶ製ドライバ群８６とから構成される。８４は、アプリケーション／ＤＤＩインタフェースであり、Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ（ＡＰＩ）、Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ（ＤＤＩ）から構成される。８０は、アプリケーションであり、ＯＳに標準で同梱されているデバイス管理（Ｄｅｖｉｃｅ  Ｍａｎａｇｅｍｅｎｔ）である。３０は、図４で後述する印刷可能なアプリケーションである。１４２は、ＴＷＡＩＮ対応のアプリケーションである。１４３は、図６（ａ）で後述するＷＩＡ対応のアプリケーションである。８２は、アプリケーション群であり、デバイス管理８０、アプリケーション３０、１４２、１４３等から構成される。デバイス管理８０は、図５（ａ）で後述するフォルダ５００や、図５（ｂ）で後述するデバイス管理画面６００を、アプリケーション／ＤＤＩインタフェース８４等を介して管理、実行、表示することができる。尚、フォルダ５００は、以下単にフォルダ５００と記す。
【００１８】
図４は、ＰＣにおけるプリンタドライバの構成の一例を示す図である。図４において、５０は、ＰＣ１にインストールされているＭＦＰ３用のプリンタドライバであり、３３〜３６、３９の複数のモジュールから構成される。３０は、印刷可能なアプリケーションであり、例えば、ＯＳに標準で同梱されているテキストエディタであるＮｏｔｅｐａｄ（Ｎｏｔｅｐａｄ．ｅｘｅ）等に相当する。３１は、Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ（ＧＤＩ）であり、ＯＳの一部である。３２は、プリンタキューであり、スプーラ４０の一部として構成され、印刷ジョブがキューイングされる。キューイングされた印刷ジョブは、後述する図１９に示すプリンタキューフォルダ１０７に表示される。３３は、プリントプロセッサであり、印刷レイアウトの変更や印刷画像に対する特殊処理が行われる。３４は、グラフィックスドライバであり、プリンタドライバの画像処理のコアとして、ＧＤＩ３１から送られて来る描画命令をもとに印刷用の画像処理を行い、印刷制御コマンドを作成する。３５は、ＵＩモジュールであり、プリンタドライバのユーザインタフェースの提供及び制御を行う。３６は、ランゲージモニタであり、データの通信Ｉ／Ｆとしてデータの送受信を制御する。３９は、ステータスモニタであり、ＭＦＰ３のインクの残量や、警告、エラー等の状態を表示する。３７は、ポートモニタであり、ランゲージモニタ３６から送られて来るデータを適切なポートに対して送信したり、ＭＦＰ３から送られて来るデータを、クラスドライバ３８を介して受信したりする処理を行う。３８は、クラスドライバであり、最もポートに近いローレベルのモジュールである。本実施形態では、クラスドライバ３８は、ＷＳＤやＩＨＶの独自プロトコルのプリンタクラスのドライバに相当し、ポート（本実施形態ではＵＳＢ又はネットワークポート）を制御する。プリンタドライバ５０は、ＭＦＰ３の製造元であるＡＢＣ社製のものである。
【００１９】
図５は、Ｄｅｖｉｃｅｓ  ａｎｄ  Ｐｒｉｎｔｅｒｓフォルダとデバイス管理画面との一例を示す図である。図５の（ａ）において、５００は、Ｄｅｖｉｃｅｓ  ａｎｄ  Ｐｒｉｎｔｅｒｓフォルダであり、ＰＣ１上に表示され、ＰＣ１で利用できる状態となっているプリンタやＦＡＸがドライバごとにこの中に表示される。本実施形態においては、ＸＹＺＤｅｆｇという名称のデバイス５０１とＡＢＣ  Ｋｍｍｎという名称のデバイス５０３とが利用可能なデバイスとして表示されている。デフォルトマーク５０２は、システムのデフォルトデバイスを示すもので、ここでは、デバイス５０１がデフォルトデバイスに設定されている状態を表す。フォルダ５００において、デバイスのアイコンが点線で示されているデバイス５０１は、利用できない状態であることを表し、実線で示されているデバイス５０３は、利用可能な状態であることを表す。
図５（ｂ）において、６００は、デバイス管理画面であり、図５（ａ）に示すＤｅｖｉｃｅ  ａｎｄ  Ｐｒｉｎｔｅｒｓフォルダ５００内のデバイス５０３が選択されることにより起動されて、表示される。このデバイス管理画面６００を使ってＭＦＰ３の管理を行うことができる。デバイス管理画面６００の上部には、デバイスアイコン６０１、デバイス名６０２、製造元情報６０３が表示される。デバイスアイコン６０１のデータは、デバイス管理制御用ファイル格納部９０５の一部として保持されている（不図示）。また、デバイス名６０２には、フォルダ５００のデバイス５０３のデバイス名称が、製造元情報６０３には、＜ｄｍ：ｍａｎｕｆａｃｔｕｒｅｒ＞要素８０１に指定された文字列が表示される。デバイス管理画面６００の下部には、デバイス５０３に関連付けられた機能へのリンクが表示されている。つまり、プリンタキューボタン６０４、印刷設定ボタン６０５、画像の読み込み（ＷＩＡ）ボタン６１０、画像の読み込み（ＴＷＡＩＮ）ボタン６１１が表示される。尚、以下、画像の読み込み（ＷＩＡ）ボタン６１０は、単に読み込み（ＷＩＡ）ボタン６１０とも記す。また、以下、画像の読み込み（ＴＷＡＩＮ）ボタン６１１は、単に読み込み（ＴＷＡＩＮ）ボタン６１１とも記す。尚、画像の読み込み（ＴＷＡＩＮ）ボタン６１１は、オブジェクトの一例である。
後述する図８、図９に示す＜ｄｍ：ｆｕｎｃｔｉｏｎｓ＞要素８０３の中に、それぞれのボタン及び機能を表す＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素８０４、８３９、８４０、８４１、８４２、８４３、８４４が記載されている。画像の読み込み（ＴＷＡＩＮ）ボタン６１１は、ＰＣ１とＭＦＰ３との接続状況に応じてＴＷＡＩＮアプリケーション１４２起動時にセットされる引数が異なる。
【００２０】
図６は、ＷＩＡアプリケーションとＴＷＡＩＮアプリケーションとの一例を示す図である。図６の（ａ）において、１４３は、ＯＳ標準のＷＩＡアプリケーションであり、後述する図７に示すＷＩＡドライバ７０３又は７０４等のＷＩＡドライバと連携してＭＦＰ３のスキャナを使って画像を読取ることができるソフトウェアである。６２０は、スキャナ選択部であり、画像を読取るスキャナ（ドライバ）として、ＰＣ１にインストールされているＷＩＡドライバを選択することができる。図６の（ａ）では、「ＡＢＣ  Ｋｍｍｎ  （ＷＩＡ）」が選択されている状態を表す。スキャナ（ドライバ）の選択は、スキャナ変更ボタン６２４を押下することで表示される、図６の（ｃ）で後述するスキャナ選択ダイアログ６２２上で行うことができる。
図６の（ｃ）は、スキャナ選択ダイアログを表す図である。図６の（ｃ）において、６２２は、ＯＳ標準のスキャナ選択ダイアログである。６２３は、スキャナ選択部であり、ＰＣ１にインストールされているＷＩＡドライバがこの中に表示されていて、ＷＩＡドライバを選択することで、ＷＩＡアプリケーション１４３で画像を読取るスキャナ（ドライバ）を指定することができる。本実施形態では、次の何れかを選択することができる。
ＡＢＣ  Ｋｍｍｎ  （ＷＩＡ）
ＡＢＣ  Ｋｍｍｎ  ＷＳＤ  （ＷＩＡ）
ＸＹＺ  Ｄｅｆｇ  （ＷＩＡ）
「ＡＢＣ  Ｋｍｍｎ  （ＷＩＡ）」
は、ＭＦＰ３がＵＳＢインタフェース１４を介してＰＣ１に接続されていて製造元（ＡＢＣ社）製のＩＨＶ  ＷＩＡドライバ７０４がインストールされている場合にＭＦＰ３に割り当てられたＷＩＡドライバ７０４の選択肢を表す。
「ＡＢＣ  Ｋｍｍｎ  ＷＳＤ  （ＷＩＡ）」
は、ＭＦＰ３がネットワーク４を介してＷＳＤを使ってＰＣ１に接続されていてＯＳ標準のＳｔａｎｄａｒｄ  ＷＩＡドライバ７０３がインストールされている場合にＭＦＰ３に割り当てられたＷＩＡドライバ７０３の選択肢を表す。
「ＸＹＺ  Ｄｅｆｇ  （ＷＩＡ）」
は、ＭＦＰ７がネットワーク４を介してＷＳＤを使ってＰＣ１に接続されていてＯＳ標準のＳｔａｎｄａｒｄ  ＷＩＡドライバ７０３がインストールされている場合にＭＦＰ７に割り当てられたＷＩＡドライバ７０３の選択肢を表す。図６の（ｃ）では、「ＡＢＣ  Ｋｍｍｎ  （ＷＩＡ）」が選択されている状態を表す。
【００２１】
図６（ｂ）において、１４２は、製造元（ＡＢＣ社）製のＴＷＡＩＮアプリケーションであり、後述する図７に示すＴＷＡＩＮドライバ１４１と連携してＭＦＰ３のスキャナを使って画像を読取ることができるソフトウェアである。６２１は、スキャナ選択部であり、画像を読取るスキャナ（ドライバ）として、ＰＣ１にインストールされているＴＷＡＩＮドライバを選択することができる。本実施形態では、次の何れかを選択することができる。
ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）
ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  ＷＳＤ
ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  Ｎｅｔｗｏｒｋ
「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）」は、ＭＦＰ３がＵＳＢインタフェース１４を介してＰＣ１に接続されていて製造元（ＡＢＣ社）製のＴＷＡＩＮドライバ１４１がインストールされている場合にＭＦＰ３に割り当てられたＴＷＡＩＮドライバ１４１の選択肢を表す。「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  ＷＳＤ」は、ＭＦＰ３がネットワーク４を介してＷＳＤを使ってＰＣ１に接続されていて、ＴＷＡＩＮドライバ１４１がインストールされている場合に、ＭＦＰ３に割り当てられたＴＷＡＩＮドライバ１４１の選択肢を表す。「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  Ｎｅｔｗｏｒｋ」は、ＭＦＰ３がネットワーク４を介してＩＨＶネイティブプロトコルを使ってＰＣ１に接続されていて、ＴＷＡＩＮドライバ１４１がインストールされている場合に、ＭＦＰ３に割り当てられたＴＷＡＩＮドライバ１４１の選択肢を表す。図６の（ｂ）では、「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）」が選択されている状態を表す。
図６の（ｄ）は、スキャナ選択ダイアログを表す図である。図６の（ｄ）において、６２５は、ＴＷＡＩＮアプリケーション１４２が表示するスキャナ選択ダイアログである。６２６は、スキャナ選択部であり、ＰＣ１にインストールされているＴＷＡＩＮドライバがこの中に表示されている。ユーザがこのＴＷＡＩＮドライバを選択することで、ＴＷＡＩＮアプリケーション１４２で画像を読取るスキャナ（ドライバ）を指定することができる。本実施形態では、次の何れかを選択することができる。
ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）
ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  ＷＳＤ
ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  Ｎｅｔｗｏｒｋ
これらの各ＴＷＡＩＮドライバに関しては、スキャナ選択部６２１で前述したものと同一である。図６の（ｄ）では、「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  Ｎｅｔｗｏｒｋ」が選択されている状態を表す。６２７はＯＫボタンであり、このボタンが押下されると、スキャナ選択部６２６で選択されているＴＷＡＩＮドライバが指定された状態で、ＴＷＡＩＮアプリケーション１４２が起動される。ＴＷＡＩＮアプリケーション１４２は、後述する起動時の第１引数であるＴＷＡＩＮドライバ名が""（空）、即ち不明なデバイスのとき、スキャナ選択ダイアログ６２５を表示する。
【００２２】
ＴＷＡＩＮアプリケーション１４２は、次に示す起動時の引数により、アプリケーション起動時に選択されるデフォルトのスキャナ（ドライバ）と、起動元と、を指定する機能を備える。
第１引数：  ＴＷＡＩＮドライバ名
第２引数：  起動元
／ｄｅｖｍｎｇ・・・デバイス管理画面から起動
／ｏｔｈｅｒ・・・デバイス管理画面以外から起動
［例１］
ＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）"  ／ｄｅｖｍｎｇ
デバイス管理画面６００上からＴＷＡＩＮアプリケーション１４２を起動して、ＵＳＢ接続でＴＷＡＩＮドライバ１４１を使ってＭＦＰ３で画像を読取るケースの例。
［例２］
ＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  ＷＳＤ"  ／ｄｅｖｍｎｇ
デバイス管理画面６００上からＴＷＡＩＮアプリケーション１４２を起動して、ＷＳＤのネットワーク接続でＴＷＡＩＮドライバ１４１を使ってＭＦＰ３で画像を読取るケースの例。
［例３］
ＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  Ｎｅｔｗｏｒｋ"／ｄｅｖｍｎｇ
デバイス管理画面６００上からＴＷＡＩＮアプリケーション１４２を起動して、ＩＨＶネイティブプロトコルのネットワーク接続でＴＷＡＩＮドライバ１４１を使ってＭＦＰ３で画像を読取るケースの例。
［例４］
ＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）"  ／ｏｔｈｅｒ
デバイス管理画面以外からＴＷＡＩＮアプリケーション１４２を起動して、ＵＳＢ接続でＴＷＡＩＮドライバ１４１を使ってＭＦＰ３で画像を読取るケースの例。
前記例１と例４とでは、起動元を表す第２引数だけが異なるが、この第２引数を利用して、ＴＷＡＩＮアプリケーション１４２が、起動元に応じて起動時又は起動後の処理を切換えることができ、ユーザの操作性を向上することができる。第１引数を付加してＴＷＡＩＮアプリケーション１４２を起動することで、ユーザがスキャナ選択部６２１でスキャナ（ドライバ）を選択して指定する代わりに、特別な操作を行うことなく自動的に画像を読取るスキャナ（ドライバ）を指定することができる。
［例５］
ＴＷＡＩＮＳｃａｎ．ｅｘｅ  ""  ／ｄｅｖｍｎｇ
デバイス管理画面６００上から、図６の（ｄ）に示すスキャナ選択ダイアログ６２５を表示した後、ユーザにＴＷＡＩＮドライバを選択させた上で、ＴＷＡＩＮアプリケーション１４２を起動。そして、ユーザが選択したＴＷＡＩＮドライバ１４１を使ってＭＦＰ３で画像を読取るケースの例。
【００２３】
図７は、ＰＣのソフトウェア構成の一例を表す図である。図７の（ａ）、（ｂ）において、７０５は、ＯＳ標準のカーネルＩ／Ｏドライバである。図７の（ａ）はＷＩＡアプリケーション１４３を使ってＭＦＰ３で画像を読取るために必要なソフトウェア構成を表す。１４３は、図６（ａ）に示すＯＳ標準のＷＩＡアプリケーションである。７０３は、ＯＳ標準のＳｔａｎｄａｒｄ  ＷＩＡドライバである。７０４は、製造元（ＡＢＣ社）製のＩＨＶ  ＷＩＡドライバである。７０２は、ＯＳ標準のＳＴＩ／ＷＩＡ  Ｓｅｒｖｉｃｅであり、ＷＩＡアプリケーション１４３とＷＩＡドライバ７０３、７０４とのインタフェースである。
図７（ｂ）は、ＴＷＡＩＮアプリケーション１４２を使ってＭＦＰ３で画像を読取るために必要なソフトウェア構成を表す。１４２は、図６（ｂ）に示す製造元（ＡＢＣ社）製のＴＷＡＩＮアプリケーションである。７０７は、ＯＳ標準のＴＷＡＩＮデータソースマネージャである。１４１は製造元（ＡＢＣ社）製のＴＷＡＩＮドライバである。ＭＦＰ３用のＴＷＡＩＮデータソースは、ＴＷＡＩＮドライバ１４１の中に含まれている。
図８及び図９は、デバイス管理制御用ファイルの内容を表す図である。デバイス管理制御用ファイル８００は、英語用のものである。これらの図に示す情報が、ファイル格納部１１又は１２に格納されている。図８において、＜ｄｍ：ｍａｎｕｆａｃｔｕｒｅｒ＞要素８０１にはデバイス（ＭＦＰ３）の製造元であるＡＢＣ社の名前がセットされている。＜ｄｍ：ｍｏｄｅｌ＞要素８０２にはデバイス（ＭＦＰ３）のモデル名であるＫｍｍｎがセットされている。これらの情報は、デバイス管理制御用ファイル８００のインストール時に利用される。また、デバイス管理制御用ファイル８００には、デバイス管理画面６００を構成するために必要な情報も記載されている。
【００２４】
ＭＦＰ３がＰＣ１に接続されているときに起動して表示されるデバイス管理画面６００上に、図５に示す
「プリンタキューボタン６０４、印刷設定ボタン６０５、読み込み（ＷＩＡ）ボタン６１０、読み込み（ＴＷＡＩＮ）ボタン６１１」
を表示するために、それぞれのボタン及び機能を表す＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素８０４、８３９、８４０、８４１、８４２、８４３、８４４が＜ｄｍ：ｆｕｎｃｔｉｏｎｓ＞要素８０３の中にセットされている。
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素８０４において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞ＯｐｅｎＰｒｉｎｔｅｒＱｕｅｕｅ＜／ｄｍ：ｎａｍｅ＞要素８０５
には、プリンタキューボタン６０４上に表示される「Ｏｐｅｎ  Ｐｒｉｎｔｅｒ  Ｑｕｅｕｅ」という文字列がセットされている。
＜ｄｍ：ｅｘｅｃｕｔｅ＞ｏｐｅｎＰｒｉｎｔｅｒＱｕｅｕｅ＜／ｄｍ：ｅｘｅｃｕｔｅ＞要素８０６
には、プリンタキューフォルダを表示する機能（プログラム）を表すｏｐｅｎＰｒｉｎｔｅｒＱｕｅｕｅというコードがセットされている。ここでは図示しないが、プリンタキューフォルダは印刷ジョブの状態を表示する機能を備えている。
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素８３９において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｐｒｉｎｔｉｎｇ  Ｐｒｅｆｅｒｅｎｃｅｓ＜／ｄｍ：ｎａｍｅ＞要素８０７
には、印刷設定ボタン６０５上に表示される「Ｐｒｉｎｔｉｎｇ  Ｐｒｅｆｅｒｅｎｃｅｓ」という文字列がセットされている。
＜ｄｍ：ｅｘｅｃｕｔｅ＞ｐｒｉｎｔｉｎｇＰｒｅｆｅｒｅｎｃｅｓ＜／ｄｍ：ｅｘｅｃｕｔｅ＞要素８０８
には、印刷設定ダイアログを表示する機能（プログラム）を表すｐｒｉｎｔｉｎｇＰｒｅｆｅｒｅｎｃｅｓというコードがセットされている。ここでは図示しないが、印刷設定ダイアログとは、プリンタドライバ５０のＵＩモジュール３５に備えられている印刷設定画面を表す。
【００２５】
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素８４０において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｉｍａｇｅ  Ｓｃａｎ  （ＷＩＡ）＜／ｄｍ：ｎａｍｅ＞要素８０９
には、読み込み（ＷＩＡ）ボタン６１０に表示される「Ｉｍａｇｅ  Ｓｃａｎ  （ＷＩＡ）」という文字列がセットされている。
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８１０
には、読み込み（ＷＩＡ）ボタン６１０を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｄｅｖｉｃｅ＞ｓｃａｎｎｅｒ＜／ｄｍ：ｄｅｖｉｃｅ＞要素８１１
は、ＵＳＢインタフェース１４又はＷＳＤのネットワーク４を介してＰＣ１に接続されているデバイスが、ＷＩＡドライバ７０４又は７０３を利用したスキャナ機能を備えていることを表す。
＜ｄｍ：ａｖａｉｌａｂｌｅ＞ｔｒｕｅ＜／ｄｍ：ａｖａｉｌａｂｌｅ＞要素８１２
は、ＵＳＢインタフェース１４又はＷＳＤのネットワーク４を介してＰＣ１に接続されているデバイスにおいて、ＷＩＡドライバ７０４又は７０３を利用したスキャナ機能が利用可能な状態であることを表す。即ち、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８１０で表される条件とは、ＷＩＡドライバ７０４又は７０３を利用した、ＵＳＢ又はＷＳＤのネットワーク接続での画像の読み込みが可能なケースのことである。
＜ｄｍ：ｅｘｅｃｕｔｅ＞ｗｉａＳｃａｎ＜／ｄｍ：ｅｘｅｃｕｔｅ＞要素８１３
には、ＷＩＡアプリケーション１４３を起動する機能（プログラム）を表すｗｉａＳｃａｎというコードがセットされている。
【００２６】
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素８４１において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｉｍａｇｅ  Ｓｃａｎ  （ＴＷＡＩＮ）＜／ｄｍ：ｎａｍｅ＞要素８１４
には、読み込み（ＴＷＡＩＮ）ボタン６１１に表示される「Ｉｍａｇｅ  Ｓｃａｎ  （ＴＷＡＩＮ）」という文字列がセットされている。
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８４５
には、読み込み（ＴＷＡＩＮ）ボタン６１１を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｄｅｖｉｃｅ＞ｓｔｏｒａｇｅ＜／ｄｍ：ｄｅｖｉｃｅ＞要素８１５
は、ＵＳＢインタフェース１４を介してＰＣ１に接続されているデバイスが、ストレージ機能を備えていることを表す。
＜ｄｍ：ａｖａｉｌａｂｌｅ＞ｔｒｕｅ＜／ｄｍ：ａｖａｉｌａｂｌｅ＞要素８１６
は、ＵＳＢインタフェース１４を介してＰＣ１に接続されているデバイスのストレージ機能が、利用可能な状態であることを表す。ＰＣ１に接続されているデバイス（ＭＦＰ３）のスキャナ機能が利用可能であることを判別するには、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８１０を利用するのが一般的であると思われる。しかしＷｉｎｄｏｗｓ  ７  ＯＳにおいては、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８１０を利用する場合、自動切換え制御を行うことができない。つまり、Ｗｉｎｄｏｗｓ  ７  ＯＳは、ＴＷＡＩＮドライバ１４１を利用したスキャナ機能において、ＵＳＢ接続とＷＳＤのネットワーク接続とを区別して、それぞれの接続に合わせて適切な制御を行う、等の自動切換え制御を行うことができない。従って、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８１０では、ＴＷＡＩＮアプリケーション１４２の起動時の引数として、ＰＣ１とＭＦＰ３とのインタフェースに応じて、それぞれのインタフェースにマッチする適切な値をセットすることができない。
そこで、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８４５で表されるような、スキャナ機能とは関係の無い別の機能である「ストレージ機能が利用可能であるという状態」を利用する。つまり、これを利用してＰＣ１とデバイス（ＭＦＰ３）とのインタフェースを特定したスキャナ機能の判別を行うことで、ＴＷＡＩＮアプリケーション１４２起動時に適切な情報を引数としてセットして、ユーザの操作性を向上している。
【００２７】
この様に、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８４５で表される条件とは、ここでは、ＴＷＡＩＮドライバによるＵＳＢ接続での画像の読み込みが可能なケースのことである。
＜ｄｍ：ｅｘｅｃｕｔｅ＞ＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）"  ／ｄｅｖｍｎｇ＜／ｄｍ：ｅｘｅｃｕｔｅ＞要素８１７
には、ＴＷＡＩＮアプリケーション１４２を起動する機能（プログラム）を表すＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）"  ／ｄｅｖｍｎｇというコードがセットされている。これにより読み込み（ＴＷＡＩＮ）ボタン６１１が押下された場合、デフォルトのスキャナ（ドライバ）にＵＳＢ接続のＴＷＡＩＮドライバ１４１を表す
「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）」
がセットされた状態でＴＷＡＩＮアプリケーション１４２が起動されるので、ユーザの操作性に優れる。
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素８４２において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｉｍａｇｅ  Ｓｃａｎ  （ＴＷＡＩＮ）  −  Ｓｅｌｅｃｔ  Ｄｅｖｉｃｅ＜／ｄｍ：ｎａｍｅ＞要素８１８
には、読み込み（ＴＷＡＩＮ）ボタン６１１に表示される「Ｉｍａｇｅ  Ｓｃａｎ  （ＴＷＡＩＮ）  −  Ｓｅｌｅｃｔ  Ｄｅｖｉｃｅ」という文字列がセットされている。尚、このように、読み込み（ＴＷＡＩＮ）ボタン６１１に表示される文字列は、＜ｄｍ：ｎａｍｅ＞要素にセットされている文字列が反映されるので、図５の（ｂ）で表示されている文字列と若干異なる場合がある。
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８４６
には、読み込み（ＴＷＡＩＮ）ボタン６１１を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｄｅｖｉｃｅ＞ｓｔｏｒａｇｅ＜／ｄｍ：ｄｅｖｉｃｅ＞要素８１９
は、ＵＳＢインタフェース１４を介してＰＣ１に接続されているデバイスが、ストレージ機能を備えていることを表す。
＜ｄｍ：ａｖａｉｌａｂｌｅ＞ｆａｌｓｅ＜／ｄｍ：ａｖａｉｌａｂｌｅ＞要素８２０
は、ＵＳＢインタフェース１４を介してＰＣ１に接続されているデバイスのストレージ機能が、利用できない状態であることを表す。ＰＣ１に接続されているデバイス（ＭＦＰ３）のスキャナ機能が利用できない状態であることを判別するには、
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞
＜ｄｍ：ｄｅｖｉｃｅ＞ｓｃａｎｎｅｒ＜／ｄｍ：ｄｅｖｉｃｅ＞
＜ｄｍ：ａｖａｉｌａｂｌｅ＞ｆａｌｓｅ＜／ｄｍ：ａｖａｉｌａｂｌｅ＞
＜／ｄｍ：ｒｅｑｕｉｒｅｄ＞
を利用するのが一般的であると思われる。
【００２８】
しかしながら、Ｗｉｎｄｏｗｓ  ７  ＯＳにおいては、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素を利用する場合、以下の様な制御を行うことができない。つまり、ＴＷＡＩＮドライバ１４１を利用したスキャナ機能において、ＵＳＢ接続とＷＳＤのネットワーク接続とを区別して、それぞれの接続に合わせて適切な制御を行う、等の自動切換え制御を行うことができない。従って、この＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素では、ＴＷＡＩＮアプリケーション１４２の起動時の引数として、ＰＣ１とＭＦＰ３とのインタフェースに応じて、それぞれのインタフェースにマッチする適切な値をセットすることができない。そこで＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８４６で表されるようなスキャナ機能とは関係の無い別の機能である「ストレージ機能が利用できないという状態」を利用してＰＣ１とデバイス（ＭＦＰ３）とのインタフェースを特定したスキャナ機能の判別を行う。このことで、ＴＷＡＩＮアプリケーション１４２起動時に適切な情報を引数としてセットして、ユーザの操作性を向上している。この様に、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８４６で表される条件とは、ここでは、ＴＷＡＩＮドライバによるＵＳＢ接続での画像の読み込みができないケースのことである。例えば、ＰＣ１とＭＦＰ３とがＵＳＢインタフェース１４やネットワーク４を介して接続されていないケースを表す。この様なケースにおいては、ＴＷＡＩＮアプリケーション１４２が、まず、図６の（ｄ）に示すスキャナ選択ダイアログ６２５を表示する。そして、ユーザが選択したＴＷＡＩＮドライバをスキャナ選択部６２１にセットした状態で、ＴＷＡＩＮアプリケーション１４２が起動するのが望ましい。
【００２９】
従って、図６の（ｄ）に示すスキャナ選択ダイアログ６２５を表示させる、読み込み（ＴＷＡＩＮ）ボタン６１１を構築するための情報をセットしておく。
＜ｄｍ：ｅｘｅｃｕｔｅ＞ＴＷＡＩＮＳｃａｎ．ｅｘｅ  ""  ／ｄｅｖｍｎｇ＜／ｄｍ：ｅｘｅｃｕｔｅ＞要素８２１
には、ＴＷＡＩＮアプリケーション１４２を起動する機能（プログラム）を表すＴＷＡＩＮＳｃａｎ．ｅｘｅ  ""  ／ｄｅｖｍｎｇというコードがセットされている。これにより読み込み（ＴＷＡＩＮ）ボタン６１１が押下された場合、以下の様にＴＷＡＩＮアプリケーション１４２が起動される。つまり、まず、スキャナ選択ダイアログ６２５が表示され、ユーザが選択したＴＷＡＩＮドライバがスキャナ選択部６２１にセットされた状態でＴＷＡＩＮアプリケーション１４２が起動される。このようにすることで、ユーザが、使用したいスキャナを未だ準備していないようなケースにおいても、使用したいスキャナ（ドライバ）を正しく指定して、ＴＷＡＩＮアプリケーション１４２を起動することができるので、ユーザの操作性に優れる。
【００３０】
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素８４３において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｉｍａｇｅ  Ｓｃａｎ  （ＴＷＡＩＮ）＜／ｄｍ：ｎａｍｅ＞要素８２２
には、読み込み（ＴＷＡＩＮ）ボタン６１１に表示される「Ｉｍａｇｅ  Ｓｃａｎ  （ＴＷＡＩＮ）」という文字列がセットされている。
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８４７
には、読み込み（ＴＷＡＩＮ）ボタン６１１を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｄｅｖｉｃｅ＞ｐｒｉｎｔｅｒ＜／ｄｍ：ｄｅｖｉｃｅ＞要素８２３
は、ＰＣ１に接続されているデバイスが、プリンタ機能を備えていることを表す。
＜ｄｍ：ａｖａｉｌａｂｌｅ＞ｔｒｕｅ＜／ｄｍ：ａｖａｉｌａｂｌｅ＞要素８２４
は、ＰＣ１に接続されているデバイスのプリンタ機能が、利用可能な状態であることを表す。
＜ｄｍ：ｐｏｒｔ＞ＷＳＤ＜／ｄｍ：ｐｏｒｔ＞要素８２５
は、デバイスのプリンタ機能を利用するためのポートがＷＳＤポートであることを表す。ここで、ＷＳＤポートとは、ＷＳＤを利用したネットワーク接続のポートである。
【００３１】
尚、＜ｄｍ：ｐｏｒｔ＞ＷＳＤ＜／ｄｍ：ｐｏｒｔ＞要素８２５は、ＯＳの標準機能として定義されている。ＰＣ１に接続されているデバイス（ＭＦＰ３）のスキャナ機能が利用可能であることを判別するには、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８１０を利用するのが一般的であると思われる。しかしながら、Ｗｉｎｄｏｗｓ  ７  ＯＳにおいては、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８１０を利用する場合、以下の様な制御を行うことができない。つまり、ＴＷＡＩＮドライバ１４１を利用したスキャナ機能において、ＵＳＢ接続とＷＳＤのネットワーク接続とを区別して、それぞれの接続に合わせて適切な制御を行う、等の自動切換え制御を行うことができない。従って、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８１０では、ＴＷＡＩＮアプリケーション１４２の起動時の引数として、ＰＣ１とＭＦＰ３とのインタフェースに応じて、それぞれのインタフェースにマッチする適切な値をセットすることができない。そこで、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８４７で表されるような、スキャナ機能とは関係の無い別の機能である「プリンタ機能が利用可能であるという状態」と「プリンタ機能のポート名」とを利用する。つまり、これらを利用して、ＰＣ１とデバイス（ＭＦＰ３）とのインタフェースを特定したスキャナ機能の判別を行うことで、ＴＷＡＩＮアプリケーション１４２起動時に適切な情報を引数としてセットして、ユーザの操作性を向上している。この様に、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８４７で表される条件とは、ここでは、ＴＷＡＩＮドライバによるＷＳＤのネットワーク接続での画像の読み込みが可能なケースのことである。
＜ｄｍ：ｅｘｅｃｕｔｅ＞ＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  ＷＳＤ"  ／ｄｅｖｍｎｇ＜／ｄｍ：ｅｘｅｃｕｔｅ＞要素８２６
には、ＴＷＡＩＮアプリケーション１４２を起動する機能（プログラム）を表すＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  ＷＳＤ"  ／ｄｅｖｍｎｇ
というコードがセットされている。これにより、読み込み（ＴＷＡＩＮ）ボタン６１１が押下された場合、以下の様にＴＷＡＩＮアプリケーション１４２が起動される。つまり、デフォルトのスキャナ（ドライバ）にＷＳＤのネットワーク接続のＴＷＡＩＮドライバ１４１を表す「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  ＷＳＤ」がセットされた状態でＴＷＡＩＮアプリケーション１４２が起動される。従って、ユーザの操作性に優れる。
【００３２】
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素８４４において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｉｍａｇｅ  Ｓｃａｎ  （ＴＷＡＩＮ）＜／ｄｍ：ｎａｍｅ＞要素８２７
には、読み込み（ＴＷＡＩＮ）ボタン６１１に表示される「Ｉｍａｇｅ  Ｓｃａｎ  （ＴＷＡＩＮ）」という文字列がセットされている。
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８４８
には、読み込み（ＴＷＡＩＮ）ボタン６１１を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｄｅｖｉｃｅ＞ｐｒｉｎｔｅｒ＜／ｄｍ：ｄｅｖｉｃｅ＞要素８２８
は、ＰＣ１に接続されているデバイスが、プリンタ機能を備えていることを表す。
＜ｄｍ：ａｖａｉｌａｂｌｅ＞ｔｒｕｅ＜／ｄｍ：ａｖａｉｌａｂｌｅ＞要素８２９
は、ＰＣ１に接続されているデバイスのプリンタ機能が、利用可能な状態であることを表す。以下において、ｉｎｖｅｒｔ＝"ｙｅｓ"属性は、論理を反転することを意味する。
＜ｄｍ：ｐｏｒｔ  ｉｎｖｅｒｔ＝"ｙｅｓ"＞ＬＰＴ＜／ｄｍ：ｐｏｒｔ＞要素８３０は、デバイスのプリンタ機能を利用するためのポートがＬＰＴ（パラレル）ポートではないことを表す。
＜ｄｍ：ｐｏｒｔ  ｉｎｖｅｒｔ＝"ｙｅｓ"＞ＣＯＭ＜／ｄｍ：ｐｏｒｔ＞要素８３１
は、デバイスのプリンタ機能を利用するためのポートがＣＯＭ（シリアル）ポートではないことを表す。
＜ｄｍ：ｐｏｒｔ  ｉｎｖｅｒｔ＝"ｙｅｓ"＞ＦＩＬＥ＜／ｄｍ：ｐｏｒｔ＞要素８３２
は、デバイスのプリンタ機能を利用するためのポートがＦＩＬＥ（ファイル出力）ポートではないことを表す。
＜ｄｍ：ｐｏｒｔ  ｉｎｖｅｒｔ＝"ｙｅｓ"＞ＩＲ＜／ｄｍ：ｐｏｒｔ＞要素８３３
は、デバイスのプリンタ機能を利用するためのポートがＩｒＤＡ（赤外線）ポートではないことを表す。
【００３３】
＜ｄｍ：ｐｏｒｔ  ｉｎｖｅｒｔ＝"ｙｅｓ"＞ＸＰＳ＜／ｄｍ：ｐｏｒｔ＞要素８３４
は、デバイスのプリンタ機能を利用するためのポートがＸＰＳ（ＸＰＳファイル出力）ポートではないことを表す。
＜ｄｍ：ｐｏｒｔ  ｉｎｖｅｒｔ＝"ｙｅｓ"＞ＢＴＨ＜／ｄｍ：ｐｏｒｔ＞要素８３５
は、デバイスのプリンタ機能を利用するためのポートがＢｌｕｅｔｏｏｔｈポートではないことを表す。
＜ｄｍ：ｐｏｒｔ  ｉｎｖｅｒｔ＝"ｙｅｓ"＞ＵＳＢ＜／ｄｍ：ｐｏｒｔ＞要素８３６
は、デバイスのプリンタ機能を利用するためのポートがＵＳＢポートではないことを表す。
＜ｄｍ：ｐｏｒｔ  ｉｎｖｅｒｔ＝"ｙｅｓ"＞ＷＳＤ＜／ｄｍ：ｐｏｒｔ＞要素８３７
は、デバイスのプリンタ機能を利用するためのポートがＷＳＤポートではないことを表す。ＰＣ１に接続されているデバイス（ＭＦＰ３）のスキャナ機能が利用可能であることを判別するには、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８１０を利用するのが一般的であると思われる。しかしながら、Ｗｉｎｄｏｗｓ  ７  ＯＳにおいては、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８１０を利用する場合、ＴＷＡＩＮドライバ１４１を利用したスキャナ機能において、ＩＨＶネイティブプロトコルのネットワーク接続を検出することができない。
【００３４】
また、プリンタ機能用のＩＨＶネイティブプロトコルのネットワークポート名には、ＡＢＣ＿ＮＥＴ＿＜ＭＡＣアドレス＞というように、デバイスに依存する可変の情報であるＭＡＣアドレスが含まれていて、ＯＳの標準ポートではない。このことから、ＯＳの標準機能としても定義されていない。従って、＜ｄｍ：ｐｏｒｔ＞要素でＩＨＶネイティブプロトコルのネットワークポートを判別することが困難である。この様に、
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８１０や
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８４７
では、ＩＨＶネイティブプロトコルのネットワーク接続において、ＴＷＡＩＮアプリケーション１４２の起動時の引数として、ＰＣ１とＭＦＰ３とのインタフェースに応じて、それぞれのインタフェースにマッチする適切な値をセットすることができない。そこで、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８４８で表されるような、スキャナ機能とは関係の無い別の機能である「プリンタ機能が利用可能であるという状態」と「プリンタ機能のポート名の排他論理」とを利用する。つまり、これらを利用してＰＣ１とデバイス（ＭＦＰ３）とのインタフェースを特定したスキャナ機能の判別を行うことで、ＴＷＡＩＮアプリケーション１４２の起動時に適切な情報を引数としてセットして、ユーザの操作性を向上している。この様に、＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素８４８で表される条件とは、ここでは、ＴＷＡＩＮドライバによるＩＨＶネイティブプロトコルのネットワーク接続での画像の読み込みが可能なケースのことである。
＜ｄｍ：ｅｘｅｃｕｔｅ＞ＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  Ｎｅｔｗｏｒｋ"  ／ｄｅｖｍｎｇ＜／ｄｍ：ｅｘｅｃｕｔｅ＞要素８３８
には、ＴＷＡＩＮアプリケーション１４２を起動する機能（プログラム）を表すＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  Ｎｅｔｗｏｒｋ"  ／ｄｅｖｍｎｇというコードがセットされている。これにより、読み込み（ＴＷＡＩＮ）ボタン６１１が押下された場合、以下のようにＴＷＡＩＮアプリケーション１４２が起動される。つまり、デフォルトのスキャナ（ドライバ）にＩＨＶネイティブプロトコルのネットワーク接続のＴＷＡＩＮドライバ１４１を表す「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  Ｎｅｔｗｏｒｋ」がセットされた状態でＴＷＡＩＮアプリケーション１４２が起動される。従って、ユーザの操作性に優れる。
【００３５】
図１０は、デバイス管理とＴＷＡＩＮアプリケーションとのソフトウェア構成の一例を示す図である。図１０において、デバイス管理８０は、表示部９０１、デバイス管理制御部９０２、リンク実行部９０３、デバイス管理制御用ファイル読取り部９０４、デバイス管理制御用ファイル格納部９０５からなる。デバイス管理制御用ファイル格納部９０５には、図１２のステップＳ１４０５で保存されたデバイス管理制御用ファイル８００が格納されている。ＴＷＡＩＮアプリケーション１４２は、起動元判断部９０６、アプリケーション制御部９０７、デフォルトデバイス設定部９０８、読取り制御部９０９、ステータス取得部９１０により構成される。読取り制御部９０９は、ＭＦＰ３で読取られてＴＷＡＩＮドライバ１４１から転送された画像データに、適切な画像処理等を行うモジュールである。ステータス取得部９１０は、ＴＷＡＩＮドライバ１４１を介してＭＦＰ３の状態（ステータス）をモニタし、ＭＦＰ３の状態を表す制御コマンドを取得するモジュールである。デバイス管理画面６００は、ＭＦＰ３がＵＳＢインタフェース１４又はネットワーク４を介してＰＣ１に接続されるか、或いは、図５（ａ）に示すフォルダ５００内のデバイスが選択されることにより起動・表示される。ここでは、ＭＦＰ３がＵＳＢインタフェース１４又はネットワーク４を介してＰＣ１に接続され、図５（ｂ）に示すデバイス管理画面６００が起動・表示される場合の例を中心に説明する。
【００３６】
図１１は、デバイス接続時の処理の一例を示すフローチャートである。図１１のフローチャートに係るプログラムは、ＨＤＤ２０２に記憶されており、ＲＡＭ２０１に読み出され、ＣＰＵ２０４により実行される。
デバイス（ＭＦＰ３）がＰＣ（ＰＣ１）にＵＳＢインタフェース１４又はネットワーク４を介して接続されると（Ｓ１３０１）、ＰＣ１がデバイスＩＤを取得する（Ｓ１３０２）。デバイスＩＤは、例えば「ＭＦＧ：ＡＢＣ；ＭＤＬ：Ｋｍｍｎ；ＣＬＳ：ＰＲＩＮＴＥＲ；ＣＭＤ：Ｋ４；ＤＥＳ：ＡＢＣ  Ｋｍｍｎ；」のような文字列で表されるものである。ＰＣ１がＵＳＢインタフェース１４又はネットワーク４を介してＭＦＰ３から取得することができるＭＦＰ３のプリンタ機能のデバイスＩＤであり、次の情報を表す。
製造元（ＭＦＧ：）  ：  ＡＢＣ
モデル（ＭＤＬ：）  ：  Ｋｍｍｎ
クラス（ＣＬＳ：）  ：  ＰＲＩＮＴＥＲ
コマンド（ＣＭＤ：）：  Ｋ４（ＡＢＣ社プライベートの印刷制御用コマンド）
ディスクリプション（ＤＥＳ：）：  ＡＢＣ  Ｋｍｍｎ
次に、デバイス管理８０が、ＰＣ１にドライバ（プリンタドライバ５０、ＦＡＸドライバ、ＷＩＡドライバ７０３又は７０４、及びＴＷＡＩＮドライバ１４１）が既にインストール済みかを判断する（Ｓ１３０３）。以下、図１１の説明においてドライバ（プリンタドライバ５０、ＦＡＸドライバ、ＷＩＡドライバ７０３又は７０４、及びＴＷＡＩＮドライバ１４１）は、単にドライバと記す。
【００３７】
ステップＳ１３０３において、ドライバが未だインストールされていないと判断された場合、ＯＳがドライバをインストールする（Ｓ１３０４）。その後、ＯＳがドライバをロードする（Ｓ１３０５）。ドライバが正しくロードされると、図５（ａ）に示すフォルダ５００にデバイス（ＭＦＰ３）が登録された状態となる。デバイス管理８０が、ＰＣ１に図８及び図９に示すデバイス管理制御用ファイル８００が既にインストール済みかを判断する（Ｓ１３０６）。ステップＳ１３０６において、インストール済みのデバイス管理制御用ファイルがドライバと整合しているか否かは、デバイスＩＤに含まれる製造元（ＭＦＧ：）、モデル（ＭＤＬ：）情報をもとに判定される。ステップＳ１３０６において、デバイス管理制御用ファイル８００が未だインストールされていない場合、デバイス管理８０が図１２で後述するデバイス管理制御用ファイルのインストールの処理を実行する（Ｓ１３０７）。そして、デバイス管理８０が図１３で後述するデバイス管理画面の起動の処理を実行し（Ｓ１３０８）、デバイス管理８０がデバイス接続時の処理を完了する（Ｓ１３０９）。ステップＳ１３０６において、デバイス管理制御用ファイル８００が既にインストールされている場合、ステップＳ１３０８へ進む。ステップＳ１３０３において、ドライバが既にインストールされている場合、ステップＳ１３０５へ進む。
【００３８】
図１２は、デバイス管理制御用ファイルのインストールの処理の一例を示すフローチャートである。図１２のフローチャートに係るプログラムは、ＨＤＤ２０２に記憶されており、ＲＡＭ２０１に読み出され、ＣＰＵ２０４により実行される。
図１１のステップＳ１３０７において、デバイス管理制御用ファイルのインストールの処理が実行されると、図１２において、デバイス管理８０がデバイス管理のインストールの処理を開始する（Ｓ１４０１）。まず、デバイス管理８０がＵＳＢインタフェース１４又はネットワーク４を介して接続されているデバイス（ＭＦＰ３）のデバイスＩＤを確認する（Ｓ１４０２）。このデバイスＩＤに含まれている製造元（ＭＦＧ：）、モデル（ＭＤＬ：）情報をもとに、デバイス管理８０がＰＣ１に接続されているデバイス（ＭＦＰ３）用のデバイス管理制御用ファイル８００を検索する（Ｓ１４０３）。図８及び図９のデバイス管理制御用ファイル８００には、＜ｄｍ：ｍａｎｕｆａｃｔｕｒｅｒ＞要素８０１、＜ｄｍ：ｍｏｄｅｌ＞要素８０２にデバイス（ＭＦＰ３）に対応した製造元（ＭＦＧ：）「ＡＢＣ」、モデル（ＭＤＬ：）「Ｋｍｍｎ」が記載されている。
【００３９】
要素８０１、要素８０２に記載されている情報をもとに、デバイス管理８０がＷｅｂサーバ９又はＰＣ１に挿入されたＣＤ−ＲＯＭ１０内のファイル格納部１１又は１２から、デバイス（ＭＦＰ３）用のデバイス管理制御用ファイル８００を検索する。デバイス管理８０が、ファイル格納部１１又は１２からデバイス管理制御用ファイル８００が見つかったか否かを判断する（Ｓ１４０４）。ステップＳ１４０４において、デバイス管理制御用ファイル８００が見つかった場合、デバイス管理８０がそのデバイス管理制御用ファイル８００をＰＣ１のＨＤＤ２０２内の所定の位置に保存する（Ｓ１４０５）。そして、デバイス管理８０がデバイス管理制御用ファイル８００をインストールする（Ｓ１４０６）。インストールが完了すると、デバイス管理８０がデバイス管理制御用ファイルのインストールの処理を終了する（Ｓ１４０７）。
本実施形態においては、デバイス（ＭＦＰ３）に対応したデバイス管理制御用ファイル８００が検出され、インストールされたものとする。ステップＳ１４０４において、デバイス管理制御用ファイル８００が見つからなかった場合、デバイス管理８０がデバイス管理制御用ファイル８００をインストールせずに、デバイス管理制御用ファイルのインストールの処理を終了する（Ｓ１４０７）。
【００４０】
図１３は、デバイス管理画面の起動の処理の一例を示すフローチャートである。図１３のフローチャートに係るプログラムは、ＨＤＤ２０２に記憶されており、ＲＡＭ２０１に読み出され、ＣＰＵ２０４により実行される。
図１１のステップＳ１３０８において、デバイス管理８０がデバイス管理の起動の処理を実行すると、図１３において、デバイス管理８０がデバイス管理画面の起動の処理を開始する（Ｓ１５０１）。また、ユーザがフォルダ５００内のデバイス５０３を選択した場合も、デバイス管理８０がデバイス管理画面の起動の処理を開始する。
デバイス管理制御部９０２がフォルダ５００にて選択されたデバイス名を取得する（Ｓ１５０２）。本実施形態においては、デバイス５０３が選択されているので、「ＡＢＣ  Ｋｍｍｎ」というデバイス名が取得される。このデバイス名をもとに、デバイス管理制御用ファイル読取り部９０４が図１２のステップＳ１４０５で保存された図８及び図９に示すデバイス管理制御用ファイル８００をロードする（Ｓ１５０３）。このデバイス管理制御用ファイル８００をもとに、デバイス管理制御部９０２が図１４で後述するデバイス管理画面の表示内容の構築処理を実行する（Ｓ１５０４）。ステップＳ１５０４で構築されたデバイス管理画面の表示内容に従って、デバイス管理制御部９０２が表示部９０１を介してデバイス管理画面６００を表示する（Ｓ１５０５）。そして、デバイス管理８０がデバイス管理画面の起動の処理を終了する（Ｓ１５０６）。
【００４１】
図１４は、デバイス管理画面の表示内容の構築の処理の一例を示すフローチャートである。図１４のフローチャートに係るプログラムは、ＨＤＤ２０２に記憶されており、ＲＡＭ２０１に読み出され、ＣＰＵ２０４により実行される。
図１３のステップＳ１５０４において、デバイス管理画面の表示内容の構築処理が実行されると、デバイス管理制御部９０２がデバイス管理画面の表示内容の構築の処理を開始する（Ｓ１２０１）。デバイス管理制御部９０２が図８の＜ｄｍ：ｎａｍｅ＞要素８０５と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素８０６との内容に従って、プリンタキューボタン６０４を構築する（Ｓ１２０２）。デバイス管理制御部９０２が図８の＜ｄｍ：ｎａｍｅ＞要素８０７と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素８０８との内容に従って、印刷設定ボタン６０５を構築する（Ｓ１２０３）。
デバイス管理制御部９０２が図８の＜ｄｍ：ｄｅｖｉｃｅ＞要素８１１と＜ｄｍ：ａｖａｉｌａｂｌｅ＞要素８１２との内容に従って、スキャナの接続とインストール状況を確認する（Ｓ１２０４）。
確認の結果、ＭＦＰ３がＵＳＢインタフェース１４を介してＰＣ１に接続されていて（Ｓ１２０５）、製造元（ＡＢＣ社）製のＩＨＶ  ＷＩＡドライバ７０４がインストールされている場合、ステップ１２０６へ進む。或いは、ＭＦＰ３がネットワーク４を介してＷＳＤを使ってＰＣ１に接続されていて、ＯＳ標準のＳｔａｎｄａｒｄ  ＷＩＡドライバ７０３がインストールされている場合（Ｓ１２０５）、ステップ１２０６へ進む。これらの何れにも該当しない場合（Ｓ１２０５）、ステップＳ１２０７へ進む。
ステップＳ１２０６において、デバイス管理制御部９０２が図８の＜ｄｍ：ｎａｍｅ＞要素８０９と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素８１３との内容に従って、読み込み（ＷＩＡ）ボタン６１０を構築する。ステップＳ１２０６は、ＩＨＶ  ＷＩＡドライバ７０４又はＳｔａｎｄａｒｄ  ＷＩＡドライバ７０３によるＵＳＢ又はネットワーク（ＷＳＤ）接続での画像の読み込みが可能なケースを表す。
【００４２】
ステップＳ１２０７において、デバイス管理制御部９０２が図８の＜ｄｍ：ｄｅｖｉｃｅ＞要素８１５と＜ｄｍ：ａｖａｉｌａｂｌｅ＞要素８１６との内容に従って、ストレージ機能の接続とインストール状況を確認する。又は、ステップＳ１２０７において、デバイス管理制御部９０２が図８の＜ｄｍ：ｄｅｖｉｃｅ＞要素８１９と＜ｄｍ：ａｖａｉｌａｂｌｅ＞要素８２０との内容に従って、ストレージ機能の接続とインストール状況を確認する。
確認の結果、ＭＦＰ３がＵＳＢインタフェース１４を介してＰＣ１に接続されていて、ＯＳ標準のストレージクラスのドライバがインストールされている場合（Ｓ１２０８）、ステップＳ１２０９へ進む。それ以外の場合（Ｓ１２０８）、ステップＳ１２１０へ進む。
ステップＳ１２０９において、デバイス管理制御部９０２が図８の＜ｄｍ：ｎａｍｅ＞要素８１４と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素８１７との内容に従って、ＵＳＢ接続用の読み込み（ＴＷＡＩＮ）ボタン６１１を構築する。ステップＳ１２０９は、ＴＷＡＩＮドライバ１４１によるＵＳＢ接続での画像の読み込みが可能なケースを表す。
ステップＳ１２１０において、デバイス管理制御部９０２が図８の＜ｄｍ：ｎａｍｅ＞要素８１８と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素８２１との内容に従って、図６の（ｄ）に示すスキャナ選択ダイアログ６２５を表示する。そして、デバイス管理制御部９０２は、ユーザによって選択される接続用の読み込み（ＴＷＡＩＮ）ボタン６１１を構築する。ステップＳ１２１０は、ＴＷＡＩＮドライバ１４１によるＵＳＢ接続での画像の読み込みができないケース、例えば、ＰＣ１とＭＦＰ３とがＵＳＢインタフェース１４やネットワーク４を介して接続されていないケースを表す。この様なケースにおいては、ＴＷＡＩＮアプリケーション１４２が、まず、図６の（ｄ）に示すスキャナ選択ダイアログ６２５を表示する。そして、ユーザが選択したＴＷＡＩＮドライバをスキャナ選択部６２１にセットした状態で、ＴＷＡＩＮアプリケーション１４２が起動するのが望ましい。従って、図６の（ｄ）に示すスキャナ選択ダイアログ６２５を表示させる読み込み（ＴＷＡＩＮ）ボタン６１１を構築する。
【００４３】
そして、デバイス管理制御部９０２が図８の＜ｄｍ：ｄｅｖｉｃｅ＞要素８２３、＜ｄｍ：ａｖａｉｌａｂｌｅ＞要素８２４、及び＜ｄｍ：ｐｏｒｔ＞要素８２５の内容に従って、プリンタの接続とインストール状況とを確認する（Ｓ１２１１）。
確認の結果、ＭＦＰ３がネットワーク４を介してＷＳＤを使ってＰＣ１に接続されていて、プリンタドライバ５０がインストールされている場合（Ｓ１２１２）、ステップＳ１２１３へ進む。それ以外の場合（Ｓ１２１２）、ステップＳ１２１４へ進む。ステップＳ１２１３において、デバイス管理制御部９０２が図８の＜ｄｍ：ｎａｍｅ＞要素８２２と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素８２６との内容に従って、ネットワーク（ＷＳＤ）接続用の読み込み（ＴＷＡＩＮ）ボタン６１１を構築する。
ステップＳ１２１３は、ＴＷＡＩＮドライバ１４１によるネットワーク（ＷＳＤ）接続での画像の読み込みが可能なケースを表す。
デバイス管理制御部９０２が図９の＜ｄｍ：ｄｅｖｉｃｅ＞要素８２８、＜ｄｍ：ａｖａｉｌａｂｌｅ＞要素８２９、及び＜ｄｍ：ｐｏｒｔ＞要素８３０〜８３７の内容に従って、プリンタの接続とインストール状況を確認する（Ｓ１２１４）。
確認の結果、ＭＦＰ３がネットワーク４を介してＩＨＶネイティブプロトコルを使ってＰＣ１に接続されていて、プリンタドライバ５０がインストールされている場合（Ｓ１２１５）、ステップＳ１２１６へ進む。それ以外の場合、ステップＳ１２１７へ進み、デバイス管理画面の表示内容の構築処理を終了する。
ステップＳ１２１６においてデバイス管理制御部９０２が図９の＜ｄｍ：ｎａｍｅ＞要素８２７と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素８３８との内容に従ってネットワーク（ＩＨＶネイティブプロトコル）接続用の読み込み（ＴＷＡＩＮ）ボタン６１１を構築する。ステップＳ１２１６は、ＴＷＡＩＮドライバ１４１によるネットワーク（ＩＨＶネイティブプロトコル）接続での画像の読み込みが可能なケースを表す。その後、ステップＳ１２１７へ進み、デバイス管理画面の表示内容の構築処理を終了する。
【００４４】
図１５は、ＴＷＡＩＮアプリケーションの起動の処理の一例を示すフローチャートである。図１５のフローチャートに係るプログラムは、ＨＤＤ２０２に記憶されており、ＲＡＭ２０１に読み出され、ＣＰＵ２０４により実行される。
デバイス管理画面６００上の読み込み（ＴＷＡＩＮ）ボタン６１１が押下されると（指定されると）、ＴＷＡＩＮアプリケーション１４２の起動の処理が開始される（Ｓ１１０１）。ステップＳ１１０１において、図１０のデバイス管理８０内のデバイス管理制御部９０２が、リンク実行部９０３を介して図８、図９の＜ｄｍ：ｅｘｅｃｕｔｅ＞要素８１７、８２１、８２６、又は８３８に記載されている情報をアプリケーション制御部９０７に渡す。この情報から、アプリケーション制御部９０７が第１引数のＴＷＡＩＮドライバ名で表されたデバイス指定情報を取得する（Ｓ１１０２）。
アプリケーション制御部９０７が第１引数のＴＷＡＩＮドライバ名、即ち、デバイス指定情報の有無を確認し、デバイスの指定（デバイス指定情報）が有る場合（Ｓ１１０３）、ステップＳ１１１１へ進む。ステップＳ１１０３において、デバイスの指定（デバイス指定情報）が無い場合、ステップＳ１１０５へ進む。本実施形態では、図８、図９の＜ｄｍ：ｅｘｅｃｕｔｅ＞要素８１７、８２１、８２６、又は８３８に記載されている第１引数のＴＷＡＩＮドライバ名によりデバイスの指定が行われるので、ステップＳ１１０３からステップＳ１１１１へ進む。例えば、第１引数がセットされずにＴＷＡＩＮアプリケーション１４２が起動された場合、ステップＳ１１０３からステップＳ１１０５へ進む。
ステップＳ１１１１において、アプリケーション制御部９０７が、第１引数のＴＷＡＩＮドライバ名が""（空）で不明なデバイスであると判定した場合、ステップＳ１１１２へ進み、不明なデバイスでないと判定した場合、ステップＳ１１０４へ進む。ステップＳ１１１２において、アプリケーション制御部９０７が、図６の（ｄ）に示すスキャナ選択ダイアログ６２５を表示する。アプリケーション制御部９０７は、ユーザがスキャナ選択部６２６でＴＷＡＩＮドライバを選択してＯＫボタン６２７を押下すると、選択されているＴＷＡＩＮドライバ名で指定されるスキャナ（ＴＷＡＩＮドライバ）を第１引数にセットした状態にして、ステップＳ１１０４へ進む。
ステップＳ１１０４において、デフォルトデバイス設定部９０８が指定されたデバイス（ＴＷＡＩＮドライバ名で指定されるスキャナ）をＴＷＡＩＮアプリケーション１４２のデフォルトデバイスに設定し、ステップＳ１１０９へ進む。
ステップＳ１１０５において、アプリケーション制御部９０７が、ステップＳ１１０１でリンク実行部９０３を介してデバイス管理制御部９０２から渡された情報を、起動元判断部９０６へ渡す。前記情報とは、図８、図９の＜ｄｍ：ｅｘｅｃｕｔｅ＞要素８１７、８２１、８２６、又は８３８に記載されている情報である。起動元判断部９０６は、第２引数の起動元を取得する。起動元判断部９０６は、起動元がデバイス管理画面かデバイス管理画面以外かを確認し、起動元がデバイス管理画面（本実施形態ではデバイス管理画面６００）の場合（Ｓ１１０６）、ステップＳ１１０４へ進む。ステップＳ１１０６において、起動元がデバイス管理画面以外の場合、ステップＳ１１０７へ進む。本実施形態では、図８、図９の＜ｄｍ：ｅｘｅｃｕｔｅ＞要素８１７、８２１、８２６、又は８３８に記載されている第２引数の／ｄｅｖｍｎｇにより起動元としてデバイス管理画面６００が指定されるので、ステップＳ１１０６からステップＳ１１０４へ進む。例えば、デバイス管理画面以外からＴＷＡＩＮアプリケーション１４２が起動された場合、起動元として第２引数に「／ｏｔｈｅｒ」が指定されているので、ステップＳ１１０６からステップＳ１１０７へ進む。
【００４５】
ステップＳ１１０７において、デフォルトデバイス設定部９０８がアプリケーション／ＤＤＩインタフェース８４を介して、ＯＳのデフォルトデバイス情報を取得する。ＯＳのデフォルトデバイスとは、図５（ａ）のフォルダ５００にて、デフォルトマーク５０２が付与されているデバイスを表す。本実施形態では、デバイス５０１（ＸＹＺ  Ｄｅｆｇ）がデフォルトデバイスとして設定されているので、ステップＳ１１０７において、「ＸＹＺ  Ｄｅｆｇ」というデバイス名称が取得される。デフォルトデバイス設定部９０８が、ステップＳ１１０７で取得したＯＳのデフォルトデバイスをもとに、デバイス（ドライバ）名をＴＷＡＩＮアプリケーション１４２のデフォルトデバイスに設定し（Ｓ１１０８）、ステップＳ１１０９へ進む。
ステップＳ１１０８において、デフォルトデバイス設定部９０８が、ステップＳ１１０７で取得したＯＳのデフォルトデバイスから適切なデバイス（ドライバ）名を発見できなかった場合、以下の処理を実行する。即ち、デフォルトデバイス設定部９０８は、ＴＷＡＩＮアプリケーション１４２が前回起動したときに設定されていたデバイス（ドライバ）名をデフォルトデバイスに設定する。ステップＳ１１０９において、アプリケーション制御部９０７がＴＷＡＩＮアプリケーション１４２を表示し、ＴＷＡＩＮアプリケーションの起動処理を完了する（Ｓ１１１０）。このとき、ステップＳ１１０４又はＳ１１０８で設定されたデフォルトデバイスが選択された状態で、ＴＷＡＩＮアプリケーション１４２が起動して、表示されている。尚、ＴＷＡＩＮアプリケーション１４２のデフォルトデバイスの情報は、ＴＷＡＩＮアプリケーション１４２が管理するＲＡＭ２０１上のメモリ内に保持される。
【００４６】
＜実施形態２＞
図１６は、デバイス管理画面とマニュアルとの一例を示す図である。図１６の（ａ）において、図５（ｂ）で既に説明している内容に関しては、その説明を省略する。図１６（ａ）において、１７７０は、デバイス管理画面であり、図５（ａ）に示すＤｅｖｉｃｅ  ａｎｄ  Ｐｒｉｎｔｅｒｓフォルダ５００内のデバイス５０３が選択されることにより起動されて、表示される。このデバイス管理画面１７７０を使ってＭＦＰ３の管理を行うことができる。デバイス管理画面１７７０の下部には、デバイス５０３に関連付けられた機能へのリンクが表示されている。より具体的には、プリンタキューボタン６０４、印刷設定ボタン６０５、マニュアル表示ボタン１７８０が表示される。図１７、図１８に示す＜ｄｍ：ｆｕｎｃｔｉｏｎｓ＞要素１７８１の中に、それぞれのボタン及び機能を表す＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素８０４、８３９、１７０１、１７０６、１７１１、１７１６、１７２１、１７２６、１７３１、１７３６が記載されている。マニュアル表示ボタン１７８０は、ＭＦＰ３の操作説明が記載されている図１６（ｂ）に示すマニュアル１７７１を表示するボタンである。このボタンが押下されると、ＰＣ１内の所定の場所にインストールされているマニュアル１７７１が起動されて、表示される。
図１６（ｂ）において、１７７１はＭＦＰ３のマニュアルであり、ＣＨＭ形式のファイル（Ｍａｎｕａｌ．ｃｈｍ）で構成される。マニュアル１７７１機種と言語とに依存していて、専用のセットアップアプリケーションにより、次に示すような所定の場所にインストールされる。また、このセットアップアプリケーションは、マニュアル１７７１がインストールされているフルパスを、次に示すようなレジストリ情報（文字列（Ｔｙｐｅ：  ＲＥＧ＿ＳＺ））としても記載する。ここで、レジストリ情報とは、状態情報の一例であり、レジストリに保存される情報である。
【００４７】
［ＯＳのインストール先がＣドライブで言語が英語の場合の例］
インストールされる場所：
Ｃ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ｅｎｇｌｉｓｈ￥Ｍａｎｕａｌ．ｃｈｍ
レジストリ情報：
ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＯＦＴＷＡＲＥ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥
Ｎａｍｅ  Ｄａｔａ
ｍａｎｕａｌ＿ｐａｔｈ  Ｃ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ｅｎｇｌｉｓｈ￥Ｍａｎｕａｌ．ｃｈｍ
［ＯＳのインストール先がＥドライブで言語が日本語の場合の例］
インストールされる場所：
Ｅ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ｊａｐａｎｅｓｅ￥Ｍａｎｕａｌ．ｃｈｍ
レジストリ情報：
ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＯＦＴＷＡＲＥ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥
Ｎａｍｅ  Ｄａｔａ
ｍａｎｕａｌ＿ｐａｔｈ  Ｅ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ｊａｐａｎｅｓｅ￥Ｍａｎｕａｌ．ｃｈｍ
［ＯＳのインストール先がＨドライブで言語がアラビア語の場合の例］
インストールされる場所：
Ｈ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ａｒａｂｉｃ￥Ｍａｎｕａｌ．ｃｈｍ
レジストリ情報：
ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＯＦＴＷＡＲＥ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥
Ｎａｍｅ  Ｄａｔａ
ｍａｎｕａｌ＿ｐａｔｈ  Ｈ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ａｒａｂｉｃ￥Ｍａｎｕａｌ．ｃｈｍ
［ＯＳのインストール先がＫドライブで言語がロシア語の場合の例］
インストールされる場所：
Ｋ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ｒｕｓｓｉａｎ￥Ｍａｎｕａｌ．ｃｈｍ
レジストリ情報：
ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＯＦＴＷＡＲＥ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥
Ｎａｍｅ  Ｄａｔａ
ｍａｎｕａｌ＿ｐａｔｈ  Ｋ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ｒｕｓｓｉａｎ￥Ｍａｎｕａｌ．ｃｈｍ
【００４８】
通常、他のアプリケーション等からマニュアル１７７１を起動する場合は、前記レジストリ情報からマニュアル１７７１のフルパスを取得し、このフルパスを使ってマニュアル１７７１を起動する。尚、本実施形態においては、ＭＦＰ３用のマニュアルとして、英語、日本語、アラビア語、ロシア語の４言語が用意されている。
図１７及び図１８は、デバイス管理制御用ファイルの内容の一例を示す図である。デバイス管理制御用ファイル１７００は英語用のものである。これらの図に示す情報が、ファイル格納部１１又は１２に格納されている。図１７及び図１８において、図８又は図９で既に説明している内容に関しては、その説明を省略する。デバイス管理制御用ファイル１７００には、デバイス管理画面１７７０を構成するために必要な情報が記載されている。ＭＦＰ３がＰＣ１に接続されているときに起動して表示されるデバイス管理画面１７７０上に、図１６に示すボタン、つまり、
プリンタキューボタン６０４、印刷設定ボタン６０５、マニュアル表示ボタン１７８０
を表示するために、それぞれのボタン及び機能を表す
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素８０４、８３９、１７０１、１７０６、１７１１、１７１６、１７２１、１７２６、１７３１、１７３６
が、＜ｄｍ：ｆｕｎｃｔｉｏｎｓ＞要素１７８１の中にセットされている。
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７０１において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ＜／ｄｍ：ｎａｍｅ＞要素１７０２
には、マニュアル表示ボタン１７８０に表示される「Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ」という文字列がセットされている。
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素１７０３
には、マニュアル表示ボタン１７８０を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素１７０４
は、レジストリ情報として、
ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＯＦＴＷＡＲＥ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥
Ｎａｍｅ  Ｄａｔａ
ｍａｎｕａｌ＿ｐａｔｈ  Ａ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ｅｎｇｌｉｓｈ￥Ｍａｎｕａｌ．ｃｈｍ
がセットされている場合を表す。これは、ＯＳのインストール先がＡドライブで言語が英語の場合を表す。尚、図１７及び図１８において、「ＨＫＬＭ」は「ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ」の短縮形であり、ＯＳ内で「ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ」に変換されて処理される。
【００４９】
＜ｄｍ：ｅｘｅｃｕｔｅ＞要素１７０５
には、ＯＳのインストール先がＡドライブで言語が英語の環境において、英語のマニュアル１７７１がインストールされている場合に、それを実行するためのマニュアル１７７１のフルパスがセットされている。
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７０６において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ＜／ｄｍ：ｎａｍｅ＞要素１７０７
には、マニュアル表示ボタン１７８０に表示される「Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ」という文字列がセットされている。＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素１７０８には、マニュアル表示ボタン１７８０を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素１７０９
は、レジストリ情報として、
ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＯＦＴＷＡＲＥ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥
Ｎａｍｅ  Ｄａｔａ
ｍａｎｕａｌ＿ｐａｔｈ  Ｂ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ｅｎｇｌｉｓｈ￥Ｍａｎｕａｌ．ｃｈｍ
がセットされている場合を表す。これは、ＯＳのインストール先がＢドライブで言語が英語の場合を表す。
＜ｄｍ：ｅｘｅｃｕｔｅ＞要素１７１０
には、ＯＳのインストール先がＢドライブで言語が英語の環境において、英語のマニュアル１７７１がインストールされている場合に、それを実行するためのマニュアル１７７１のフルパスがセットされている。ＯＳのインストール先がＣ〜Ｘドライブで言語が英語の場合の＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素に関しては、＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７０１、＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７０６と比較してドライブ情報が異なるだけなので、図示を省略する。
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７１１において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ＜／ｄｍ：ｎａｍｅ＞要素１７１２
には、マニュアル表示ボタン１７８０に表示される「Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ」という文字列がセットされている。＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素１７１３には、マニュアル表示ボタン１７８０を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素１７１４
は、レジストリ情報として、
ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＯＦＴＷＡＲＥ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥
Ｎａｍｅ  Ｄａｔａ
ｍａｎｕａｌ＿ｐａｔｈ  Ｙ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ｅｎｇｌｉｓｈ￥Ｍａｎｕａｌ．ｃｈｍ
がセットされている場合を表す。これは、ＯＳのインストール先がＹドライブで言語が英語の場合を表す。＜ｄｍ：ｅｘｅｃｕｔｅ＞要素１７１５には、ＯＳのインストール先がＹドライブで言語が英語の環境において、英語のマニュアル１７７１がインストールされている場合に、それを実行するためのマニュアル１７７１のフルパスがセットされている。
【００５０】
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７１６において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ＜／ｄｍ：ｎａｍｅ＞要素１７１７
には、マニュアル表示ボタン１７８０に表示される「Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ」という文字列がセットされている。
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素１７１８
には、マニュアル表示ボタン１７８０を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素１７１９
は、レジストリ情報として、
ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＯＦＴＷＡＲＥ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥
Ｎａｍｅ  Ｄａｔａ
ｍａｎｕａｌ＿ｐａｔｈ  Ｚ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ｅｎｇｌｉｓｈ￥Ｍａｎｕａｌ．ｃｈｍ
がセットされている場合を表す。これは、ＯＳのインストール先がＺドライブで言語が英語の場合を表す。
＜ｄｍ：ｅｘｅｃｕｔｅ＞要素１７２０
には、ＯＳのインストール先がＺドライブで言語が英語の環境において、英語のマニュアル１７７１がインストールされている場合に、それを実行するためのマニュアル１７７１のフルパスがセットされている。
ＯＳのインストール先のドライブとして、Ａ〜Ｚドライブが論理的に考えられる。これに対して、この様な＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７０１〜１７１６を用意しておくことで、これらの中の任意のドライブにＯＳがインストールされているケースにおいて、マニュアル表示ボタン１７８０を正常に表示することができる。そして、このマニュアル表示ボタン１７８０が押下されたときに、英語のマニュアル１７７１を正常に表示することができるので、ユーザの操作性に優れる。
【００５１】
本実施形態において、デバイス管理制御用ファイル１７００は英語用と日本語用とのものが用意されているものとする。日本語用のデバイス管理制御用ファイル１７００では、「Ｅｎｇｌｉｓｈ」という文字列が「Ｊａｐａｎｅｓｅ」に置換された内容となっている。例えば、＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７０１に着目した場合、日本語用のデバイス管理制御用ファイル１７００では、次に示すような内容となる。
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ＜／ｄｍ：ｎａｍｅ＞
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞
＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ  ｋｅｙ＝"ＨＫＬＭ￥ＳＯＦＴＷＡＲＥ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ"ｎａｍｅ＝"ｍａｎｕａｌ＿ｐａｔｈ"＞
Ａ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ｊａｐａｎｅｓｅ￥Ｍａｎｕａｌ．ｃｈｍ
＜／ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞
＜／ｄｍ：ｒｅｑｕｉｒｅｄ＞
＜ｄｍ：ｅｘｅｃｕｔｅ＞
Ａ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ｊａｐａｎｅｓｅ￥Ｍａｎｕａｌ．ｃｈｍ
＜／ｄｍ：ｅｘｅｃｕｔｅ＞
＜／ｄｍ：ｆｕｎｃｔｉｏｎ＞
これにより、ＯＳの言語が日本語の場合においても、Ａ〜Ｚの中の任意のドライブにＯＳがインストールされているケースにおいて、マニュアル表示ボタン１７８０を正常に表示することができる。従って、このマニュアル表示ボタン１７８０が押下されたときに、日本語のマニュアル１７７１を正常に表示することができるので、ユーザの操作性に優れる。
【００５２】
ＯＳの言語が英語や日本語以外の場合、その言語用のデバイス管理制御用ファイル１７００が用意されていないので、デフォルト言語のデバイス管理制御用ファイルとして、英語のデバイス管理制御用ファイル１７００がインストールされて、参照される。従って例えばＯＳの言語が、マニュアル１７７１が用意されているアラビア語等の場合、＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７０１〜１７１６ではこれらの言語用のマニュアル１７７１を表示するためのマニュアル表示ボタン１７８０を表示させることができない。この様に、マニュアル１７７１が用意されているが、デバイス管理制御用ファイル１７００が用意されていない言語に対しては、図１８に示すようなこれらの言語専用の＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７２１〜１７３６を別途用意する必要がある。
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７２１において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ＜／ｄｍ：ｎａｍｅ＞要素１７２２
には、マニュアル表示ボタン１７８０に表示される「Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ」という文字列がセットされている。
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素１７２３
には、マニュアル表示ボタン１７８０を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素１７２４
は、レジストリ情報として、
ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＯＦＴＷＡＲＥ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥
Ｎａｍｅ  Ｄａｔａ
ｍａｎｕａｌ＿ｐａｔｈ  Ａ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ａｒａｂｉｃ￥Ｍａｎｕａｌ．ｃｈｍ
がセットされている場合を表す。これは、ＯＳのインストール先がＡドライブで言語がアラビア語の場合を表す。
＜ｄｍ：ｅｘｅｃｕｔｅ＞要素１７２５
には、ＯＳのインストール先がＡドライブで言語がアラビア語の環境において、アラビア語のマニュアル１７７１がインストールされている場合に、それを実行するためのマニュアル１７７１のフルパスがセットされている。ＯＳのインストール先がＢ〜Ｙドライブで言語がアラビア語の場合の＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素に関しては、＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７２１と比較してドライブ情報が異なるだけなので、図示を省略する。
【００５３】
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７２６において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ＜／ｄｍ：ｎａｍｅ＞要素１７２７
には、マニュアル表示ボタン１７８０に表示される「Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ」という文字列がセットされている。
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素１７２８
には、マニュアル表示ボタン１７８０を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素１７２９
は、レジストリ情報として、
ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＯＦＴＷＡＲＥ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥
Ｎａｍｅ  Ｄａｔａ
ｍａｎｕａｌ＿ｐａｔｈ  Ｚ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ａｒａｂｉｃ￥Ｍａｎｕａｌ．ｃｈｍ
がセットされている場合を表す。これは、ＯＳのインストール先がＺドライブで言語がアラビア語の場合を表す。
＜ｄｍ：ｅｘｅｃｕｔｅ＞要素１７３０
には、ＯＳのインストール先がＺドライブで言語がアラビア語の環境において、アラビア語のマニュアル１７７１がインストールされている場合に、それを実行するためのマニュアル１７７１のフルパスがセットされている。
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７３１において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ＜／ｄｍ：ｎａｍｅ＞要素１７３２
には、マニュアル表示ボタン１７８０に表示される「Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ」という文字列がセットされている。
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素１７３３
には、マニュアル表示ボタン１７８０を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素１７３４
は、レジストリ情報として、
ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＯＦＴＷＡＲＥ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥
Ｎａｍｅ  Ｄａｔａ
ｍａｎｕａｌ＿ｐａｔｈ  Ａ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ｒｕｓｓｉａｎ￥Ｍａｎｕａｌ．ｃｈｍ
がセットされている場合を表す。これは、ＯＳのインストール先がＡドライブで言語がロシア語の場合を表す。＜ｄｍ：ｅｘｅｃｕｔｅ＞要素１７３５には、ＯＳのインストール先がＡドライブで言語がロシア語の環境において、ロシア語のマニュアル１７７１がインストールされている場合に、それを実行するためのマニュアル１７７１のフルパスがセットされている。ＯＳのインストール先がＢ〜Ｙドライブで言語がロシア語の場合の＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素に関しては、＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７３１と比較してドライブ情報が異なるだけなので、図示を省略する。
【００５４】
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７３６において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ＜／ｄｍ：ｎａｍｅ＞要素１７３７
には、マニュアル表示ボタン１７８０に表示される「Ｏｎ−ｓｃｒｅｅｎ  Ｍａｎｕａｌ」という文字列がセットされている。
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素１７３８
には、マニュアル表示ボタン１７８０を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素１７３９
は、レジストリ情報として、
ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＯＦＴＷＡＲＥ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥
Ｎａｍｅ  Ｄａｔａ
ｍａｎｕａｌ＿ｐａｔｈ  Ｚ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥ＡＢＣ￥ＡＢＣ  Ｋｍｍｎ￥Ｒｕｓｓｉａｎ￥Ｍａｎｕａｌ．ｃｈｍ
がセットされている場合を表す。これは、ＯＳのインストール先がＺドライブで言語がロシア語の場合を表す。
＜ｄｍ：ｅｘｅｃｕｔｅ＞要素１７４０
には、ＯＳのインストール先がＺドライブで言語がロシア語の環境において、ロシア語のマニュアル１７７１がインストールされている場合に、それを実行するためのマニュアル１７７１のフルパスがセットされている。
本実施形態におけるアラビア語やロシア語の例の様に、マニュアル１７７１が用意されているが、デバイス管理制御用ファイル１７００が用意されていない言語に対しては、図１８に示すようなこれらの言語専用の＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７２１〜１７３６を用意しておく。これにより、ＯＳの言語がこれらの言語の中の任意の何れかの場合においても、マニュアル表示ボタン１７８０を正常に表示することができる。従って、このマニュアル表示ボタン１７８０が押下されたときに、そのＯＳの言語と同じ言語のマニュアル１７７１を正常に表示することができるので、ユーザの操作性に優れる。
また、これらの言語においても、ＯＳのインストール先のドライブとして、Ａ〜Ｚドライブが論理的に考えられる。これに対しても、この様な＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７２１〜１７２６、＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素１７３１〜１７３６を用意しておく。このようにすることで、これらの中の任意のドライブにＯＳがインストールされているケースにおいて、マニュアル表示ボタン１７８０を正常に表示することができる。つまり、このマニュアル表示ボタン１７８０が押下されたときに、ＯＳの言語と同じ言語のマニュアル１７７１を正常に表示することができるので、ユーザの操作性に優れる。
【００５５】
図１９は、デバイス管理画面の表示内容の構築の処理の一例を示すフローチャートである。図１９のフローチャートに係るプログラムは、ＨＤＤ２０２に記憶されており、ＲＡＭ２０１に読み出され、ＣＰＵ２０４により実行される。図１３のステップＳ１５０４において、デバイス管理画面の表示内容の構築処理が実行されると、デバイス管理制御部９０２がデバイス管理画面の表示内容の構築の処理を開始する（Ｓ１９０１）。デバイス管理制御部９０２がプリンタキューボタン６０４を構築する（Ｓ１９０２）。デバイス管理制御部９０２が印刷設定ボタン６０５を構築する（Ｓ１９０３）。
デバイス管理制御部９０２が図１７の＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素１７０４の内容に従って、ＯＳの言語と同じ言語用のマニュアル１７７１のインストール状況を確認する（Ｓ１９０４）。図１７の＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素１７０４は、ＯＳがＡドライブにインストールされている場合の例である。ＯＳの言語と同じ言語用のマニュアル１７７１がインストールされている場合（Ｓ１９０５）、ステップＳ１９０６へ進む。ＯＳの言語と同じ言語用のマニュアル１７７１がインストールされていない場合、ステップＳ１９０７へ進む。
ステップＳ１９０６においてデバイス管理制御部９０２が図１７の＜ｄｍ：ｎａｍｅ＞要素１７０２と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素１７０５との内容に従ってＯＳの言語と同じ言語用のマニュアル１７７１を表示するためのマニュアル表示ボタン１７８０を構築する。図１７の＜ｄｍ：ｎａｍｅ＞要素１７０２は、ＯＳがＡドライブにインストールされている場合の例である。また、図１７の＜ｄｍ：ｅｘｅｃｕｔｅ＞要素１７０５は、ＯＳがＡドライブにインストールされている場合の例である。
【００５６】
ステップＳ１９０７において、デバイス管理制御部９０２が図１８の＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素１７２４の内容に従って、アラビア語用のマニュアル１７７１のインストール状況を確認する。図１８の＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素１７２４は、ＯＳがＡドライブにインストールされている場合の例である。アラビア語用のマニュアル１７７１がインストールされている場合（Ｓ１９０８）、ステップＳ１９０９へ進む。アラビア語用のマニュアル１７７１がインストールされていない場合、ステップＳ１９１０へ進む。ステップＳ１９０９において、デバイス管理制御部９０２が図１８の＜ｄｍ：ｎａｍｅ＞要素１７２２と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素１７２５との内容に従って、アラビア語用のマニュアル１７７１を表示するためのマニュアル表示ボタン１７８０を構築する。図１８の＜ｄｍ：ｎａｍｅ＞要素１７２２は、ＯＳがＡドライブにインストールされている場合の例である。また、図１８の＜ｄｍ：ｅｘｅｃｕｔｅ＞要素１７２５は、ＯＳがＡドライブにインストールされている場合の例である。
ステップＳ１９１０において、デバイス管理制御部９０２が図１８の＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素１７３４の内容に従って、ロシア語用のマニュアル１７７１のインストール状況を確認する。図１８の＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素１７３４は、ＯＳがＡドライブにインストールされている場合の例である。ロシア語用のマニュアル１７７１がインストールされている場合（Ｓ１９１１）、ステップＳ１９１２へ進む。ロシア語用のマニュアル１７７１がインストールされていない場合、ステップＳ１９１３へ進み、デバイス管理画面の表示内容の構築処理を終了する。
ステップＳ１９１２において、デバイス管理制御部９０２が図１８の＜ｄｍ：ｎａｍｅ＞要素１７３２と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素１７３５との内容に従って、ロシア語用のマニュアル１７７１を表示するためのマニュアル表示ボタン１７８０を構築する。そして、デバイス管理画面の表示内容の構築処理を終了する（Ｓ１９１３）。図１８の＜ｄｍ：ｎａｍｅ＞要素１７３２は、ＯＳがＡドライブにインストールされている場合の例である。また、図１８の＜ｄｍ：ｅｘｅｃｕｔｅ＞要素１７３５は、ＯＳがＡドライブにインストールされている場合の例である。
【００５７】
＜実施形態３＞
実施形態１では、周辺装置の例としてカラーインクジェットプリンタ、カラーファクシミリ、カラースキャナ、フラッシュメモリ用の外部ストレージ等を備えるＭＦＰ３を例に挙げた。そして、以下の（１）〜（４）に示すような状態やポート名を利用して、ユーザの使用環境に応じて適切なデバイスの機能を提供する、という目的を達成した。
（１）スキャナ機能とは関係の無い別の機能である「ストレージ機能が利用可能であるという状態」
（２）スキャナ機能とは関係の無い別の機能である「ストレージ機能が利用できないという状態」
（３）スキャナ機能とは関係の無い別の機能である「プリンタ機能が利用可能であるという状態」と「プリンタ機能のポート名」
（４）スキャナ機能とは関係の無い別の機能である「プリンタ機能が利用可能であるという状態」と「プリンタ機能のポート名の排他論理」
しかしながら、周辺装置の例として、
・外部ストレージを備えておらず、プリンタとスキャナとだけから構成されるＭＦＰ
・プリンタを備えておらず、スキャナ、ファクシミリ、外部ストレージだけから構成されるＭＦＰ
・プリンタや外部ストレージの機能を備えていない単機能のカラースキャナ
等を挙げた場合、前述した実施形態１では上述した目的を達成することができない。実施形態３では、この様なＭＦＰや単機能のスキャナ等の任意の周辺装置において、上述した目的を達成することができる周辺装置制御システムの例を説明する。
以下の実施形態３の中において、説明の都合上、ＭＦＰ３はプリンタ機能及び外部ストレージを備えていない単機能のスキャナであると仮定する。
【００５８】
図２０は、デバイス管理制御用ファイルの内容を表す図である。デバイス管理制御用ファイル９５０は、英語用のものである。これらの図に示す情報が、ファイル格納部１１又は１２に格納されている。図２０において、図８と同じ内容に関しては、その説明を省略する。
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素９５１において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｉｍａｇｅ  Ｓｃａｎ  （ＴＷＡＩＮ）＜／ｄｍ：ｎａｍｅ＞要素９５２
には、読み込み（ＴＷＡＩＮ）ボタン６１１に表示される「Ｉｍａｇｅ  Ｓｃａｎ  （ＴＷＡＩＮ）」という文字列がセットされている。
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素９５３
には、読み込み（ＴＷＡＩＮ）ボタン６１１を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ  ｋｅｙ＝"ＨＫＣＵ￥Ｓｏｆｔｗａｒｅ￥ＡＢＣ￥Ｎｅｔｗｏｒｋ  Ｕｔｉｌｉｔｙ￥Ｋｍｍｎ"  ｎａｍｅ＝"ａｃｔｉｖｅ"  ｏｐｔｉｏｎ＝"ｅｑｕａｌ"＞＜／ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素９５４
には、前記条件としてレジストリ情報がセットされており、ｏｐｔｉｏｎ属性で指定されている"ｅｑｕａｌ"が「一致する」の意味を表すので、次に示すレジストリ情報と一致する場合に、読み込み（ＴＷＡＩＮ）ボタン６１１が表示される。
ＨＫＥＹ＿ＣＵＲＲＥＮＴ＿ＵＳＥＲ＿ＭＡＣＨＩＮＥ￥Ｓｏｆｔｗａｒｅ￥ＡＢＣ￥Ｎｅｔｗｏｒｋ  Ｕｔｉｌｉｔｙ￥Ｋｍｍｎ￥
Ｎａｍｅ：  ａｃｔｉｖｅ
Ｔｙｐｅ：  ＲＥＧ＿ＳＺ
Ｄａｔａ：  無し
即ち、ａｃｔｉｖｅに、値がセットされていない場合に読み込み（ＴＷＡＩＮ）ボタン６１１が表示される。
＜ｄｍ：ｅｘｅｃｕｔｅ＞ＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）"  ／ｄｅｖｍｎｇ＜／ｄｍ：ｅｘｅｃｕｔｅ＞要素９５５
には、ＴＷＡＩＮアプリケーション１４２を起動する機能（プログラム）を表すＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）"  ／ｄｅｖｍｎｇというコードがセットされている。これにより読み込み（ＴＷＡＩＮ）ボタン６１１が押下された場合、デフォルトのスキャナ（ドライバ）にＵＳＢ接続のＴＷＡＩＮドライバ１４１を表す「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）」がセットされた状態でＴＷＡＩＮアプリケーション１４２が起動される。従って、ユーザの操作性に優れる。
【００５９】
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素９５６において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｉｍａｇｅ  Ｓｃａｎ  （ＴＷＡＩＮ）  −  Ｓｅｌｅｃｔ  Ｄｅｖｉｃｅ＜／ｄｍ：ｎａｍｅ＞要素９５７
には、読み込み（ＴＷＡＩＮ）ボタン６１１に表示される「Ｉｍａｇｅ  Ｓｃａｎ  （ＴＷＡＩＮ）  −  Ｓｅｌｅｃｔ  Ｄｅｖｉｃｅ」という文字列がセットされている。尚、このように、読み込み（ＴＷＡＩＮ）ボタン６１１に表示される文字列は、＜ｄｍ：ｎａｍｅ＞要素にセットされている文字列が反映されるので、図５の（ｂ）で表示されている文字列と若干異なる場合がある。
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素９５８
には、読み込み（ＴＷＡＩＮ）ボタン６１１を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ  ｋｅｙ＝"ＨＫＣＵ￥Ｓｏｆｔｗａｒｅ￥ＡＢＣ￥Ｎｅｔｗｏｒｋ  Ｕｔｉｌｉｔｙ￥Ｋｍｍｎ"  ｎａｍｅ＝"ａｃｔｉｖｅ"  ｏｐｔｉｏｎ＝"ｅｑｕａｌ"＞０＜／ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素９５９
には、前記条件としてレジストリ情報がセットされており、ｏｐｔｉｏｎ属性で指定されている"ｅｑｕａｌ"が「一致する」の意味を表すので、次に示すレジストリ情報と一致する場合に、読み込み（ＴＷＡＩＮ）ボタン６１１が表示される。
ＨＫＥＹ＿ＣＵＲＲＥＮＴ＿ＵＳＥＲ＿ＭＡＣＨＩＮＥ￥Ｓｏｆｔｗａｒｅ￥ＡＢＣ￥Ｎｅｔｗｏｒｋ  Ｕｔｉｌｉｔｙ￥Ｋｍｍｎ￥
Ｎａｍｅ：  ａｃｔｉｖｅ
Ｔｙｐｅ：  ＲＥＧ＿ＳＺ
Ｄａｔａ：  ０
即ち、ａｃｔｉｖｅに「０」の値がセットされている場合に読み込み（ＴＷＡＩＮ）ボタン６１１が表示される。
【００６０】
＜ｄｍ：ｅｘｅｃｕｔｅ＞ＴＷＡＩＮＳｃａｎ．ｅｘｅ  ""  ／ｄｅｖｍｎｇ＜／ｄｍ：ｅｘｅｃｕｔｅ＞要素９６０
には、ＴＷＡＩＮアプリケーション１４２を起動する機能（プログラム）を表すＴＷＡＩＮＳｃａｎ．ｅｘｅ  ""  ／ｄｅｖｍｎｇというコードがセットされている。これにより読み込み（ＴＷＡＩＮ）ボタン６１１が押下された場合、以下の様にＴＷＡＩＮアプリケーション１４２が起動される。つまり、まず、スキャナ選択ダイアログ６２５が表示され、ユーザが選択したＴＷＡＩＮドライバがスキャナ選択部６２１にセットされた状態でＴＷＡＩＮアプリケーション１４２が起動される。このようにすることで、ユーザが、使用したいスキャナを未だ準備していないようなケースにおいても、使用したいスキャナ（ドライバ）を正しく指定して、ＴＷＡＩＮアプリケーション１４２を起動することができるので、ユーザの操作性に優れる。
【００６１】
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素９６１において、
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｉｍａｇｅ  Ｓｃａｎ  （ＴＷＡＩＮ）＜／ｄｍ：ｎａｍｅ＞要素９６２
には、読み込み（ＴＷＡＩＮ）ボタン６１１に表示される「Ｉｍａｇｅ  Ｓｃａｎ  （ＴＷＡＩＮ）」という文字列がセットされている。
＜ｄｍ：ｒｅｑｕｉｒｅｄ＞要素９６３
には、読み込み（ＴＷＡＩＮ）ボタン６１１を表示するための条件を表す情報がセットされている。
＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ  ｋｅｙ＝"ＨＫＣＵ￥Ｓｏｆｔｗａｒｅ￥ＡＢＣ￥Ｎｅｔｗｏｒｋ  Ｕｔｉｌｉｔｙ￥Ｋｍｍｎ"  ｎａｍｅ＝"ａｃｔｉｖｅ"  ｏｐｔｉｏｎ＝"ｇｒｅａｔｅｒ"＞０＜／ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素９６４
には、前記条件としてレジストリ情報がセットされており、ｏｐｔｉｏｎ属性で指定されている"ｇｒｅａｔｅｒ"が「より大きい」の意味を表す。従って、次に示すレジストリ情報の値より大きい値がセットされている場合に、読み込み（ＴＷＡＩＮ）ボタン６１１が表示される。
ＨＫＥＹ＿ＣＵＲＲＥＮＴ＿ＵＳＥＲ＿ＭＡＣＨＩＮＥ￥Ｓｏｆｔｗａｒｅ￥ＡＢＣ￥Ｎｅｔｗｏｒｋ  Ｕｔｉｌｉｔｙ￥Ｋｍｍｎ￥
Ｎａｍｅ：  ａｃｔｉｖｅ
Ｔｙｐｅ：  ＲＥＧ＿ＳＺ
Ｄａｔａ：  ０
即ち、ａｃｔｉｖｅに「０」より大きい値がセットされている場合に読み込み（ＴＷＡＩＮ）ボタン６１１が表示される。
＜ｄｍ：ｅｘｅｃｕｔｅ＞ＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  Ｎｅｔｗｏｒｋ"  ／ｄｅｖｍｎｇ＜／ｄｍ：ｅｘｅｃｕｔｅ＞要素９６５
には、ＴＷＡＩＮアプリケーション１４２を起動する機能（プログラム）を表すＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  Ｎｅｔｗｏｒｋ"  ／ｄｅｖｍｎｇというコードがセットされている。これにより、読み込み（ＴＷＡＩＮ）ボタン６１１が押下された場合、以下のようにＴＷＡＩＮアプリケーション１４２が起動される。つまり、デフォルトのスキャナ（ドライバ）にＩＨＶネイティブプロトコルのネットワーク接続のＴＷＡＩＮドライバ１４１を表す「ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）  Ｎｅｔｗｏｒｋ」がセットされた状態でＴＷＡＩＮアプリケーション１４２が起動される。従って、ユーザの操作性に優れる。
【００６２】
図２１は、ネットワークユーティリティの一例を表す図である。図２１において、６３０は、ネットワークユーティリティであり、ネットワーク４内のＭＦＰ３等のデバイスからのプッシュスキャンイベントやステータスイベントを監視する為に、定期的にポーリングしてデバイスの状態を取得するソフトウェアである。図２１ではネットワークユーティリティ６３０のメインウィンドウが表示されている状態を表す。ネットワークユーティリティ６３０は、ＯＳの起動時に開始されるプログラムの内の１つとしてスタートアップフォルダに起動用のショートカットが登録されていて、ＯＳが起動したときに起動して、常駐する。６３１は、デバイス表示部であり、ネットワークユーティリティ６３０が監視する対象のデバイスが表示される。６３２、６３４、６４６は、デバイス名であり、ネットワーク４内の監視対象デバイスのデバイス名を表す。例えば、６３２は、ＭＦＰ３のデバイス名であり、「ａａｂｂｃｃｋｍｍｎ０８」は、ＭＦＰ３のＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ａｄｄｒｅｓｓ）である。６３４は、ＭＦＰ３と同一モデル名でシリアル番号が異なるＭＦＰであり、「ａａｂｂｃｃｋｍｍｎ１４」は、このＭＦＰのＭＡＣアドレスである。このようにネットワーク４内に存在する同一モデル名でシリアル番号の異なるデバイスは、ＭＡＣアドレスで識別され、デバイス表示部６３１内で異なるデバイスとして正しく表示される。６３６は、ＡＢＣ社製のＯｐｑｒというモデル名のＭＦＰであり、「ａａｂｂｃｃｏｐｑｒ０１」は、このＭＦＰのＭＡＣアドレスである。６３３、６３５、６３７は、デバイス監視中チェックボックスである。このデバイス監視中チェックボックスがチェックされている場合、ネットワークユーティリティ６３０は、そのデバイスを監視し、チェックされていない場合、ネットワークユーティリティ６３０は、そのデバイスを監視しない。図２１は、ネットワークユーティリティ６３０が、ＡＢＣ  Ｋｍｍｎ  ａａｂｂｃｃｋｍｍｎ０８というデバイス名で表示されているＭＦＰ３だけを監視している状態を表す図である。６３８は、ＯＫボタンであり、このボタンが押下されると、デバイス監視中チェックボックス６３３、６３５、６３７の各設定が保存され、ネットワークユーティリティ６３０のメインウィンドウを閉じられる。６３９は、キャンセルボタンであり、このボタンが押下されると、ネットワークユーティリティ６３０のメインウィンドウを閉じられる。キャンセルボタン６３９が押下された場合は、それまでに変更されたデバイス監視中チェックボックス６３３、６３５、６３７の各設定は保存されない。ネットワークユーティリティ６３０は、ＯＫボタン６３８やキャンセルボタン６３９が押下されてメインウィンドウが閉じられた後も、ＰＣ１内に常駐してネットワーク４内のデバイスの監視を続ける。
【００６３】
図２２は、ネットワークユーティリティの処理の一例を示すフローチャートである。図２２のフローチャートに係るプログラムは、ＨＤＤ２０２に記憶されており、ＲＡＭ２０１に読み出され、ＣＰＵ２０４により実行される。ＯＳが起動すると、スタートアップフォルダに登録されているネットワークユーティリティ６３０起動用のショートカットが実行され、図２２において、ネットワークユーティリティ６３０が起動して処理を開始する（Ｓ２２０１）。ネットワークユーティリティ６３０が、デバイス監視中チェックボックス６３３、６３５、６３７の各設定から、ネットワーク４内の監視対象デバイスを確認する（Ｓ２２０２）。ネットワークユーティリティ６３０は、デバイス１（例えば、図２１において、デバイス名６３２で表示されているデバイス）が監視対象である場合、ステップＳ２２０４へ進み、監視対象でない場合、ステップＳ２２０５へ進む（Ｓ２２０３）。ステップＳ２２０４において、ネットワークユーティリティ６３０が、デバイス１を監視する為のデバイス１用ポーリングスレッドを起動する。ステップＳ２２０５において、ネットワークユーティリティ６３０は、デバイス２（例えば、図２１において、デバイス名６３４で表示されているデバイス）が監視対象である場合、ステップＳ２２０６へ進み、監視対象でない場合、ステップＳ２２０７へ進む。ステップＳ２２０６において、ネットワークユーティリティ６３０が、デバイス２を監視する為のデバイス２用ポーリングスレッドを起動する。ステップＳ２２０７において、ネットワークユーティリティ６３０は、デバイスＮ（例えば、図２１において、Ｎ＝３として、デバイス名６３６で表示されているデバイス）が監視対象である場合、ステップＳ２２０８へ進む。ネットワークユーティリティ６３０は、監視対象でない場合、ステップＳ２２０９へ進む。ステップＳ２２０８において、ネットワークユーティリティ６３０が、デバイスＮを監視する為のデバイスＮ用ポーリングスレッドを起動する。ステップＳ２２０９において、ネットワークユーティリティ６３０が、ＯＳからの終了メッセージを受け取った場合、起動した全てのデバイス（１〜Ｎ）用ポーリングスレッドを終了した後、ネットワークユーティリティ６３０の処理終了する（Ｓ２２１０）。ステップＳ２２０９において、ネットワークユーティリティ６３０が、ＯＳからの終了メッセージを受け取っていない場合、ステップＳ２２０２へ戻る。尚、ステップＳ２２０４、Ｓ２２０６、Ｓ２２０８において、ネットワークユーティリティ６３０がデバイス（１〜Ｎ）用ポーリングスレッドを起動する際に、既にそのデバイス用ポーリングスレッドが起動済みでそのデバイスを監視中である場合は、重複してそのデバイス用ポーリングスレッドを起動するようなことは行わない。
【００６４】
図２３は、デバイスＮ用ポーリング処理の一例を示すフローチャートである。図２３のフローチャートに係るプログラムは、ＨＤＤ２０２に記憶されており、ＲＡＭ２０１に読み出され、ＣＰＵ２０４により実行される。図２２のステップＳ２２０４、Ｓ２２０６、Ｓ２２０８において、ネットワークユーティリティ６３０がデバイスＮ（Ｎ＝１、２、・・・）用ポーリングスレッドを起動する。すると、図２３において、ネットワークユーティリティ６３０が、デバイスＮ用ポーリング処理を開始する（Ｓ２３０１）。ネットワークユーティリティ６３０がデバイスＮの状態を確認し（Ｓ２３０２）、オンラインの場合、ステップＳ２３０４へ進み、オンラインでない（オフラインの）場合、ステップＳ２３０５へ進む（Ｓ２３０３）。ステップＳ２３０４において、ネットワークユーティリティ６３０が、次に示すデバイスＮ用のレジストリ情報
ＨＫＥＹ＿ＣＵＲＲＥＮＴ＿ＵＳＥＲ＿ＭＡＣＨＩＮＥ￥Ｓｏｆｔｗａｒｅ￥ＡＢＣ￥Ｎｅｔｗｏｒｋ  Ｕｔｉｌｉｔｙ￥＜Ｄｅｖｉｃｅ  Ｎａｍｅ＞￥
Ｎａｍｅ：  ａｃｔｉｖｅ
Ｔｙｐｅ：  ＲＥＧ＿ＳＺ
の値、即ち、ａｃｔｉｖｅの値を「１」増やし、ステップＳ２３０６へ進む。ステップＳ２３０５において、ネットワークユーティリティ６３０が、前記レジストリ情報の値、即ち、ａｃｔｉｖｅの値を「１」減らし、ステップＳ２３０６へ進む。尚、＜Ｄｅｖｉｃｅ  Ｎａｍｅ＞には、デバイスＮのモデル名が代入される。例えば、デバイス１の場合「Ｋｍｍｎ」、デバイス２の場合「Ｋｍｍｎ」、デバイス３の場合「Ｏｐｑｒ」が＜Ｄｅｖｉｃｅ  Ｎａｍｅ＞に代入される。ステップＳ２３０６において、ネットワークユーティリティ６３０が、一定時間のウエイト（ここでは５秒間）を行った後、ステップＳ２３０２へ戻る。
【００６５】
このように、各デバイス（１〜Ｎ）がオンラインであるかオフラインであるかの状態を表す情報が、前記レジストリ情報の値、即ち、ａｃｔｉｖｅの値に反映される。ここで、ネットワークユーティリティ６３０が、デバイスごとにそれぞれ独立したそのデバイス用ポーリングスレッドを起動する。そして、各デバイス用ポーリングスレッド内のステップＳ２３０４、Ｓ２３０５において、ａｃｔｉｖｅの値を「１」増やしたり、「１」減らしたりしている点は、本実施形態の特徴の内の１つである。例えば、同一モデル名でシリアル番号が異なる複数のデバイスがネットワーク４内に存在する場合、レジストリ情報のレジストリキー内の＜Ｄｅｖｉｃｅ  Ｎａｍｅ＞に、単なるモデル名ではなく、「Ｋｍｍｎ  ａａｂｂｃｃｋｍｍｎ０８」というようにＭＡＣアドレスを付加した名前を代入する。このことで、ネットワークユーティリティ６３０は、ネットワーク４内の全ての対象デバイスの状態をモニタすることができる。一方で、デバイス管理制御用ファイル９５０は、図２０に示すように予め用意された静的な情報が記載されているファイルであるので、無数に存在するＭＡＣアドレスを付加したモデル名を使ってレジストリ情報を記載することは困難である。特に問題になるのは、デバイス表示部６３１内に表示されているデバイス名６３２、６３４のような、同一モデル名でシリアル番号が異なる副巣のデバイスがネットワーク４内に存在するケースである。この様なケースにおいて、本実施形態では、ネットワークユーティリティ６３０が、デバイスごとにそれぞれ独立したそのデバイス用ポーリングスレッドを起動する。そして、各デバイス用ポーリングスレッド内のステップＳ２３０４、Ｓ２３０５において、ａｃｔｉｖｅの値を「１」増やしたり、「１」減らしたりする。このことで、ネットワーク４内のこれらのデバイスの状態をほぼ正確にモニタすることができる。これにより、ユーザが使用したいと考えているデバイスをデフォルトのスキャナ（ドライバ）として、スキャナ選択部６２１にセットした状態でＴＷＡＩＮアプリケーション１４２を起動することができ、ユーザの操作性に優れる。
【００６６】
図２４は、デバイス管理画面の表示内容の構築の処理の一例を示すフローチャートである。図２４のフローチャートに係るプログラムは、ＨＤＤ２０２に記憶されており、ＲＡＭ２０１に読み出され、ＣＰＵ２０４により実行される。
図１３のステップＳ１５０４において、デバイス管理画面の表示内容の構築処理が実行されると、デバイス管理制御部９０２が、デバイス管理画面の表示内容の構築の処理を開始する（Ｓ２４０１）。デバイス管理制御部９０２が、図８の＜ｄｍ：ｎａｍｅ＞要素８０５と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素８０６との内容に従って、プリンタキューボタン６０４を構築する（Ｓ２４０２）。デバイス管理制御部９０２が、図８の＜ｄｍ：ｎａｍｅ＞要素８０７と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素８０８との内容に従って、印刷設定ボタン６０５を構築する（Ｓ２４０３）。
デバイス管理制御部９０２が、図８の＜ｄｍ：ｄｅｖｉｃｅ＞要素８１１と＜ｄｍ：ａｖａｉｌａｂｌｅ＞要素８１２との内容に従って、スキャナの接続とインストール状況を確認する（Ｓ２４０４）。
確認の結果、ＭＦＰ３がＵＳＢインタフェース１４を介してＰＣ１に接続されていて（Ｓ２４０５）、製造元（ＡＢＣ社）製のＩＨＶ  ＷＩＡドライバ７０４がインストールされている場合、デバイス管理制御部９０２は、ステップ２４０６へ進む。或いは、ＭＦＰ３がネットワーク４を介してＷＳＤを使ってＰＣ１に接続されていて、ＯＳ標準のＳｔａｎｄａｒｄ  ＷＩＡドライバ７０３がインストールされている場合（Ｓ２４０５）、デバイス管理制御部９０２は、ステップ２４０６へ進む。これらの何れにも該当しない場合（Ｓ２４０５）、デバイス管理制御部９０２は、ステップＳ２４０７へ進む。
ステップＳ２４０６において、デバイス管理制御部９０２が、図８の＜ｄｍ：ｎａｍｅ＞要素８０９と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素８１３との内容に従って、読み込み（ＷＩＡ）ボタン６１０を構築する。ステップＳ２４０６は、ＩＨＶ  ＷＩＡドライバ７０４又はＳｔａｎｄａｒｄ  ＷＩＡドライバ７０３によるＵＳＢ又はネットワーク（ＷＳＤ）接続での画像の読み込みが可能なケースを表す。
【００６７】
ステップＳ２４０７において、デバイス管理制御部９０２が、図２０の＜ｄｍ：ｋｅｙｗｏｒｄＩｎＲｅｇｉｓｔｒｙ＞要素９５４の内容に従って、次に示すレジストリ情報
ＨＫＥＹ＿ＣＵＲＲＥＮＴ＿ＵＳＥＲ＿ＭＡＣＨＩＮＥ￥Ｓｏｆｔｗａｒｅ￥ＡＢＣ￥Ｎｅｔｗｏｒｋ  Ｕｔｉｌｉｔｙ￥＜Ｄｅｖｉｃｅ  Ｎａｍｅ＞￥
Ｎａｍｅ：  ａｃｔｉｖｅ
Ｔｙｐｅ：  ＲＥＧ＿ＳＺ
の値、即ち、ａｃｔｉｖｅの値を確認する。ステップＳ２４０８において、デバイス管理制御部９０２は、確認の結果、ａｃｔｉｖｅに値がセットされていない場合、ステップＳ２４０９へ進み、例えば、「０」、「１」、「２」等の任意の値がセットされている場合、ステップＳ２４１０へ進む。ステップＳ２４０９において、デバイス管理制御部９０２が、図２０の＜ｄｍ：ｎａｍｅ＞要素９５２と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素９５５との内容に従って、ＵＳＢ接続用の読み込み（ＴＷＡＩＮ）ボタン６１１を構築する。そして、デバイス管理制御部９０２が、デバイス管理画面の表示内容の構築の処理を終了する（Ｓ２４１４）。ステップＳ２４０９は、ＴＷＡＩＮドライバ１４１によるＵＳＢ接続での画像の読み込みが可能なケースを表す。
ステップＳ２４１０において、デバイス管理制御部９０２が、ステップＳ２４０７でａｃｔｉｖｅの値を確認した結果、ａｃｔｉｖｅの値が「０」の場合、ステップＳ２４１１へ進み、「０」でない場合、ステップＳ２４１２へ進む。
【００６８】
ステップＳ２４１１において、デバイス管理制御部９０２が、図２０の＜ｄｍ：ｎａｍｅ＞要素９５７と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素９６０との内容に従って、図６の（ｄ）に示すスキャナ選択ダイアログ６２５を表示する。そして、デバイス管理制御部９０２が、ユーザによって選択される接続用の読み込み（ＴＷＡＩＮ）ボタン６１１を構築し、デバイス管理画面の表示内容の構築の処理を終了する（Ｓ２４１４）。ステップＳ２４１１は、ＴＷＡＩＮドライバ１４１によるＵＳＢ接続での画像の読み込みができないケース、例えば、ＰＣ１とＭＦＰ３とがＵＳＢインタフェース１４やネットワーク４を介して接続されていないケースを表す。この様なケースにおいては、ＴＷＡＩＮアプリケーション１４２が、まず、図６の（ｄ）に示すスキャナ選択ダイアログ６２５を表示する。そして、ユーザが選択したＴＷＡＩＮドライバをスキャナ選択部６２１にセットした状態で、ＴＷＡＩＮアプリケーション１４２が起動するのが望ましい。従って、デバイス管理制御部９０２は、図６の（ｄ）に示すスキャナ選択ダイアログ６２５を表示させる読み込み（ＴＷＡＩＮ）ボタン６１１を構築する。
ステップＳ２４１２において、デバイス管理制御部９０２が、ステップＳ２４０７でａｃｔｉｖｅの値を確認した結果、ａｃｔｉｖｅの値が「０」より大きい場合、ステップＳ２４１３へ進む。デバイス管理制御部９０２は、それ以外の場合、ステップＳ２４１４へ進みデバイス管理画面の表示内容の構築の処理を終了する。
【００６９】
ステップＳ２４１３において、デバイス管理制御部９０２が図２０の＜ｄｍ：ｎａｍｅ＞要素９６２と＜ｄｍ：ｅｘｅｃｕｔｅ＞要素９６５との内容に従ってネットワーク（ＩＨＶネイティブプロトコル）接続用の読み込み（ＴＷＡＩＮ）ボタン６１１を構築する。そして、デバイス管理制御部９０２は、デバイス管理画面の表示内容の構築の処理を終了する（Ｓ２４１４）。ステップＳ２４１３は、ＴＷＡＩＮドライバ１４１によるネットワーク（ＩＨＶネイティブプロトコル）接続での画像の読み込みが可能なケースを表す。
以上説明したように、周辺装置の例として、
・外部ストレージを備えておらず、プリンタとスキャナとだけから構成されるＭＦＰ
・プリンタを備えておらず、スキャナ、ファクシミリ、外部ストレージだけから構成されるＭＦＰ
・プリンタや外部ストレージの機能を備えていない単機能のカラースキャナ
においても、ネットワークユーティリティ６３０がセットするレジストリ情報を利用して、ユーザの使用環境に応じて適切なデバイスの機能を提供する、周辺装置制御システムを実現することができる。
【００７０】
＜実施形態４＞
前述した実施形態３では、周辺装置の例として、
・外部ストレージを備えておらず、プリンタとスキャナとだけから構成されるＭＦＰ
・プリンタを備えておらず、スキャナ、ファクシミリ、外部ストレージだけから構成されるＭＦＰ
・プリンタや外部ストレージの機能を備えていない単機能のカラースキャナ
を挙げた。そして、この様な周辺装置においても、ネットワークユーティリティ６３０がセットするレジストリ情報を利用して、ユーザの使用環境に応じて適切なデバイスの機能を提供する、という目的を達成した。
ここでは、ＴＷＡＩＮアプリケーション１４２が、ユーザが使用するデバイスを自動的に検索して、前記目的を達成する例を挙げる。
例えば、デバイス管理制御用ファイルに、ＴＷＡＩＮドライバによる画像の読み込みが可能なケースとして、次に示す＜ｄｍ：ｆｕｎｃｔｉｏｎ＞要素を記述しておく。
＜ｄｍ：ｆｕｎｃｔｉｏｎ＞
＜！−−  ＴＷＡＩＮドライバによる画像の読み込みが可能なケース  −−＞
＜ｄｍ：ｎａｍｅ  ｘｍｌ：ｌａｎｇ＝"ｅｎ−ＵＳ"＞Ｉｍａｇｅ  Ｓｃａｎ  （ＴＷＡＩＮ）＜／ｄｍ：ｎａｍｅ＞
＜ｄｍ：ｅｘｅｃｕｔｅ＞ＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）"  ／ｄｅｖｍｎｇ＜／ｄｍ：ｅｘｅｃｕｔｅ＞
＜／ｄｍ：ｆｕｎｃｔｉｏｎ＞
ＴＷＡＩＮアプリケーション１４２は、第１引数である
"ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）"
というＴＷＡＩＮドライバ（又はＴＷＡＩＮドライバのスキャナ）のモデル名を特定することができる文字列をもとに、インストールされている全てのＴＷＡＩＮドライバの中から、ＴＷＡＩＮドライバ名としてこの文字列が含まれているものをリストアップする。そして、ＴＷＡＩＮアプリケーション１４２は、この中から適切なＴＷＡＩＮドライバを選択し、そのＴＷＡＩＮドライバをスキャナ選択部６２１にセットして起動する。ＴＷＡＩＮアプリケーション１４２が、リストアップしたＴＷＡＩＮドライバ（スキャナ）の中から適切なＴＷＡＩＮドライバを選択する方法としては、以下の様な方法がある。即ち、ＴＷＡＩＮアプリケーション１４２が、各ＴＷＡＩＮドライバに対応するスキャナに対して所定の電文を送信する等して通信テストを行い、正常に通信ができるものを選択する、という方法である。もし、正常に通信できるスキャナが１つも見つからなかった場合、ＴＷＡＩＮアプリケーション１４２は、スキャナ選択ダイアログ６２５を表示して、ユーザにスキャナ（又はスキャナに対応するＴＷＡＩＮドライバ）を選択させる。もし、正常に通信できるスキャナが複数見つかった場合、ＴＷＡＩＮアプリケーション１４２は、例えば、通信速度を優先して、ＵＳＢ接続、ＩＨＶネイティブプロトコルのネットワーク接続の順で優先順位を設ける。そして、ＴＷＡＩＮアプリケーション１４２は、優先順位の高いスキャナ（又はスキャナに対応するＴＷＡＩＮドライバ）を選択する。詳細を図２５に示すフローチャートで説明する。
【００７１】
図２５は、ＴＷＡＩＮアプリケーションの起動の処理の一例を示すフローチャートである。図１５のフローチャートに係るプログラムは、ＨＤＤ２０２に記憶されており、ＲＡＭ２０１に読み出され、ＣＰＵ２０４により実行される。
デバイス管理画面６００上の読み込み（ＴＷＡＩＮ）ボタン６１１が押下されると（指定されると）、ＴＷＡＩＮアプリケーション１４２の起動の処理が開始される（Ｓ２５０１）。ステップＳ２５０１において、図１０のデバイス管理８０内のデバイス管理制御部９０２が、リンク実行部９０３を介して、
＜ｄｍ：ｅｘｅｃｕｔｅ＞ＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）"  ／ｄｅｖｍｎｇ＜／ｄｍ：ｅｘｅｃｕｔｅ＞要素
に記載されている情報をアプリケーション制御部９０７に渡す。この情報から、アプリケーション制御部９０７が第１引数のＴＷＡＩＮドライバ名で表されたデバイス指定情報を取得する（Ｓ２５０２）。
アプリケーション制御部９０７が第１引数のＴＷＡＩＮドライバ名、即ち、デバイス指定情報の有無を確認し、デバイスの指定（デバイス指定情報）が有る場合（Ｓ２５０３）、ステップＳ２５０４へ進む。ステップＳ２５０３において、デバイスの指定（デバイス指定情報）が無い場合、アプリケーション制御部９０７は、ステップＳ２５０５へ進む。本実施形態では、
＜ｄｍ：ｅｘｅｃｕｔｅ＞ＴＷＡＩＮＳｃａｎ．ｅｘｅ  "ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）"  ／ｄｅｖｍｎｇ＜／ｄｍ：ｅｘｅｃｕｔｅ＞要素
に記載されている第１引数のＴＷＡＩＮドライバ名によりデバイスの指定が行われるので、ステップＳ２５０３からステップＳ２５０４へ進む。例えば、第１引数がセットされずにＴＷＡＩＮアプリケーション１４２が起動された場合、ステップＳ２５０３からステップＳ２５０５へ進む。
ステップＳ２５０４において、アプリケーション制御部９０７が、第１引数である
"ＡＢＣ  Ｋｍｍｎ  （ＴＷＡＩＮ）"
というＴＷＡＩＮドライバ（又はＴＷＡＩＮドライバのスキャナ）のモデル名を特定することができる文字列をもとに、インストールされている全てのＴＷＡＩＮドライバの中から、ＴＷＡＩＮドライバ名としてこの文字列が含まれているものを検索する。そして、アプリケーション制御部９０７は、該当するＴＷＡＩＮドライバのリストを生成する。アプリケーション制御部９０７が、該当するＴＷＡＩＮドライバを１つも見つけることができなかった場合、空のリストを生成する。
ステップＳ２５０９において、アプリケーション制御部９０７が、前記リストの中を確認し、該当するＴＷＡＩＮドライバを発見できた場合、ステップＳ２５１０へ進み、該当するＴＷＡＩＮドライバを発見できなかった場合、ステップＳ２５１２へ進む。
ステップＳ２５１０において、アプリケーション制御部９０７が、各ＴＷＡＩＮドライバに対応するスキャナに対して所定の電文を送信して、その返答を受信する等して通信テストを行い、正常に通信ができるものを選択する。もし、正常に通信できるスキャナを複数見つけた場合、アプリケーション制御部９０７が、例えば、通信速度を優先して、ＵＳＢ接続、ＩＨＶネイティブプロトコルのネットワーク接続の順で優先順位を設ける。そして、アプリケーション制御部９０７が、優先順位の高いスキャナ（又はスキャナに対応するＴＷＡＩＮドライバ）を選択する。
ステップＳ２５１１において、正常に通信可能なデバイス（スキャナ）を発見し、そのデバイス（スキャナ）を選択した場合、アプリケーション制御部９０７が、選択されたデバイス（スキャナ）用のＴＷＡＩＮドライバ名で指定されるスキャナ（ＴＷＡＩＮドライバ）を第１引数にセットした状態にして、ステップＳ２５１３へ進む。アプリケーション制御部９０７が、正常に通信可能なデバイス（スキャナ）を発見できず、デバイス（スキャナ）を選択できなかった場合、ステップＳ２５１２へ進む。
ステップＳ２５１２において、アプリケーション制御部９０７が、図６の（ｄ）に示すスキャナ選択ダイアログ６２５を表示する。アプリケーション制御部９０７は、ユーザがスキャナ選択部６２６でＴＷＡＩＮドライバを選択してＯＫボタン６２７を押下すると、選択されているＴＷＡＩＮドライバ名で指定されるスキャナ（ＴＷＡＩＮドライバ）を第１引数にセットした状態にして、ステップＳ２５１３へ進む。
ステップＳ２５１３において、デフォルトデバイス設定部９０８が指定されたデバイス（ＴＷＡＩＮドライバ名で指定されるスキャナ）をＴＷＡＩＮアプリケーション１４２のデフォルトデバイスに設定し、ステップＳ２５１４へ進む。
ステップＳ２５０５において、アプリケーション制御部９０７が、ステップＳ２５０１でリンク実行部９０３を介してデバイス管理制御部９０２から渡された情報を、起動元判断部９０６へ渡す。前記情報とは、例えば、第１引数が指定されていない＜ｄｍ：ｅｘｅｃｕｔｅ＞ＴＷＡＩＮＳｃａｎ．ｅｘｅ  ／ｄｅｖｍｎｇ＜／ｄｍ：ｅｘｅｃｕｔｅ＞要素に記載されている情報である。起動元判断部９０６は、第２引数の起動元を取得する。起動元判断部９０６は、起動元がデバイス管理画面か、デバイス管理画面以外か、を確認し、起動元がデバイス管理画面（本実施形態ではデバイス管理画面６００）の場合（Ｓ２５０６）、ステップＳ２５１２へ進む。ステップＳ２５０６において、起動元がデバイス管理画面以外の場合、ステップＳ２５０７へ進む。本実施形態では、
＜ｄｍ：ｅｘｅｃｕｔｅ＞ＴＷＡＩＮＳｃａｎ．ｅｘｅ  ／ｄｅｖｍｎｇ＜／ｄｍ：ｅｘｅｃｕｔｅ＞要素
に記載されている第２引数の／ｄｅｖｍｎｇにより起動元としてデバイス管理画面６００が指定されるので、ステップＳ２５０６からステップＳ２５１２へ進む。例えば、デバイス管理画面以外からＴＷＡＩＮアプリケーション１４２が起動された場合、起動元として第２引数に「／ｏｔｈｅｒ」が指定されているので、ステップＳ２５０６からステップＳ２５０７へ進む。
ステップＳ２５０７において、デフォルトデバイス設定部９０８がアプリケーション／ＤＤＩインタフェース８４を介して、ＯＳのデフォルトデバイス情報を取得する。ＯＳのデフォルトデバイスとは、図５（ａ）のフォルダ５００にて、デフォルトマーク５０２が付与されているデバイスを表す。本実施形態では、デバイス５０１（ＸＹＺ  Ｄｅｆｇ）がデフォルトデバイスとして設定されているので、ステップＳ２５０７において、「ＸＹＺ  Ｄｅｆｇ」というデバイス名称が取得される。デフォルトデバイス設定部９０８が、ステップＳ２５０７で取得したＯＳのデフォルトデバイスをもとに、デバイス（ドライバ）名をＴＷＡＩＮアプリケーション１４２のデフォルトデバイスに設定し（Ｓ２５０８）、ステップＳ２５１４へ進む。
ステップＳ２５０８において、デフォルトデバイス設定部９０８が、ステップＳ２５０７で取得したＯＳのデフォルトデバイスから適切なデバイス（ドライバ）名を発見できなかった場合、以下の処理を実行する。即ち、デフォルトデバイス設定部９０８は、ＴＷＡＩＮアプリケーション１４２が前回起動したときに設定されていたデバイス（ドライバ）名をデフォルトデバイスに設定する。
ステップＳ２５１４において、アプリケーション制御部９０７がＴＷＡＩＮアプリケーション１４２を表示し、ＴＷＡＩＮアプリケーションの起動処理を完了する（Ｓ２５１５）。このとき、ステップＳ２５１３又はＳ２５０８で設定されたデフォルトデバイスが選択された状態で、ＴＷＡＩＮアプリケーション１４２が起動して、表示されている。尚、ＴＷＡＩＮアプリケーション１４２のデフォルトデバイスの情報は、ＴＷＡＩＮアプリケーション１４２が管理するＲＡＭ２０１上のメモリ内に保持される。
このように、デバイス管理制御用ファイルに、ＴＷＡＩＮドライバ（又はＴＷＡＩＮドライバのスキャナ）のモデル名を特定することができる文字列を引数としてＴＷＡＩＮアプリケーション１４２を実行する＜ｄｍ：ｅｘｅｃｕｔｅ＞要素を記述しておく。そして、ＴＷＡＩＮアプリケーション１４２が、この文字列をもとに適切なＴＷＡＩＮドライバ（又はＴＷＡＩＮドライバのスキャナ）を選択して起動する。このことでも、ユーザの使用環境に応じて適切なデバイスの機能を提供する、周辺装置制御システムを実現することができる。なお、本実施形態ではスキャナを例に説明を行ったが他のデバイスでも同様に実現可能である。
【００７２】
＜実施形態５＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００７３】
また、上述した実施形態では、アプリケーションの例として図１０に示すようなデバイス管理（Ｄｅｖｉｃｅ  Ｍａｎａｇｅｍｅｎｔ）８０を挙げたが、この例に限られることなく、同様な機能を備える任意のアプリケーションで実現可能であり、有効である。
また、上述した実施形態では、アプリケーションの例として図６（ｂ）や図１０に示すようなＴＷＡＩＮアプリケーション１４２を挙げた。しかし、この例に限られることなく、画像やドキュメントを印刷するためのアプリケーション等、同様な機能を備える任意のアプリケーションで実現可能であり、有効である。
また、上述した実施形態では、情報処理装置としてパーソナルコンピュータを想定した。しかし、この例に限られることなく、例えばＤＶＤプレーヤー、ゲーム、セットトップボックス、インターネット家電等、同様な使用方法が可能な任意の情報処理装置（端末）に対して実現することができ、有効である。
また、上述した実施形態では、周辺装置としてＭＦＰを例示した。しかし、周辺装置として他に、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能を備える装置等の何れかであってもよい。
また、上述した実施形態では、ＯＳに例としてＷｉｎｄｏｗｓ  ７と同等のＯＳを使用したが、これらのＯＳに限られることなく、任意のＯＳを使用することができる。
また、上述した実施形態では、ネットワーク４の構成例としてＥｔｈｅｒｎｅｔを用いたが、この例に限られることなく、他の任意のネットワーク構成であってもよい。
また、上述した実施形態では、ＰＣ１とＭＦＰ３、ＭＦＰ７との間のインタフェースとして、Ｅｔｈｅｒｎｅｔを用いた。しかしながら、このインタフェースに限られることなく、例えば、無線ＬＡＮ、ＩＥＥＥ１３９４、Ｂｌｕｅｔｏｏｔｈ、ＵＳＢ等の任意のインタフェースを用いるようにしてもよい。
また、上述した実施形態では、Ｗｅｂサービスのプロトコルの例としてＷＳＤを挙げたが、この例に限られることなく、例えばＩＨＶの独自プロトコル等の任意のプロトコルを用いるようにしてもよい。
また、上述した実施形態では、デバイス管理画面６００上の読み込み（ＴＷＡＩＮ）ボタン６１１が押下されたときに、適切なデバイス（ドライバ）が設定された状態でＴＷＡＩＮアプリケーション１４２を起動する例を挙げた。しかしながら、この例に限られることなく、例えば、デバイス管理画面上から任意のアプリケーションを起動したり、Ｗｅｂサイトへリンクしたり、サービスを提供したりという場合に、適切なデバイス（ドライバ）名を指定して実行するようにしてもよい。
【００７４】
以上、上述した各実施形態によれば、ユーザの使用環境に応じて適切な表示や機能を提供するデバイス管理画面を提供することができる。
また、上述した各実施形態によれば、アプリケーションを起動して周辺装置が提供する機能を利用する際に、ユーザの使用環境に合わせて自動的に適合して周辺装置が提供する機能を適切、かつ、確実に利用することができる。
よって、上述した各実施形態によれば、ユーザの使用環境に応じて適切なデバイスの機能を提供することができる。
【００７５】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７６】
８０  デバイス管理、９０２  デバイス管理制御部
【図１】
0005393427.tif 000002
【図２】
0005393427.tif 000003
【図３】
0005393427.tif 000004
【図４】
0005393427.tif 000005
【図５】
0005393427.tif 000006
【図６】
0005393427.tif 000007
【図７】
0005393427.tif 000008
【図８】
0005393427.tif 000009
【図９】
0005393427.tif 000010
【図１０】
0005393427.tif 000011
【図１１】
0005393427.tif 000012
【図１２】
0005393427.tif 000013
【図１３】
0005393427.tif 000014
【図１４】
0005393427.tif 000015
【図１５】
0005393427.tif 000016
【図１６】
0005393427.tif 000017
【図１７】
0005393427.tif 000018
【図１８】
0005393427.tif 000019
【図１９】
0005393427.tif 000020
【図２０】
0005393427.tif 000021
【図２１】
0005393427.tif 000022
【図２２】
0005393427.tif 000023
【図２３】
0005393427.tif 000024
【図２４】
0005393427.tif 000025
【図２５】
0005393427.tif 000026