(57)【特許請求の範囲】
【請求項１】
通信媒体を介して印刷装置からの情報を情報要求またはイベント登録により取得し保持する監視手段を用いた情報処理方法であって、
前記監視手段から前記保持される情報を取得する為の取得方法を表すルート情報を獲得する獲得工程と、
前記獲得工程にて獲得された前記取得方法を表すルート情報を引数として、前記監視手段に問合せを行う問合せ工程と、
前記問合せ工程による問合せの応答として、前記監視手段によって前記ルート情報に対応づけて保持された情報を取得する取得工程と、
前記取得工程において取得された情報に基づく表示を表示部に行わせる表示制御工程とを有することを特徴とする情報処理方法。
【請求項２】
前記監視手段は、前記印刷装置から取得された情報を、前記取得方法に基づく獲得要求に応答する形式に変換し保持することを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記獲得工程において獲得されたルート情報によって前記保持された情報を取得するか否かを判定する判定工程を有し、
前記取得工程は前記判定工程における判定に基づき前記保持された情報を取得することを特徴とする請求項１又は２に記載の情報処理方法。
【請求項４】
前記取得方法は、前記監視手段により取得した前記印刷装置からの情報に変化があった場合に、前記監視手段により能動的に通知され前記獲得工程において取得されたものであることを特徴とする請求項１乃至３の何れかに記載の情報処理方法。
【請求項５】
通信媒体を介して印刷装置からの情報を情報要求またはイベント登録により取得し保持する監視手段を備える情報処理装置であって、
前記監視手段から前記保持される情報を取得する為の取得方法を表すルート情報を獲得する獲得手段と、
前記獲得手段により獲得された前記取得方法を表すルート情報を引数として、前記監視手段に問合せを行う問合せ手段と、
前記問合せ工程による問合せの応答として、前記監視手段によって前記ルート情報に対応づけて保持された情報を取得する取得手段と、
前記取得手段において取得された情報に基づく表示を表示部に行わせる表示制御手段とを有することを特徴とする情報処理装置。
【請求項６】
前記監視手段は、前記印刷装置から取得された情報を前記取得方法に基づく獲得要求に応答する形式に変換し保持することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記獲得手段によって獲得されたルート情報によって前記保持された情報を取得するか否かを判定する判定手段を有し、前記取得手段は前記判定手段の判定に基づき前記保持された情報を取得することを特徴とする請求項５又は６に記載の情報処理装置。
【請求項８】
前記取得方法は、前記監視手段により取得した前記印刷装置からの情報に変化があった場合に、前記監視手段により能動的に通知され前記獲得手段により取得されたものであることを特徴とする請求項５乃至７の何れかに記載の情報処理装置。
【請求項９】
請求項１乃至４の何れかに記載の情報処理方法をコンピュータに実行させる為のプログラム。
【請求項１０】
請求項１乃至４の何れかに記載の情報処理方法をコンピュータに実行させる為のプログラムをコンピュータ可読の形態で記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺機器からの情報の取得技術に関する。
【背景技術】
【０００２】
近年、オフィス、家庭、公共施設をなど様々な場面で、印刷装置、スキャナなどの各種周辺機器が利用されている。その周辺装置の代表的なものとして印刷装置が挙げられる。また、これら周辺機器を利用するユーザを支援する様々なユーティリティが開発され、実際に利用されている。
【０００３】
例えば、インクジェットプリンタにおけるユーティリティとして、印刷装置本体に装着されているインクカートリッジに係わる情報や、印刷装置に投入された印刷ジョブの状況など、をクライアントコンピュータで閲覧できるユーティリティが知られている。
【０００４】
一方、これら周辺機器の各種情報取得に係わる良く知られた技術として、例えば、Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  ＢａｓｅのＲＦＣ  １２１３で規定されているＭＩＢが挙げられる。特許文献１には、このＭＩＢを用いた印刷装置の情報取得技術が開示されている。
【０００５】
また、別の良く知られた各種情報取得技術として、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｄｅｖｅｌｏｐｅｒ  Ｎｅｔｗｏｒｋ（ＭＳＤＮ）のインターネットサイトで公開されているＢｉｄｉ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｃｈｅｍａなども挙げることができる。なお、以下ではＢｉｄｉ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｃｈｅｍａの記載をＢＣＳと略する場合もある。なお、上記インターネットサイトのアドレスは、「ｈｔｔｐ：／／ｍｓｄｎ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｌｉｂｒａｒｙ／ｄｅｆａｕｌｔ．ａｓｐ」となっている。尚、以下の説明においては、このＢｉｄｉ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｃｈｅｍａのことをバイダイスキーマと呼ぶこともある。
【０００６】
図３１はスキーマを使ってインクの情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報を列挙（Ｅｎｕｍｅｒａｔｉｏｎ）する時のスキーマ及び値を表す従来例の図である。
【０００７】
同図において、ユーティリティ３０からスキーマを指定してＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）関数をコールする。指定するスキーマには、「￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏ」、「￥Ｐｒｉｎｔｅｒ．ＳｔａｔｕｓＩｎｆｏ」、「￥Ｐｒｉｎｔｅｒ．ＨａｒｄｗａｒｅＩｎｆｏ」、「￥Ｐｒｉｎｔｅｒ．ＩｎｐｕｔＢｉｎｓＩｎｆｏ」、「￥Ｐｒｉｎｔｅｒ．ＯｕｔｐｕｔＢｉｎｓＩｎｆｏ」などがある。
【０００８】
すると、Ｑｕｅｒｙ（Ｓｃｈｅｍａ）欄、プリンタ３の情報及び状態を表すスキーマＲｅｔｒｉｅｖｅ（Ｓｃｈｅｍａ）と値Ｒｅｔｒｉｅｖｅ（Ｖａｌｕｅ）がセットで返される。
【０００９】
同図の例では、プリンタ３に黒、シアン、マゼンタ、黄のインクが搭載されていて、インクの残量の状態がそれぞれ、インク満タン（Ｆｕｌｌ）、インク残りわずか（Ｌｏｗ）、インク無し（Ｏｕｔ）、インク満タン（Ｆｕｌｌ）を示す。
【００１０】
また、インクの名称がそれぞれ、ＣＩ−Ｂ  Ｂｌａｃｋ、ＣＩ−Ｃ  Ｃｙａｎ、ＣＩ−Ｍ  Ｍａｇｅｎｔａ、ＣＩ−Ｙ  Ｙｅｌｌｏｗを示している。
【００１１】
また、動作状態がオンラインでスタンバイ状態、搭載されているメモリのサイズが２ＭＢ、給紙手段としてＡＳＦ−１という名称のオートシートフィーダーを装備し、排紙手段としてＴｒａｙ−１という名称のトレイを装備していることが示されている。
【００１２】
このようにユーティリティ３０がスキーマを使って列挙（Ｅｎｕｍｅｒａｔｉｏｎ）することで、ユーティリティ３０がそのスキーマで表されるプリンタの全ての詳細情報を取得することができる。
【００１３】
図３２はユーティリティ３０がプリンタのインクの情報及び状態を取得する時に使用する従来例のスキーマを表す図である。これらのスキーマは、ユーティリティ３０がＰｒｉｎｔｉｎｇ  ａｎｄ  Ｐｒｉｎｔ  Ｓｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓ（以下ＰＰＳＩと略する場合もある）を介してインクの情報及び状態を取得する時に指定される。より具体的には、Ｗｉｎｄｏｗｓ（登録商標）  ＸＰ  ＯＳで使用できるＣＯＭインタフェースＩＢｉｄｉＳｐｌのＡＰＩ関数ＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）をコールする際に引数として指定される。Ｐｒｉｎｔｉｎｇ  ａｎｄ  Ｐｒｉｎｔ  Ｓｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓ
同図において、ＩｎｋＩｎｆｏはインクの情報を表すＰｒｏｐｅｒｔｙであり、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏである。［Ｃｏｌｏｒ］は色の情報を表すＰｒｏｐｅｒｔｙであり、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏ．［Ｃｏｌｏｒ］、設定可能な値は、黒を表すＢｌａｃｋ、シアンを表すＣｙａｎ、マゼンタを表すＭａｇｅｎｔａ、黄を表すＹｅｌｌｏｗの何れかである。
【００１４】
例えば、黒インクの情報を取得したい場合は、￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏ．Ｂｌａｃｋと指定する。Ｉｎｓｔａｌｌｅｄは［Ｃｏｌｏｒ］色のインクが搭載されているか否かを表すＶａｌｕｅであり、データ型はＢｏｏｌｅａｎ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏ．［Ｃｏｌｏｒ］：Ｉｎｓｔａｌｌｅｄ、設定可能な値は、搭載されていること表すＴｒｕｅ、搭載されていないを表すＦａｌｓｅの何れかである。
【００１５】
Ｓｔａｔｅは［Ｃｏｌｏｒ］色のインクの残量の状態を表すＶａｌｕｅであり、データ型はＳｔｒｉｎｇ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏ．［Ｃｏｌｏｒ］：Ｓｔａｔｅ、設定可能な値は、インク満タンを表すＦｕｌｌ、インク残りわずかを表すＬｏｗ、インク無しを表すＯｕｔ、インク残量不明を表すＵｎｋｎｏｗｎの何れかである。
【００１６】
Ｎａｍｅは［Ｃｏｌｏｒ］色のインクの名称を表すＶａｌｕｅであり、データ型はＳｔｒｉｎｇ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏ．［Ｃｏｌｏｒ］：Ｎａｍｅである。
【００１７】
設定可能な値の例は、同図のＥｘａｍｐｌｅｓのようなＡＳＣＩＩの文字列である。
【００１８】
図３３はユーティリティ３０がプリンタの排紙手段の情報を取得する時に使用する従来例のスキーマを表す図である。これらのスキーマは、ユーティリティ３０がＰｒｉｎｔｉｎｇ  ａｎｄ  Ｐｒｉｎｔ  Ｓｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓを介して排紙手段の情報を取得する時に、Ｗｉｎｄｏｗｓ（登録商標）  ＸＰ  ＯＳで使用できるＣＯＭインタフェースＩＢｉｄｉＳｐｌのＡＰＩ関数ＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）をコールする際に引数として指定される。同図において、ＯｕｔｐｕｔＢｉｎｓＩｎｆｏは給紙手段の情報を表すＰｒｏｐｅｒｔｙであり、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＯｕｔｐｕｔＢｉｎｓＩｎｆｏである。［Ｔｙｐｅ］は排紙手段の種類を表すＰｒｏｐｅｒｔｙであり、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＯｕｔｐｕｔＢｉｎｓＩｎｆｏ．［Ｔｙｐｅ］、設定可能な値は、トレイを表すＴｒａｙである。例えば、トレイの排紙手段に関する情報を取得したい場合は、￥Ｐｒｉｎｔｅｒ．ＯｕｔｐｕｔＢｉｎｓＩｎｆｏ．Ｔｒａｙと指定する。Ｉｎｓｔａｌｌｅｄは［Ｔｙｐｅ］種の排紙手段が搭載されているか否かを表すＶａｌｕｅであり、データ型はＢｏｏｌｅａｎ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＯｕｔｐｕｔＢｉｎｓＩｎｆｏ．［Ｔｙｐｅ］：Ｉｎｓｔａｌｌｅｄ、設定可能な値は、搭載されていること表すＴｒｕｅ、搭載されていないを表すＦａｌｓｅの何れかである。Ｎａｍｅは［Ｔｙｐｅ］種の排紙手段の名称を表すＶａｌｕｅであり、データ型はＳｔｒｉｎｇ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＯｕｔｐｕｔＢｉｎｓＩｎｆｏ．［Ｔｙｐｅ］：Ｎａｍｅである。設定可能な値の例は、同図のＥｘａｍｐｌｅｓのようなＡＳＣＩＩの文字列である。このように、図３３で定義されているスキーマを使って、ユーティリティ３０は排紙手段の情報を取得することができる。
【特許文献１】特開平１０−０７４１３２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかしながら、上述の仕組みでは、例えば新たな種類のインク色など、従来には想定されていない、印刷装置における新たな種類の情報が追加された場合、それに伴い上位手段（ユーティリティ）にも再設計を施す必要があった。つまり再設計が施されなければ、例えば新たに追加された種類の情報の問合せプログラミングは上位手段（ユーティリティ）に組み込まれるはずも無い。そこで、より柔軟に印刷装置の情報を取得できる仕組みが望まれる。
【課題を解決するための手段】
【００２０】
本願発明は上記課題に鑑みてなされたものであり、通信媒体を介して印刷装置からの情報を情報要求またはイベント登録により取得し保持する監視手段を用いた情報処理方法であって、前記監視手段から前記保持される情報を取得する為の取得方法を表すルート情報を獲得する獲得工程と、前記獲得工程にて獲得された前記取得方法を表すルート情報を引数として、前記監視手段に問合せを行う問合せ工程と、前記問合せ工程による問合せの応答として、前記監視手段によって前記ルート情報に対応づけて保持された情報を取得する取得工程と、前記取得工程において取得された情報に基づく表示を表示部に行わせる表示制御工程とを有することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、従来に比べて、より柔軟に印刷装置の情報を取得できる仕組みを実現できる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の発明を実施するための最良の形態について図面を用いて説明する。
【００２３】
［第１の実施形態］
＜印刷システムの概略説明＞
図１は本実施形態における、印刷システムの概略を示す。同図では、情報処理装置１（以下、ＰＣ１と呼ぶ）、情報処理装置２（以下、ＰＣ２と呼ぶ）、プリンタ３が所定の通信媒体を介して通信可能に接続され、更に、主要なソフトウェアモジュールが備えられている。
【００２４】
ＰＣ１、ＰＣ２は一般的な情報処理装置と同様のハードウェアで構成され、所定のオペレーティングシステム（以下、ＯＳと）呼ぶ）がインストールされている。本実施形態の印刷システムではＯＳとして米国マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）  ＸＰがインストールされている。ここで、ＰＣ１とＰＣ２はＥｔｈｅｒｎｅｔ（登録商標）で構成されるネットワーク４を介して接続され、互いに双方向通信が可能である。
【００２５】
プリンタ３は周辺機器の代表例であり、同図においては、カラーインクジェットプリンタがユニバーサルバス（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ：以下ＵＳＢと呼ぶ）を介してＰＣ１に接続されている。このプリンタ３には、例えば、ＸＹＺ社製のｋｍｍｎというモデル名のプリンタを該当させることができる。
【００２６】
ランゲージモニタ３６（以下、ＬＭ３６と呼ぶ）は、プリンタ３に問合せを行ったり、各種コマンドを出力する。また、プリンタ３から能動的に通知されてくる各種情報を取得する機能も併せ持つ。この場合、ＬＭ３６が、あるタイミングで事前にプリンタ３にイベントを登録することにより能動的な通知が実現される。
【００２７】
両面印刷ユニット５はプリンタ３のオプションの一例であり、プリンタ３はこの両面印刷ユニット５が装着されることで自動両面印刷を行える。
【００２８】
製本コンポーネント６はプリンタ３の別のオプション例であり、プリンタ３はこの製品コンポーネント６が装着されることで製本処理を実行できる。
【００２９】
ユーティリティ３０は、ＬＭ３６を介して印刷装置の各種情報を取得し表示したり、及び／又は、印刷装置に各種コマンドを出力したり、及び／又は、印刷データを生成及び出力する機能等を備える。本実施形態では、様々な用途におけるユーティリティをユーティリティ３０に適用することができ、図中ではＸＹＺ社製となっている。
【００３０】
なお、上の説明においては、周辺装置の代表例としてカラーインクジェットプリンタを例に説明したが、他の応用形態も想定される。周辺機器の別の例として、複写機、ファクシミリ、スキャナ、デジタル複合機、デジタルカメラ、デジタルビデオカメラ、携帯電話、携帯電話、テレビジョン、光学プロジェクタ、を挙げることができる。
【００３１】
＜一般的な情報処理装置のハードウェア構成の説明＞
図２は一般的な情報処理装置のハードウェア構成の一例を表すブロック図である。
【００３２】
同図において、ＣＰＵ１２０４はマイクロプロセッサ等から構成され、ＨＤＤ１２０２に格納されるプログラムを実行するもので、システムバス１２０６に接続される各デバイス（各ブロック）を統括的に制御する。ＲＡＭ１２０１は、ＣＰＵ１２０４の主メモリ、ワークエリア等として機能する。キーボード（ＫＢＤ）１２０３は各種情報の入力を行う為の入力指示装置の一例を示す。また、キーボード（ＫＢＤ）以外にも、例えば、マウス、液晶タッチパネル等も適用できる。ＬＣＤ１２０５は表示装置の一例であり、ＣＰＵ１２０４の制御のもとに文字、図形、静止画像、動画像などを表示する。ＮＢ１２９７は通信制御部の一例であるネットワークボードであり、各種プロトコルに従う通信制御を行うことが出来る。
【００３３】
そして、後述の各フローチャートの各ステップに係わる処理をコンピュータに実行させる為のプログラムコードが、ＨＤＤ１２０２に記憶されており、必要に応じてＲＡＭ１２０１に読み出されてＣＰＵ１２０４により実行されることとなる。
【００３４】
＜周辺機器のハードウェア構成の説明＞
図３は周辺機器の代表例としてのプリンタのハードウェア構成の一例を表すブロック図である。
【００３５】
ＣＰＵ１５はマイクロプロセッサ等から構成され、プリンタ３の中央処理装置として、ＲＯＭ１６に記憶されているプログラムに従って各種処理を実行する。また、システムバスを介して互いに接続されるＲＡＭ１７、通信部１８、記録部１９などの各デバイスを統括的に制御する。尚、ＲＯＭ１６は不揮発性記憶素子を具備するものであれば良く、例えばハードディスク装置、電気的に消去可能なフラッシュメモリ等を代用することもできる。さらに、ＲＯＭ１６、ＲＡＭ１７、記録部１９について、より具体的に説明を行う。ＲＯＭ１６には、入力された印刷データに従ってプリンタ３が記録（印刷）処理を行うプログラムが記憶されている。またＰＣ１などから状態を要求された場合に、状態をＰＣ１へ伝える処理を行うプログラムが記憶されている。
【００３６】
ＲＡＭ１７は、例えばＰＣ１から送信されてくる印字データが一時的に記憶される。通信部１８にはＵＳＢインタフェース９用の接続ポートが含まれており、ＵＳＢに準じた通信を制御する。記録部１９は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等から構成される記録ユニットと、前記印字データをもとに前記記録ヘッドにて印字用パルスを発生させる為のＡＳＩＣ等から構成される電気回路とから構成される。そしてＲＭＡ１７に一時記憶される印刷データに基づく記録を行う。なお、上の説明においては、周辺装置の出力エンジンとしてインクジェット方式を採用したものを例に説明したが、他の応用形態も想定される。例えば、電子写真方式を採用した出力エンジンや、熱転写方式を採用した出力エンジンを適用できる。また液晶表示パネルを駆動する液晶用駆動エンジン等も適用できる。
【００３７】
＜クライアントにおけるソフトウェアモジュール図の説明＞
図４は、情報処置装置としてのＰＣ１において稼動するソフトウェアモジュールのブロック図の一例を表す図である。
【００３８】
同図において、プリンタドライバ５０は、ＸＹＺ社製であり、ＯＳ上で稼動する各種アプリケーションデータに基づく描画命令を生成する。描画命令としてはプリンタが解釈できる形式であれば、非圧縮イメージ、圧縮イメージ、ページ記述言語、ＸＭＬデータなど様々な形式を適用できる。アプリケーションとしては、マイクロソフト社のＷｏｒｄ、同社の表計算ソフトであるＥｘｃｅｌ、アドビシステムズ社のフォトショップなど、様々なものが想定される。
【００３９】
ユーティリティ３０は図１で説明した通りであり、例えば、Ｗｉｎｄｏｗｓ（登録商標）  ＸＰ  ＯＳに標準で同梱されているテキストエディタであるＮｏｔｅｐａｄ（Ｎｏｔｅｐａｄ．ｅｘｅ）を適用できる。また、後述にて詳しく説明する、図１２のユーティリティ３０などを適用することが出来る。
【００４０】
Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ（ＧＤＩ）３１はＯＳの一部として構成される。また、プリンタキュー３２はスプーラ４０の一部として構成され、印刷ジョブをキューイングする。プリンタキュー３２によりキューイングされた印刷ジョブは、オペレーティングシステムにより、プリンタキューフォルダ（ここでは説明を省略する）に表示され、ユーザは印刷ジョブの各種状態を確認することができる。
【００４１】
プリントプロセッサ３３は印刷レイアウトの変更や印刷画像の特殊処理などを実行する。グラフィックスドライバ２４はプリンタドライバの画像処理のコアとして、ＧＤＩ３１から送られて来る描画命令をもとに印刷用の画像処理を行い、印刷制御コマンドを作成する。ＵＩモジュール３５は、プリンタドライバのユーザインタフェースの提供及び制御を行う。ＬＭ３６は図１にて説明したものであり、データの通信Ｉ／Ｆとしてデータ送受信を制御する機能も備える。ポートモニタ３７はランゲージモニタ３６から送られて来るデータを適切なポートに対して送信したり、プリンタ３から送られて来るデータをクラスドライバ３８を介して受信したりする処理を行う。クラスドライバ３８は物理層に近い制御モジュールであり、例えばＵＳＢのプリンタクラスのドライバに相当し、ＵＳＢポートを制御する。
【００４２】
＜印刷システムにおける処理の流れの説明＞
以下、図５を用いて、以下の実施の形態の処理の流れの概要について説明を行う。
【００４３】
同図は、上の図１で説明したシステムにおいてプリンタ３に両面印刷ユニット５が装着された場合を例にした処理の流れを示している。
【００４４】
まず、プリンタ３に両面印刷ユニット５が装着される（１）。プリンタ３は、自装置に設けられた検知部により両面印刷ユニット５が装着されたことを検知する（２）。
【００４５】
一方、上記（２）の検知とは非同期（任意のタイミング）に、ＰＣ１は印刷装置の各種情報を要求する要求コマンドを、ＵＳＢインタフェースを介してプリンタ３に発行（送信）する（３）。
【００４６】
プリンタ３はＰＣ１から発行された要求コマンドに応じてＰＣ１に対して通信媒体を介しプリンタの情報を返信する。ＬＭ３６から要求される情報として、例えば、装着されているインクの種類、装着されているオプション情報、プリンタのエラー状況、電源状況などのプリンタ情報が挙げられる。またへ投入された印刷ジョブの印刷進行状況などのジョブ情報なども含まれる。
【００４７】
ＬＭ３６は、プリンタ３から返信された情報を取得すると共に取得した情報の解析を行う。該解析に基づき、前回取得及び保存した情報に変化が生じたか否かを判定する。変化があると判定した場合、その変化後の状態情報を、スキーマの定義に従いスキーマに変換する。そして、ＬＭ３６は変換された情報を記憶部に保存する（５）。この（５）の処理は、ユーティリティからの変化情報の獲得要求に応答する形式として変換され保持する処理に相当する。ここでスキーマの用語の講義の意味としては、一般に定義言語を利用したデータベースの記述であるが、代表的なものとして、例えばＸＭＬスキーマが挙げられる。
【００４８】
そして、スキーマに変換した情報を保存したＬＭ３６は、後述の図７のステップＳ２４０４に示すように、そのスキーマのルートをユーティリティ３０（プリンタマネージャ）に通知する（６）。通知は例えばＯＳを介して行われる。
【００４９】
ここでスキーマのルートとは、ＬＭ３６により保存されたスキーマデータをＬＭ３６が特定できる情報を指す。ルートの記述方法としては、例えば、”￥”を用いた階層構造を指定する情報を適用できる。また、記述方法として保存されたスキーマデータのアドレスやポインタを用いるようにしても良い。
【００５０】
図の説明に戻ると、ユーティリティ３０（プリンタマネージャ）は通知の発生を監視しており、ＯＳを介して通知の割り込みが発生したことを認識する（７）。
【００５１】
そして、図９のステップＳ２５０６に示すように通知されたスキーマのルート、すなわち、通知に関する情報を取得する。そして、これに引き続き図１０のステップＳ２６０２に示すように取得されたスキーマを引数としてＣＯＭインタフェースＩＢｉｄｉＳｐｌのＡＰＩ関数ＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｖｅｃｖ（）をコールする。
【００５２】
より具体的には、例えば、インクの情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報、システムの情報、将来新たに定義される未知の情報等を列挙（Ｅｎｕｍｅｒａｔｉｏｎ）して取得する処理を開始する。この開始によって、スキーマによる詳細情報の問い合せ要求をＬＭ３６に対して行う（８）。
【００５３】
図１０のステップＳ２６０３〜Ｓ２６０４に示すようにＬＭ３６のＳｅｎｄＲｅｃｖＢｉｄｉＤａｔａＦｒｏｍＰｏｒｔ（）関数内において、図７のステップＳ２４０３でスキーマの定義の形で保存されている情報の中からステップＳ２６０２で引数で指定されたスキーマの詳細情報を表すスキーマデータを取得（ロード）する（９）。
【００５４】
そして、図１０のステップＳ２６０５に示すようにＬＭ３６のＳｅｎｄＲｅｃｖＢｉｄｉＤａｔａＦｒｏｍＰｏｒｔ（）関数の引数として（９）で取得（ロード）したスキーマの定義に変換された詳細情報（スキーマデータ）を、ＬＭ３６がユーティリティ３０（プリンタマネージャ）に応答する（１０）。
【００５５】
ユーティリティ３０（プリンタマネージャ）がスキーマの定義で返された詳細情報（スキーマデータ）を取得し、図１１に示す情報表示用データの作成を行い、作成された情報表示用データを使ってユーザインタフェースの表示様子を更新する（１１）。
【００５６】
以下、上に説明したシステム構成、ハードウェア構成、ソフトウェアモジュール構成を基に実行される、印刷装置にかかわる情報取得処理について、図面及びフローチャートを併せて詳しく説明する。
【００５７】
＜監視手段（ＬＭ３６）の通知サービス処理の説明＞
図６はランゲージモニタ（ＬＭ３６）における通知サービスの処理を表すフローチャートである。
【００５８】
まず、ＯＳ起動時にＬＭ３６がロードされて通知サービスを開始する（Ｓ２３０１）。次に、ＬＭ３６は通信媒体（ＵＳＢケーブル）を介し要求コマンド（情報要求）又はプリンタ３へのイベント登録に基づき、プリンタ３から返される情報を取得する（Ｓ２３０２）。この時ＬＭ３６がプリンタ３に対して発行するコマンドは、例えば、メーカー独自に定義されているコマンド仕様に基づくものを適用できる。次に、取得した情報を保存する（Ｓ２３０３）。そして、前回保存した情報から状態の変化が有るか否かを判定する（Ｓ２３０４）。
【００５９】
Ｓ２３０４で変化があったと判定した場合には、この変化の有った情報を、ユーティリティ３０に引数として渡し、図７に示すユーティリティ３０（プリンタマネージャ）への通知処理を行う（Ｓ２３０５）。これは変化のあった情報を対象に行わせる処理に相当する。そして、その後に、所定時間（例えば５秒間）待機し（Ｓ２３０６）、Ｓ２３０２に処理を戻す。
【００６０】
一方、Ｓ２３０４において、前回保存した情報から状態の変化が無いと判定した場合、Ｓ２３０６に処理を進め、上に説明したように、所定時間待機しステップＳ２３０３に処理を戻す。
【００６１】
このようにＯＳが起動している間、ＬＭ３６は所定間隔でプリンタ３から情報を取得し、状態に変化が有った場合にユーティリティ３０（プリンタマネージャ）にその旨の通知を行うという独自の通知サービスを実行している。これにより、プリンタ３の状態変化をユーティリティ３０（プリンタマネージャ）によりリアルタイムに近い状況で伝達できる。
【００６２】
図７はランゲージモニタによるユーティリティへの情報通知の詳細処理を表すフローチャートである。この処理により、ユーティリティからのスキーマルートによるスキーマデータの獲得要求に対して応答できる形式のデータを保持することができる。
【００６３】
上に説明した図６のＳ２３０５において、ユーティリティ３０（プリンタマネージャ）への通知処理が実行されると、図７のフローチャートに示される処理実行が呼び出される。同図において、ユーティリティ３０（プリンタマネージャ）への通知処理が開始される（Ｓ２４０１）。図６のステップ２３０５で引数として渡された、状態の変化が有った情報を対応するスキーマの定義に従って変換する（Ｓ２４０２）。そして、スキーマの定義に従って変換された全てのデータを保存する（Ｓ２４０３）。
【００６４】
次に、変換後のスキーマデータのルートをユーティリティ３０（プリンタマネージャ）に通知し（Ｓ２４０４）、リターンする（Ｓ２４０５）。スキーマのルートとしては例えば、￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏ、￥Ｐｒｉｎｔｅｒ．ＳｔａｔｕｓＩｎｆｏ、￥Ｐｒｉｎｔｅｒ．ＨａｒｄｗａｒｅＩｎｆｏを挙げることができる。また、￥Ｐｒｉｎｔｅｒ．ＩｎｐｕｔＢｉｎｓＩｎｆｏ、￥Ｐｒｉｎｔｅｒ．ＯｕｔＩｎｆｏ、￥Ｐｒｉｎｔｅｒ．ＳｙｓｔｅｍＩｎｆｏ、￥Ｐｒｉｎｔｅｒ．ＳｔａｔｕｓＩｎｆｏなどを挙げることもできる。
【００６５】
＜ランゲージモニタ（ＬＭ３６）によるスキーマ定義への変換処理の説明＞
図８は情報をＬＭ３６によるスキーマの定義に従う変換処理を表すフローチャートである。図７のステップＳ２４０２において情報をスキーマの定義に変換する処理が実行されると、同図のステップＳ１５０１がコールされる。
【００６６】
同図において、ＬＭ３６が情報をスキーマの定義に変換する処理を開始し（Ｓ１５０１）、プリンタ３から図６のステップＳ２３０３で取得した、インクの情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報を順に確認し（Ｓ１５０２）。
【００６７】
これらの情報の中で変化があったものが存在する場合（Ｓ１５０３）、それらの情報をスキーマの定義に変換し（Ｓ１５０４）、スキーマの定義を戻り値としてセットし（Ｓ１５０５）、ステップＳ１５０２に戻る。ステップＳ１５０３において、全ての情報の確認を完了して、それ以上変換処理する情報が無い場合、前記セットされた戻り値を返してリターンする（Ｓ１５０６）。
【００６８】
＜ユーティリティの処理の説明＞
図９はユーティリティ３０（プリンタマネージャ）のプリンタ３の情報の取得方法（スキーマスーと）を獲得する処理を示すフローチャートである。
【００６９】
同図において、ユーティリティ３０が起動すると（Ｓ２５０１）、図６で説明したＬＭ３６における通知サービスの通知の割り込みの受付けを許可する（Ｓ２５０２）。メインウィンドウを表示し（Ｓ２５０３）、メッセージループを作成し、以後、メッセージ（割り込み）が発生するのを待機する（Ｓ２５０４）。
【００７０】
図７のステップＳ２４０４でＬＭ３６からユーティリティ３０（プリンタマネージャ）に送られた通知の割り込みが発生した場合（Ｓ２５０５）、通知されたスキーマのルートを取得する（Ｓ２５０６）。
【００７１】
そして、Ｓ２５０６で取得したスキーマのルートに基づき情報の取得と更新の処理を行う（Ｓ２５０７）。
【００７２】
Ｓ２５０８では、Ｓ２５０４で作成したメッセージループがメッセージを受信したか否かを判定する（Ｓ２５０８）。Ｓ２５０８で受信したと判定すると、受信したメッセージが終了メッセージか否かを判定する（Ｓ２５０９）。Ｓ２５０９で終了メッセージを受信したと判定すると、ユーティリティ３０（プリンタマネージャ）の全ての処理を終了してユーティリティ３０を終了する（Ｓ２５１１）。
【００７３】
一方、ステップＳ２５０９において、受信したメッセージが終了メッセージ以外と判定した場合に、各メッセージに対応する処理を行う（ここではその詳細説明は省略）（Ｓ２５１０）。そしてＳ２５１０の後にステップＳ２５０５に戻る。
【００７４】
一方、ステップＳ２５０８において、メッセージを受信しなかった場合、ステップＳ２５０５に戻る。ステップＳ２５０５において、通知の割り込みが発生しない場合、ステップＳ２５０８へ進む。
【００７５】
＜通知に基づく情報の取得と更新＞
図１０は通知に基づく情報の取得と更新の処理を表すフローチャートであり、Ｓ２５０７の詳細を示す。
【００７６】
同図にステップＳ２６０１がコールされる。同図において、ユーティリティ３０（プリンタマネージャ）が通知に基づく情報の取得と更新の処理を開始する（Ｓ２６０１）。
【００７７】
図７のステップ２４０４でＬＭ３６から通知されたルートを引数としてＣＯＭインタフェースＩＢｉｄｉＳｐｌのＡＰＩ関数ＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）（スプーラがエクスポートしている関数）をコールする。
【００７８】
具体的には、例えば、インクの情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報、システムの情報、将来新たに定義される未知の情報等が列挙される。
【００７９】
情報の取得処理を開始すると（Ｓ２６０２）、Ｐｒｉｎｔｉｎｇ  ａｎｄ  ＰｒｉｎｔＳｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓを介して、ＬＭ３６がエクスポートしているＳｅｎｄＲｅｃｖＢｉｄｉＤａｔａＦｒｏｍＰｏｒｔ（）関数がスプーラ４０からコールされて、この関数における処理が開始される（Ｓ２６０３）。
【００８０】
ＬＭ３６のＳｅｎｄＲｅｃｖＢｉｄｉＤａｔａＦｒｏｍＰｏｒｔ（）関数内において、図７のステップＳ２４０３でスキーマの定義の形で保存されている情報の中からステップＳ２６０２で引数として指定されたスキーマの詳細情報を表すスキーマを取得（ロード）する（Ｓ２６０４）。
【００８１】
ＳｅｎｄＲｅｃｖＢｉｄｉＤａｔａＦｒｏｍＰｏｒｔ（）関数の引数として、後述する図１６、図２０、図２５に示すようなスキーマの定義に変換された詳細情報を返し、ＬＭ３６のＳｅｎｄＲｅｃｖＢｉｄｉＤａｔａＦｒｏｍＰｏｒｔ（）関数の処理を終了する（Ｓ２６０５）。
【００８２】
そして、ユーティリティ３０（プリンタマネージャ）は、ＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）関数がリターンされ、引数として図１６、後述する図２０、図２５に示すようなスキーマの定義で返された詳細情報を取得し（Ｓ２６０６）し、図１１に示す情報表示用データの作成を行う（Ｓ２６０７）。作成された情報表示用データを使って後述の図１２、図１８、図２２におけるインク情報表示部４４、プリンタ情報表示部４５の表示を更新し（Ｓ２６０８）し、リターンする（Ｓ２６０９）。
【００８３】
このように、図９のステップＳ２５０６でＬＭ３６から取得したスキーマのルートを引数として、この引数をそのまま使ってＬＭ３６に聞き返す形で、このスキーマルートで指定された詳細情報を取得できる。つまり、ユーティリティ３０（プリンタマネージャ）は引数としてハンドリングするスキーマの内容を意識することなく、スキーマの内容を把握していない未知のスキーマであっても、そのスキーマを利用することができる。ユーティリティ３０は、ＬＭ３６から返された情報を利用してインク情報表示部４４、プリンタ情報表示部４５の表示を正しく更新することができる。これによって、プリンタ３に新しい機能が追加された場合も、ユーティリティ３０（プリンタマネージャ）を作り直す必要がないので、将来にわたってこのユーティリティ３０（プリンタマネージャ）を、そのままの使うことができる。
【００８４】
＜情報表示データの作成処理の説明＞
図１１は情報表示用データの作成の処理を表すフローチャートである。図１０のステップＳ２６０７において情報表示用データの作成の処理が実行されると、同図のステップＳ１６０１がコールされる。
【００８５】
まず、ユーティリティ３０が情報表示用データの作成の処理を開始する（Ｓ１６０１）。情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報の取得を試みる（Ｓ１６０２）。
【００８６】
そして、これらの情報を取得できた場合（Ｓ１６０３）、それらの情報を戻り値としてセットし（Ｓ１６０４）、ステップＳ１６０２に戻る。ステップＳ１６０３において、全ての情報の取得が完了してそれ以上取得する情報が無い場合、前記セットされた戻り値を返してリターンする（Ｓ１６０５）。
【００８７】
＜ユーティリティのユーザインタフェースの表示様子の説明＞
図１２はユーティリティ３０のユーザインタフェースの表示様子を示す。
【００８８】
メインウィンドウ４２には、プリンタ表示部４３、インク情報表示部４４、プリンタ情報表示部４５が含まれる。プリンタ（Ｐｒｉｎｔｅｒ）表示部４３は、ネットワーク上に接続されている共有プリンタの内、このユーティリティ３０で通信可能なプロトコルをサポートしていて通信可能な状態であるプリンタを全て表示する。インク情報（Ｉｎｋ  Ｉｎｆｏｒｍａｔｉｏｎ）表示部４４は各種インクに関する情報を表示する部分であり、プリンタ表示部４３内のグレーの四角で囲われてフォーカスされているプリンタのインクに関する情報を表示する。
【００８９】
同図に示す通り、プリンタ３には黒（Ｂｌａｃｋ）、シアン（Ｃｙａｎ）、マゼンタ（Ｍａｇｅｎｔａ）、黄（Ｙｅｌｌｏｗ）、フォト黒（ＰｈｏｔｏＢｌａｃｋ）、フォトシアン（ＰｈｏｔｏＣｙａｎ）、フォトマゼンタ（ＰｈｏｔｏＭａｇｅｎｔａ）の７色のＣｏｌｏｒ（色）のインクが装着されている。
【００９０】
それぞれのＮａｍｅ（名称）がＣＩ−Ｂ  Ｂｌａｃｋ、ＣＩ−Ｃ  Ｃｙａｎ、ＣＩ−ＭＭａｇｅｎｔａ、ＣＩ−Ｙ  Ｙｅｌｌｏｗ、ＣＩ−ＰＢ  Ｐｈｏｔｏ  Ｂｌａｃｋ、ＣＩ−ＰＣ  Ｐｈｏｔｏ  Ｃｙａｎ、ＣＩ−ＰＭ  Ｐｈｏｔｏ  Ｍａｇｅｎｔａ、Ｓｔａｔｅ（状態）がＦｕｌｌ（満タン）、Ｌｏｗ（残りわずか）、Ｏｕｔ（無し）、Ｆｕｌｌ（満タン）、Ｌｏｗ（残りわずか）、Ｏｕｔ（無し）、Ｌｏｗ（残りわずか）であることが示されている。
【００９１】
プリンタ情報（Ｐｒｉｎｔｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ）表示部４５はプリンタ本体に関する情報を表示する部分であり、プリンタ表示部４３内のグレーの四角で囲われてフォーカスされているプリンタに関する情報を表示する。
【００９２】
同図に示す通り、プリンタ３は２ＭＢのメモリ、５ＧＢのハードディスクドライブを搭載し、オプションとしてＡｕｔｏ  Ｄｕｐｌｅｘ  Ｕｎｉｔという名称の両面印刷ユニットを装備している。また、給紙手段としてＡＳＦ−１という名称のオートシートフィーダー、Ｍａｎｕａｌ  Ｔｒａｙという名称のトレイ、Ｃａｓｓｅｔｔｅ−１という名称のＣａｓｓｅｔｔｅを装備している。また、排紙手段としてＴｒａｙ−１という名称のトレイ、Ｔｒａｙ−２という名称のトレイ、Ｔｒａｙ−３という名称のトレイを装備し、オンライン（Ｏｎｌｉｎｅ）であることを表している。
【００９３】
同図ではインク情報表示部４４、プリンタ情報表示部４５にＸＹＺ社製のｋｍｍｎというモデル名のプリンタ（プリンタ３）の情報及び状態を表示している。プリンタ表示部４３、インク情報表示部４４、プリンタ情報表示部４５は表示の内容に応じてそれぞれのレイアウトを可変で制御可能であり、これにより、その時の状況の影響を受けることなく、様々なケースにおいて全ての内容を正しく表示することができる。
【００９４】
従来のユーティリティでは、ＸＹＺ社製のプリンタしか表示できなかったが、同図ではプリンタ表示部４２にＡＢＣ社やＤＥＦ社等の他社製のプリンタも表示することができる。これは後述する通り、本発明のユーティリティ３０（プリンタマネージャ）は、仕様や情報の内容が不明な他社製のプリンタであってもプリンタの状態情報を取得できる。そのプリンタまたはそのプリンタを制御するランゲージモニタがＰＰＳＩを介してＢＣＳを利用して情報をユーティリティ３０（プリンタマネージャ）に返す能力を備えていれさえすれば、そのプリンタの情報や状態を表示することができるからである。
【００９５】
＜インク情報に係わるスキーマ定義＞
図１３はユーティリティ３０がプリンタのインクの情報及び状態を取得する時に使用するスキーマを表す図である。これらのスキーマは、ユーティリティ３０がＰｒｉｎｔｉｎｇ  ａｎｄ  Ｐｒｉｎｔ  Ｓｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓを介してＬＭ３６経由でプリンタ３からインクの情報及び状態を取得する時に、Ｗｉｎｄｏｗｓ（登録商標）  ＸＰ  ＯＳで使用できるＣＯＭインタフェースＩＢｉｄｉＳｐｌ  のＡＰＩ関数ＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）をコールする際に引数として指定される。
【００９６】
同図は図３２で説明した内容と同じ内容を含んでおり、図３２との差分の内容に関して点線の四角で囲っている。同図において、ＩｎｋＩｎｆｏはインクの情報を表すＰｒｏｐｅｒｔｙであり、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏである。［Ｃｏｌｏｒ］は色の情報を表すＰｒｏｐｅｒｔｙであり、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏ．［Ｃｏｌｏｒ］、設定可能な値は、黒を表すＢｌａｃｋ、シアンを表すＣｙａｎ、マゼンタを表すＭａｇｅｎｔａ、黄を表すＹｅｌｌｏｗ、フォト黒を表すＰｈｏｔｏＢｌａｃｋ、フォトシアンを表すＰｈｏｔｏＣｙａｎ、フォトマゼンタを表すＰｈｏｔｏＭａｇｅｎｔａ、赤を表すＲｅｄ、緑を表すＧｒｅｅｎ、青を表すＢｌｕｅの何れかである。
【００９７】
例えば、黒インクの情報を取得したい場合は、￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏ．Ｂｌａｃｋと指定する。Ｉｎｓｔａｌｌｅｄは［Ｃｏｌｏｒ］色のインクが搭載されているか否かを表すＶａｌｕｅであり、データ型はＢｏｏｌｅａｎ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏ．［Ｃｏｌｏｒ］：Ｉｎｓｔａｌｌｅｄ、設定可能な値は、搭載されていること表すＴｒｕｅ、搭載されていないを表すＦａｌｓｅの何れかである。Ｓｔａｔｅは［Ｃｏｌｏｒ］色のインクの残量の状態を表すＶａｌｕｅであり、データ型はＳｔｒｉｎｇ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏ．［Ｃｏｌｏｒ］：Ｓｔａｔｅ、設定可能な値は、インク満タンを表すＦｕｌｌ、インク残りわずかを表すＬｏｗ、インク無しを表すＯｕｔ、インク残量不明を表すＵｎｋｎｏｗｎの何れかである。Ｎａｍｅは［Ｃｏｌｏｒ］色のインクの名称を表すＶａｌｕｅであり、データ型はＳｔｒｉｎｇ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏ．［Ｃｏｌｏｒ］：Ｎａｍｅである。設定可能な値の例は、同図のＥｘａｍｐｌｅｓのようなＡＳＣＩＩの文字列である。Ｉｎｓｔａｌｌｅｄ、Ｓｔａｔｅ、ＮａｍｅのＶａｌｕｅはＬＭ３６またはプリンタ３からユーティリティ３０へ返される値である。このように、同図で定義されているスキーマを使って、ユーティリティ３０はプリンタ３に搭載されているインクの情報及び状態を取得することができる。図３２と比較するとわかる通り、新機能としてフォト黒、フォトシアン、フォトマゼンタ、赤、緑、青の新しいインクが追加されている。
【００９８】
＜ハードウェア情報に係わるスキーマー定義の説明＞
図１４はユーティリティ３０がプリンタのハードウェアの情報を取得する時に使用するスキーマを表す図である。これらのスキーマは、ユーティリティ３０がＰｒｉｎｔｉｎｇａｎｄ  Ｐｒｉｎｔ  Ｓｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓを介してＬＭ３６経由でプリンタ３からハードウェアの情報を取得する時に、Ｗｉｎｄｏｗｓ（登録商標）  ＸＰＯＳで使用できるＣＯＭインタフェースＩＢｉｄｉＳｐｌのＡＰＩ関数ＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）をコールする際に引数として指定される。また、従来のユーティリティでは表示できない情報を点線の四角で囲っている。同図の点線の四角中には、両面印刷ユニットのオプションが新規に追加されていることを示している。
【００９９】
同図において、ＨａｒｄｗａｒｅＩｎｆｏは動作状態を表すＰｒｏｐｅｒｔｙであり、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＨａｒｄｗａｒｅＩｎｆｏである。例えば、ハードウェアの情報を取得したい場合は、￥Ｐｒｉｎｔｅｒ．ＨａｒｄｗａｒｅＩｎｆｏと指定する。Ｍｅｍｏｒｙはプリンタに搭載されているメモリのサイズを表すＶａｌｕｅであり、データ型はＩｎｔｅｇｅｒ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＨａｒｄｗａｒｅＩｎｆｏ：Ｍｅｍｏｒｙ、設定可能な値は、メモリのサイズを表す整数（単位：ＭＢ）である。例えばメモリのサイズを取得したい場合は、￥Ｐｒｉｎｔｅｒ．ＨａｒｄｗａｒｅＩｎｆｏ：Ｍｅｍｏｒｙと指定する。ＨＤＤはプリンタに搭載されているハードディスクドライブのサイズを表すＶａｌｕｅであり、データ型はＩｎｔｅｇｅｒ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＨａｒｄｗａｒｅＩｎｆｏ：ＨＤＤ、設定可能な値は、ハードディスクドライブのサイズを表す整数（単位：ＧＢ）である。例えばハードディスクドライブのサイズを取得したい場合は、￥Ｐｒｉｎｔｅｒ．ＨａｒｄｗａｒｅＩｎｆｏ：ＨＤＤと指定する。［Ｏｐｔｉｏｎ］はオプションの種類を表すＰｒｏｐｅｒｔｙであり、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＨａｒｄｗａｒｅＩｎｆｏ．［Ｏｐｔｉｏｎ］、設定可能な値は、両面印刷ユニットを表すＤｕｐｌｅｘＵｎｉｔである。例えば、両面印刷ユニットの情報を取得したい場合は、￥Ｐｒｉｎｔｅｒ．ＨａｒｄｗａｒｅＩｎｆｏ．ＤｕｐｌｅｘＵｎｉｔと指定する。Ｉｎｓｔａｌｌｅｄは［Ｏｐｔｉｏｎ］種のオプションが搭載されているか否かを表すＶａｌｕｅであり、データ型はＢｏｏｌｅａｎ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＨａｒｄｗａｒｅＩｎｆｏ．［Ｏｐｔｉｏｎ］：Ｉｎｓｔａｌｌｅｄ、設定可能な値は、搭載されていること表すＴｒｕｅ、搭載されていないを表すＦａｌｓｅの何れかである。Ｎａｍｅは［Ｏｐｔｉｏｎ］種のオプションの名称を表すＶａｌｕｅであり、データ型はＳｔｒｉｎｇ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＨａｒｄｗａｒｅＩｎｆｏ．［Ｏｐｔｉｏｎ］：Ｎａｍｅである。設定可能な値の例は、同図のＥｘａｍｐｌｅｓのようなＡＳＣＩＩの文字列である。Ｍｅｍｏｒｙ、ＨＤＤ、Ｉｎｓｔａｌｌｅｄ、Ｎａｍｅ等のＶａｌｕｅはＬＭ３６またはプリンタ３からユーティリティ３０へ返される値である。このように、同図で定義されているスキーマを使って、ユーティリティ３０はプリンタ３のハードウェアの情報を取得することができる。
【０１００】
＜プリンタの給紙手段にかかわるスキーマー定義の説明＞
図１５はユーティリティ３０がプリンタの給紙手段の情報を取得する時に使用するスキーマを表す図である。これらのスキーマは、ユーティリティ３０がＰｒｉｎｔｉｎｇ  ａｎｄ  Ｐｒｉｎｔ  Ｓｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓを介してＬＭ３６経由でプリンタ３から給紙手段の情報を取得する時に、Ｗｉｎｄｏｗｓ（登録商標）  ＸＰ  ＯＳで使用できるＣＯＭインタフェースＩＢｉｄｉＳｐｌのＡＰＩ関数ＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）をコールする際に引数として指定される。また、従来のユーティリティでは表示できない情報を点線の四角で囲っている。同図の点線の四角中には、新機能としてトレイ、カセットの給紙手段が新規に追加されていることを示している。
【０１０１】
同図において、ＩｎｐｕｔＢｉｎｓＩｎｆｏは給紙手段の情報を表すＰｒｏｐｅｒｔｙであり、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＩｎｐｕｔＢｉｎｓＩｎｆｏである。［Ｔｙｐｅ］は給紙手段の種類を表すＰｒｏｐｅｒｔｙであり、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＩｎｐｕｔＢｉｎｓＩｎｆｏ．［Ｔｙｐｅ］、設定可能な値は、オートシートフィーダーを表すＡＳＦ、トレイを表すＴｒａｙ、カセットを表すＣａｓｓｅｔｔｅである。例えば、オートシートフィーダーの給紙手段に関する情報を取得したい場合は、￥Ｐｒｉｎｔｅｒ．ＩｎｐｕｔＢｉｎｓＩｎｆｏ．ＡＳＦと指定する。Ｉｎｓｔａｌｌｅｄは［Ｔｙｐｅ］種の給紙手段が搭載されているか否かを表すＶａｌｕｅであり、データ型はＢｏｏｌｅａｎ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＩｎｐｕｔＢｉｎｓＩｎｆｏ．［Ｔｙｐｅ］：Ｉｎｓｔａｌｌｅｄ、設定可能な値は、搭載されていること表すＴｒｕｅ、搭載されていないを表すＦａｌｓｅの何れかである。Ｎａｍｅは［Ｔｙｐｅ］種の給紙手段の名称を表すＶａｌｕｅであり、データ型はＳｔｒｉｎｇ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＩｎｐｕｔＢｉｎｓＩｎｆｏ．［Ｔｙｐｅ］：Ｎａｍｅである。設定可能な値の例は、同図のＥｘａｍｐｌｅｓのようなＡＳＣＩＩの文字列である。Ｉｎｓｔａｌｌｅｄ、ＮａｍｅのＶａｌｕｅはＬＭ３６またはプリンタ３からユーティリティ３０へ返される値である。このように、同図で定義されているスキーマを使って、ユーティリティ３０はプリンタ３に搭載されている給紙手段の情報を取得することができる。
【０１０２】
＜ユーティリティによる要求と獲得されるスキーマールートとの関係の説明＞
図１６は上に説明したスキーマ定義を介して、インクの情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報を列挙（Ｅｎｕｍｅｒａｔｉｏｎ）する時のスキーマ及び値を表す図である。同図は図３１で説明した内容と同じ内容を含んでおり、スキーマの定義における図３１との差分の内容に関して点線の四角で囲っている。
【０１０３】
同図において、ユーティリティ３０からスキーマのルートをそれぞれ指定してＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）関数をコールすると（Ｑｕｅｒｙ（Ｓｃｈｅｍａ）欄）、プリンタ３の情報及び状態を表すスキーマ（Ｒｅｔｒｉｅｖｅ（Ｓｃｈｅｍａ））と値（Ｒｅｔｒｉｅｖｅ（Ｖａｌｕｅ））がセットで返される。
【０１０４】
ユーティリティ３０から指定されるルートとしては、例えば、￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏ、￥Ｐｒｉｎｔｅｒ．ＳｔａｔｕｓＩｎｆｏ、￥Ｐｒｉｎｔｅｒ．ＨａｒｄｗａｒｅＩｎｆｏ、￥Ｐｒｉｎｔｅｒ．ＩｎｐｕｔＢｉｎｓＩｎｆｏ、￥Ｐｒｉｎｔｅｒ．ＯｕｔｐｕｔＢｉｎｓＩｎｆｏが挙げられる。
【０１０５】
同図の例では、プリンタ３に黒、シアン、マゼンタ、黄、フォト黒、フォトシアン、フォトマゼンタのインクが装着されていている。また、インクの残量の状態がそれぞれ、インク満タン（Ｆｕｌｌ）、インク残りわずか（Ｌｏｗ）、インク無し（Ｏｕｔ）、インク満タン（Ｆｕｌｌ）、Ｌｏｗ（残りわずか）、Ｏｕｔ（無し）、Ｌｏｗ（残りわずか）となっている。
【０１０６】
また、インクの名称がそれぞれ、ＣＩ−Ｂ  Ｂｌａｃｋ、ＣＩ−Ｃ  Ｃｙａｎ、ＣＩ−Ｍ  Ｍａｇｅｎｔａ、ＣＩ−Ｙ  Ｙｅｌｌｏｗ、ＣＩ−ＰＢ  Ｐｈｏｔｏ  Ｂｌａｃｋ、ＣＩ−ＰＣ  Ｐｈｏｔｏ  Ｃｙａｎ、ＣＩ−ＰＭ  Ｐｈｏｔｏ  Ｍａｇｅｎｔａとなっている。
【０１０７】
また、動作状態がオンラインでスタンバイ状態となっている。また、搭載されているメモリのサイズが２ＭＢ、搭載されているハードディスクドライブのサイズが５ＧＢ、Ａｕｔｏ  Ｄｕｐｌｅｘ  Ｕｎｉｔという名称の両面印刷ユニットのオプションが搭載されている。
【０１０８】
また、給紙手段としてＡＳＦ−１という名称のオートシートフィーダー、ＭａｎｕａｌＴｒａｙという名称のトレイ、Ｃａｓｓｅｔｔｅ−１という名称のカセットを装備し、排紙手段としてＴｒａｙ−１という名称のトレイ、Ｔｒａｙ−２という名称のトレイ、Ｔｒａｙ−３という名称のトレイを装備していることを表している。このようにユーティリティ３０がスキーマを使って列挙（Ｅｎｕｍｅｒａｔｉｏｎ）することで、ユーティリティ３０がそのスキーマで表されるプリンタの全ての詳細情報を取得することができる。図１１と比較するとわかる通り、新機能としてフォト黒、フォトシアン、フォトマゼンタのインク、両面印刷ユニットのオプション、Ｍａｎｕａｌ  ＴｒａｙのトレイとＣａｓｓｅｔｔｅ−１のカセットの給紙手段が追加されている。
【０１０９】
＜プリンタから取得される情報の具体例説明＞
図１７はＰＣとプリンタ３の間でやり取りされるデータを表す図である。実際にＰＣ１とプリンタ３との間で送受信されるデータはバイナリデータであるが、同図では理解しやすくすることを考えて、ＡＳＣＩＩ文字コードでエンコードした後のテキストデータとして表している。
【０１１０】
同図において、ＰＣ１が「−ＰＣから発行する要求コマンド−」欄のコマンドをプリンタ３にＵＳＢインタフェース９を介して発行すると、「−プリンタから返される情報−」欄の情報がプリンタ３からＰＣ１にＵＳＢインタフェース９を介して返される。図中で、「Ｉｎｋ；」は、インクの情報及び状態要求コマンドを示す。そして、プリンタから返される応答は、＜色＞、＜型名＞、＜状態＞の準で、黒、ＣＩ−Ｂ、満タン、及び、シアン、ＣＩ−Ｃ、残りわずか、及び、マゼンタ、ＣＩ−Ｍ、無し、及び、黄、ＣＩ−Ｙ、満タン、及び、フォト黒、ＣＩ−ＰＢ、残りわずか、及び、フォトシアン、Ｉ−ＰＣ、無し、及び、フォトマゼンタ、ＣＩ−ＰＭ、残りわずかを示す。
【０１１１】
また、「Ｍｅｍｏｒｙ；」は、メモリのサイズ要求コマンドを示す。そして、プリンタから返される応答は、＜サイズ２（単位：ＭＢ）を示す。
【０１１２】
また、「ＨＤＤ；」は、ハードディスクドライブのサイズ要求コマンドを示し、プリンタから返される応答は、５（単位：ＧＢ）を示す。また、「Ｓｔａｔｕｓ；」は、動作状態要求コマンドを示す。プリンタから返される応答は、動作状態として、Ｏｎｌｉｎｅを示す。また、「Ｏｐｔｉｏｎ；」は、オプション要求コマンドを示し、プリンタから返される応答は、装着されているオプションが、Ａｕｔｏ  Ｄｕｐｌｅｘ  Ｕｎｉｔであることを示す。また、「ＩｎｐｕｔＢｉｎｓ；」は、給紙手段要求コマンドを示し、プリンタから返される応答は、給紙手段の情報が、ＡＳＦ−１、Ｍａｎｕａｌ  Ｔｒａｙ、Ｃａｓｓｅｔｔｅ−１であることを示す。
【０１１３】
また、「ＯｕｔｐｕｔＢｉｎｓ；」は、排紙手段要求コマンドを示し、プリンタから返される応答は、排紙手段がＴｒａｙ−１、Ｔｒａｙ−２、Ｔｒａｙ−３であることを示す。
【０１１４】
この図１７では、新機能としてフォト黒、フォトシアン、フォトマゼンタのインク、両面印刷ユニットのオプション、Ｍａｎｕａｌ  ＴｒａｙのトレイとＣａｓｓｅｔｔｅ−１のカセットの給紙手段が追加されていることが示されている。
【０１１５】
［第２の実施の形態］
＜ユーティリティ３０のユーザインタフェースの表示様子＞
図１８はユーティリティ３０の第２の実施の形態を表す図である。同図において、メインウィンドウ４２、プリンタ表示部４３、インク情報表示部４４、プリンタ情報表示部４５は図１２と同一である。
【０１１６】
尚、プリンタ表示部４３には図１では図示していないプリンタも表示している。同図ではインク情報表示部４４、プリンタ情報表示部４５にＤＥＦ社製のｍｏｄｅｌ−Ｄというモデル名のプリンタの情報及び状態を表示している。
【０１１７】
インク情報表示部４４に表示されている内容から、ＤＥＦ社製のｍｏｄｅｌ−Ｄには黒（Ｂｌａｃｋ）、シアン（Ｃｙａｎ）、マゼンタ（Ｍａｇｅｎｔａ）、黄（Ｙｅｌｌｏｗ）、フォトシアン（ＰｈｏｔｏＣｙａｎ）、フォトマゼンタ（ＰｈｏｔｏＭａｇｅｎｔａ）、赤（Ｒｅｄ）の７色のＣｏｌｏｒ（色）のインクが装着されていることがわかる。
【０１１８】
また、それぞれのＮａｍｅ（名称）がＤＥＦ  ｉｎｋ−ｂ  ｂｌａｃｋ、ＤＥＦ  ｉｎｃ−ｃ  ｃｙａｎ、ＤＥＦ  ｉｎｃ−ｍ  ｍａｇｅｎｔａ、ＤＥＦ  ｉｎｃ−ｙ  ｙｅｌｌｏｗ、ＤＥＦ  ｉｎｋ−ｐｃ  ｐｈｏｔｏ  ｃｙａｎ、ＤＥＦ  ｉｎｋ−ｐｍ  ｐｈｏｔｏ  ｍａｇｅｎｔａ、ＤＥＦ  ｉｎｋ−ｒ  ｒｅｄであることがわかる。
【０１１９】
また、Ｓｔａｔｅ（状態）がＬｏｗ（残りわずか）、Ｆｕｌｌ（満タン）、Ｆｕｌｌ（満タン）、Ｏｕｔ（無し）、Ｌｏｗ（残りわずか）、Ｏｕｔ（無し）、Ｆｕｌｌ（満タン）であることを表している。
【０１２０】
プリンタ情報表示部４５に表示されている内容は、ＤＥＦ社製のｍｏｄｅｌ−Ｄは、１０ＭＢのメモリ、２０ＧＢのハードディスクドライブを搭載し、オプションとしてｄｕｐｌｅｘ  ｕｎｉｔという名称の両面印刷ユニットを搭載していることを表している。また、給紙手段としてａｓｆ−Ａという名称のオートシートフィーダー、ｃａｓｓｅｔｔｅ−Ａという名称のＣａｓｓｅｔｔｅ、ｃａｓｓｅｔｔｅ−Ｂという名称のＣａｓｓｅｔｔｅを装備していることを表している。また、排紙手段としてｔｒａｙ−Ａという名称のトレイ、ｔｒａｙ−Ｂという名称のトレイ、ｔｒａｙ−Ｃという名称のトレイ、ｔｒａｙ−Ｄという名称のトレイを装備し、オンライン（Ｏｎｌｉｎｅ）であることを表している。図１２と比較するとわかる通り、ＤＥＦ社製のｍｏｄｅｌ−Ｄは、ＸＹＺ社製のｋｍｍｎ（プリンタ３）には装備されていなかった機能として、ａｕｔｏ  ｂｏｏｋ  ｍａｋｅｒという名称の製本コンポーネントを追加のオプションとして新たに装備している。このように、本発明によれば、プリンタが新しい機能を装備した場合においても、その新しい機能に合わせてユーティリティ３０（プリンタマネージャ）を作り直す必要がない。
【０１２１】
図１９はユーティリティ３０がプリンタのシステムの情報を取得する時に使用するスキーマを表す図である。これらのスキーマは、ユーティリティ３０がＰｒｉｎｔｉｎｇ  ａｎｄ  Ｐｒｉｎｔ  Ｓｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓを介してＬＭ３６経由でプリンタ３からシステムの情報を取得する時に用いられる。より具体的には、Ｗｉｎｄｏｗｓ（登録商標）  ＸＰ  ＯＳで使用できるＣＯＭインタフェースＩＢｉｄｉＳｐｌ  のＡＰＩ関数ＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）をコールする際に引数として指定される。
【０１２２】
同図において、ＳｙｓｔｅｍＩｎｆｏはシステムの情報を表すＰｒｏｐｅｒｔｙであり、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＳｙｓｔｅｍＩｎｆｏである。例えば、システムの情報を取得したい場合は、￥Ｐｒｉｎｔｅｒ．ＳｙｓｔｅｍＩｎｆｏと指定する。
【０１２３】
［Ｃｏｍｐｏｎｅｎｔ］はシステムを構成するコンポーネントの種類を表すＰｒｏｐｅｒｔｙであり、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＳｙｓｔｅｍＩｎｆｏ．［Ｃｏｍｐｏｎｅｎｔ］、設定可能な値は、製本コンポーネントを表すＢｏｏｋＭａｋｅｒである。例えば、製本コンポーネントの情報を取得したい場合は、￥Ｐｒｉｎｔｅｒ．ＳｙｓｔｅｍＩｎｆｏ．ＢｏｏｋＭａｋｅｒと指定する。Ｉｎｓｔａｌｌｅｄは［Ｃｏｍｐｏｎｅｎｔ］種のコンポーネントが搭載されているか否かを表すＶａｌｕｅである。データ型はＢｏｏｌｅａｎ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＳｙｓｔｅｍＩｎｆｏ．［Ｃｏｍｐｏｎｅｎｔ］：Ｉｎｓｔａｌｌｅｄ、設定可能な値は、搭載されていること表すＴｒｕｅ、その逆のＦａｌｓｅの何れかである。
【０１２４】
Ｎａｍｅは［Ｃｏｍｐｏｎｅｎｔ］種のコンポーネントの名称を表すＶａｌｕｅである。データ型はＳｔｒｉｎｇ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＳｙｓｔｅｍＩｎｆｏ．［Ｃｏｍｐｏｎｅｎｔ］：Ｎａｍｅである。設定可能な値の例は、同図のＥｘａｍｐｌｅｓのようなＡＳＣＩＩの文字列である。
【０１２５】
Ｉｎｓｔａｌｌｅｄ、Ｎａｍｅ等のＶａｌｕｅはＬＭ３６またはプリンタ３からユーティリティ３０へ返される値である。このように、同図で定義されているスキーマを使って、ユーティリティ３０はプリンタ３のシステムの情報を取得することができる。
【０１２６】
図２０は図１３〜図１５、図１９などで定義されているスキーマを使ってインクの情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報、システムの情報を列挙（Ｅｎｕｍｅｒａｔｉｏｎ）する時のスキーマ及び値を表す図である。同図は図３１、図１６で説明した内容と同様な内容を含んでおり、スキーマの定義における図３１、図１６との差分の内容に関して点線の四角で囲っている。
【０１２７】
同図において、ユーティリティ３０からのスキーマのルートをそれぞれ指定してＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）関数をコールする。例えば、スキーマのルートとしては、￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏ、￥Ｐｒｉｎｔｅｒ．ＳｔａｔｕｓＩｎｆｏ、￥Ｐｒｉｎｔｅｒ．ＨａｒｄｗａｒｅＩｎｆｏ、￥Ｐｒｉｎｔｅｒ．ＩｎｐｕｔＢｉｎｓＩｎｆｏ、￥Ｐｒｉｎｔｅｒ．ＯｕｔｐｕｔＢｉｎｓＩｎｆｏ、￥Ｐｒｉｎｔｅｒ．ＳｙｓｔｅｍＩｎｆｏが挙げられる。
【０１２８】
すると（Ｑｕｅｒｙ（Ｓｃｈｅｍａ）欄）、ＤＥＦ社製のｍｏｄｅｌ−Ｄの情報及び状態を表すスキーマ（Ｒｅｔｒｉｅｖｅ（Ｓｃｈｅｍａ））と値（Ｒｅｔｒｉｅｖｅ（Ｖａｌｕｅ））がセットで返される。同図の例では、ＤＥＦ社製のｍｏｄｅｌ−Ｄに黒、シアン、マゼンタ、黄、フォトシアン、フォトマゼンタ、赤のインクが装着されていることが示されている。また、インクの残量の状態がそれぞれ、インク残りわずか（Ｌｏｗ）、インク満タン（Ｆｕｌｌ）、インク満タン（Ｆｕｌｌ）、インク無し（Ｏｕｔ）、Ｌｏｗ（残りわずか）、Ｏｕｔ（無し）、インク満タン（Ｆｕｌｌ）であることが示されている。また、インクの名称がそれぞれ、ＤＥＦ  ｉｎｋ−ｂ  ｂｌａｃｋ、ＤＥＦ  ｉｎｃ−ｃ  ｃｙａｎ、ＤＥＦ  ｉｎｃ−ｍ  ｍａｇｅｎｔａ、ＤＥＦ  ｉｎｃ−ｙ  ｙｅｌｌｏｗ、ＤＥＦ  ｉｎｋ−ｐｃ  ｐｈｏｔｏ  ｃｙａｎ、ＤＥＦ  ｉｎｋ−ｐｍ  ｐｈｏｔｏ  ｍａｇｅｎｔａ、ＤＥＦ  ｉｎｋ−ｒ  ｒｅｄであることが示されている。
【０１２９】
また、動作状態がオンラインでスタンバイ状態、搭載されているメモリのサイズが１０ＭＢ、搭載されているハードディスクドライブのサイズが２０ＧＢ、ｄｕｐｌｅｘ  ｕｎｉｔという名称の両面印刷ユニットのオプションが搭載されていることが示されている。また、給紙手段としてａｓｆ−Ａという名称のオートシートフィーダー、ｃａｓｓｅｔｔｅ−Ａという名称のカセット、ｃａｓｓｅｔｔｅ−Ｂという名称のカセットを装備されていることが示されている。また、排紙手段としてｔｒａｙ−Ａという名称のトレイ、ｔｒａｙ−Ｂという名称のトレイ、ｔｒａｙ−Ｃという名称のトレイ、ｔｒａｙ−Ｄという名称のトレイを装備し、ａｕｔｏ  ｂｏｏｋ  ｍａｋｅｒという名称の製本コンポーネントを装備していることが示されている。
【０１３０】
このようにユーティリティ３０がスキーマを使って列挙（Ｅｎｕｍｅｒａｔｉｏｎ）することで、ユーティリティ３０がそのスキーマで表されるプリンタの全ての詳細情報を取得することができる。図３１、図１６と比較するとわかる通り、新機能として赤のインク、製本コンポーネントが追加されている。
【０１３１】
図２１はＰＣとプリンタ３の間でやり取りされるデータを表す図である。実際にＰＣとプリンタとの間で送受信されるデータはバイナリデータであるが、同図では理解しやすくすることを考えて、ＡＳＣＩＩ文字コードでエンコードした後のテキストデータとして表している。同図において、ＰＣが「−ＰＣから発行する要求コマンド−」欄のコマンドをＤＥＦ社製のｍｏｄｅｌ−ＤにＵＳＢインタフェースを介して発行すると、「−プリンタから返される情報−」欄の情報がｍｏｄｅｌ−ＤからＰＣにＵＳＢインタフェースを介して返される。
【０１３２】
「ＲｅｑＩｎｋ；」は、インクの情報及び状態要求コマンドを示す。プリンタから返される応答は、＜色＞、＜型名＞、＜状態＞の順に、黒、ｉｎｋ−ｂ、残りわずか、及び、シアン、ｉｎｋ−ｃ、満タン、及び、マゼンタ、ｉｎｋ−ｍ、満タン、及び、黄、ｉｎｋ−ｙ、無しを示す。さらに、フォトシアン、ｉｎｋ−ｐｃ、残りわずか、及び、フォトマゼンタ、ｉｎｋ−ｐｍ、無し、及び、赤、ｉｎｋ−ｒ、満タンを示す。
【０１３３】
また、「ＲｅｑＭｅｍｏｒｙ；」は、メモリのサイズ要求コマンドを示す。プリンタから返される応答は、１０（単位：ＭＢ）を示す。また、「ＲｅｑＨＤＤ；」は、ハードディスクドライブのサイズ要求コマンドを示す。プリンタから返される応答は、２０（単位：ＧＢ）を示す。
【０１３４】
また、「ＲｅｑＳｔａｔｕｓ；」は、動作状態要求コマンドを示す。プリンタから返される応答は、動作状態として、Ｏｎｌｉｎｅを示す。また、「ＲｅｑＯｐｔｉｏｎ；」はオプション要求コマンドを示す。プリンタから返される応答は、装着されているオプションがｄｕｐｌｅｘ  ｕｎｉｔであることを示す。また、「ＲｅｑＩｎｐｕｔＢｉｎｓ；」は給紙手段要求コマンドを示す。プリンタから返される応答は、給紙手段が、ａｓｆ−Ａ、ｃａｓｓｅｔｔｅ−Ａ、ｃａｓｓｅｔｔｅ−Ｂであることを示す。
【０１３５】
また、「ＲｅｑＯｕｔｐｕｔＢｉｎｓ；」は排紙手段要求コマンドを示す。プリンタから返される応答は、排紙手段が、ｔｒａｙ−Ａ、ｔｒａｙ−Ｂ、ｔｒａｙ−Ｃ、ｔｒａｙ−Ｄであることを示す。また、「ＲｅｑＳｙｓｔｅｍ；」は、システム要求コマンドを示す。プリンタから返される応答は、システム（コンポーネント）がａｕｔｏ  ｂｏｏｋ  ｍａｋｅｒであることを示す。
【０１３６】
図２０では例えば、「Ｒｅｔｒｉｅｖｅ  （Ｓｃｈｅｍａ）」が「￥Ｐｒｉｎｔｅｒ．ＩｎｋＩｎｆｏ．Ｂｌａｃｋ：Ｎａｍｅ」で、「  Ｒｅｔｒｉｅｖｅ  （Ｖａｌｕｅ）」が「ＤＥＦ  ｉｎｋ−ｂ  ｂｌａｃｋ」のようにインクの名称が返されている。
【０１３７】
これは、図２１の「ＰＣから発行する要求コマンド」が「ＲｅｑＩｎｋ；」で、「プリンタから返される情報」が「ＡｎｓＩｎｋ：ｂｌａｃｋ．ｉｎｋ−・・ｉｎｋ−ｒ．Ｆｕｌｌ；」の情報に基づくＤＥＦ社製のランゲージモニタの処理による。ＤＥＦ社製のランゲージモニタが、「プリンタから返される情報」に基づき、インクの名称を生成し、それをユーティリティ３０に返している。
【０１３８】
このように、ランゲージモニタ（ＬＭ３６）は、プリンタ（プリンタ３）から取得した情報をそのままプリンタマネージャ（ユーティリティ３０）に返す（送る）のではなく、適切な情報に変換してその情報を返す（送る）というような処理を行うことができる。
【０１３９】
＜第３の実施の形態＞
図２２は本実施の形態におけるユーティリティ３０のユーザインタフェース表示様子を示す図である。同図は図１２、図１８に示すユーティリティ３０のプリンタ情報表示部４５の仕様の一部を変更した実施例である。同図において、メインウィンドウ４２、プリンタ表示部４３、インク情報表示部４４は図１２、図１８と同一である。尚、プリンタ表示部４３には図１２では図示していないプリンタも表示している。同図ではインク情報表示部４４、プリンタ情報表示部４５にＤＥＦ社製のｍｏｄｅｌ−Ｄというモデル名のプリンタの情報及び状態を表示している。
【０１４０】
プリンタ情報表示部４５内の状態（Ｓｔａｔｕｓ：）表示部において、”Ｅｒｒｏｒ”が表示されている。これはプリンタからエラーを表す情報が通知されている為である。例えば、図１８のユーティリティ３０においてこの情報が通知された場合、図１８の状態（Ｓｔａｔｕｓ：）表示部には同図と同じような”Ｅｒｒｏｒ”が表示されることになる。
【０１４１】
同図において、４６は詳細情報表示（Ｄｅｔａｉｌ）ボタンであり、第３の実施の形態の特徴を表す部分である。プリンタの動作状態を表す新しい機能として、図２４の点線の四角で囲われたような警告やエラーを表すスキーマが新たに定義された場合等に、状態表示部に表示しきれないような情報が存在するケースが発生する。詳細情報表示ボタン４６は、このような状態表示部に表示しきれない情報が存在するケースや詳細情報を表示したいケースに押下できるように有効となってハイライトされ、それ以外の場合には無効となってグレーアウトされている。また、警告やエラーを表す情報が通知された場合にこの詳細情報表示ボタン４６を警告状態やエラー状態を表す黄色や赤色で点灯または点滅させてもよい。詳細情報表示ボタン４６が有効である時、このボタンが押下されると、図２３に示す詳細情報ダイアログボックスを表示する。
【０１４２】
図２３は詳細情報ダイアログボックスの一例を表す図である。同図において、４７は詳細情報ダイアログボックスであり、図２２の詳細情報表示ボタン４６が押下されると、この詳細情報ダイアログボックス４７が表示される。４８は詳細情報表示部であり、プリンタの動作状態の詳細情報が表示される。ここには図２４のＤｅｔａｉｌの定義のＥｘａｍｐｌｅｓ：に記載されているような情報が表示される。同図は用紙無しエラーが発生している状態を表している。４９はＯＫボタンであり、このボタンが押下された場合、詳細情報ダイアログボックスを閉じて、図２２のメインウィンドウ４２に戻る。
【０１４３】
図２４はユーティリティ３０がプリンタの動作状態を取得する時に使用するスキーマを表す図である。これらのスキーマは、ユーティリティ３０がＰｒｉｎｔｉｎｇ  ａｎｄ  Ｐｒｉｎｔ  Ｓｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓを介してＬＭ３６（ランゲージモニタ）経由でプリンタ３（プリンタ）から動作状態を取得する時に、Ｗｉｎｄｏｗｓ（登録商標）  ＸＰ  ＯＳで使用できるＣＯＭインタフェースＩＢｉｄｉＳｐｌ  のＡＰＩ関数ＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）をコールする際に引数として指定される。同図は図７で説明した内容と同じ内容を含んでおり、図３２との差分の内容に関して点線の四角で囲っている。
【０１４４】
同図において、ＳｔａｔｕｓＩｎｆｏは動作状態を表すＰｒｏｐｅｒｔｙであり、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＳｔａｔｕｓＩｎｆｏである。［Ｔｙｐｅ］は動作状態の種類を表すＰｒｏｐｅｒｔｙである。また、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＳｔａｔｕｓＩｎｆｏ．［Ｔｙｐｅ］である。また、設定可能な値は、オンラインを表すＯｎｌｉｎｅ、オフラインを表すＯｆｆｌｉｎｅ、印刷中を表すＰｒｉｎｔｉｎｇ、警告を表すＷａｒｎｉｎｇ、エラーを表すＥｒｒｏｒなどである。例えば、オンラインの動作状態に関する情報を取得したい場合は、￥Ｐｒｉｎｔｅｒ．ＳｔａｔｕｓＩｎｆｏ．Ｏｎｌｉｎｅと指定する。
【０１４５】
Ｄｅｔａｉｌは［Ｔｙｐｅ］種の動作状態の詳細情報を表すＶａｌｕｅであり、データ型はＳｔｒｉｎｇ、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＳｔａｔｕｓＩｎｆｏ．［Ｔｙｐｅ］：Ｄｅｔａｉｌである。また、設定可能な値の例は、同図のＥｘａｍｐｌｅｓのようなＡＳＣＩＩの文字列である。ＤｅｔａｉｌのＶａｌｕｅはＬＭ３６（ランゲージモニタ）またはプリンタ３（プリンタ）からユーティリティ３０へ返される値である。このように、同図で定義されているスキーマを使って、ユーティリティ３０はプリンタ３（プリンタ）の動作状態を取得することができる。
【０１４６】
図２５は図１３〜図１５、図１９、図２４などで定義されているスキーマを使ってインクの情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報、システムの情報を列挙（Ｅｎｕｍｅｒａｔｉｏｎ）する時のスキーマ及び値を表す図である。同図は図３１、図１６、図２０で説明した内容と同じ内容を含んでおり、特に、図２０との差分の内容に関して点線の四角で囲っている。同図では図２０との差分に関して説明する。
【０１４７】
同図において、ユーティリティ３０から「￥Ｐｒｉｎｔｅｒ．ＳｔａｔｕｓＩｎｆｏ」のスキーマルートを指定してＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）関数をコールすると（Ｑｕｅｒｙ（Ｓｃｈｅｍａ）欄）、ＤＥＦ社製のｍｏｄｅｌ−Ｄの情報及び状態を表すスキーマ（Ｒｅｔｒｉｅｖｅ（Ｓｃｈｅｍａ））と値（Ｒｅｔｒｉｅｖｅ（Ｖａｌｕｅ））がセットで返される。同図の例では、ｍｏｄｅｌ−Ｄが図２０に示すようなオンラインでスタンバイ状態から用紙無しエラー状態変化した様子を表している。
【０１４８】
図２６はＰＣとプリンタ３の間でやり取りされるデータを表す図である。実際にＰＣとプリンタとの間で送受信されるデータはバイナリデータであるが、同図では理解しやすくすることを考えて、ＡＳＣＩＩ文字コードでエンコードした後のテキストデータとして表している。同図は図２１で説明した内容と同じ内容を含んでおり、図２１との差分の内容に関して点線の四角で囲っている。同図では図２１との差分に関して説明する。
【０１４９】
同図において、ＰＣが「−ＰＣから発行する要求コマンド−」欄のコマンドをＤＥＦ社製のｍｏｄｅｌ−ＤにＵＳＢインタフェースを介して発行すると、「−  プリンタから返される情報  −」欄の情報がｍｏｄｅｌ−ＤからＰＣにＵＳＢインタフェースを介して返される。この情報は、「ＲｅｑＳｔａｔｕｓ；」が動作状態要求コマンドを示し、その応答が、用紙無しエラーを示す。
【０１５０】
図２７はユーティリティ３０（プリンタマネージャ）の本実施の形態の処理を表すフローチャートである。
【０１５１】
同図において、ユーティリティ３０が起動すると（Ｓ３６０１）、図６に示すＬＭ３６（ランゲージモニタ）における通知サービスの通知の割り込みの受付けを許可し（Ｓ３６０２）する。そして、図２２に示すメインウィンドウを表示し（Ｓ３６０３）、メッセージループを作成する（Ｓ３６０４）。Ｓ３６０５では、図７のステップＳ２４０４でＬＭ３６（ランゲージモニタ）からユーティリティ３０（プリンタマネージャ）に送られた通知の割り込みが発生したか否かを判定する。Ｓ３６０５で通知の割りこみが発生したと判定した場合、通知されたスキーマのルート、すなわち、通知に関する情報を取得して保存する（Ｓ３６０６）。そして、図１０で説明したと同様の通知に基づく情報の取得と更新の処理を行う（Ｓ３６０７）。
【０１５２】
ステップＳ３６０４で、作成したメッセージループがメッセージを受信したか否かを判定する（Ｓ３６０８）。受信したメッセージが終了メッセージの場合（Ｓ３６０９）、ユーティリティ３０（プリンタマネージャ）の全ての処理を終了してユーティリティ３０を終了する（Ｓ３６１３）。
【０１５３】
Ｓ３６０９でＮＯと判定した場合に、ステップＳ３６０９で詳細情報表示ボタン４６が押下されか否かを判定する。この判定処理により、ＬＭ３６より取得したいスキーマルート（取得方法）によってＬＭ３６が保持した情報を取得するか否かを判定することができる。そして、押下されたたことを表すメッセージの場合（Ｓ３６１０）、ステップＳ３６０６で保存されているＳｔａｔｕｓＩｎｆｏのスキーマ、￥Ｐｒｉｎｔｅｒ．ＳｔａｔｕｓＩｎｆｏをロードし（Ｓ３６１１）、ステップＳ３６０７へ進む。
【０１５４】
ステップＳ３６１０において、詳細情報表示ボタン４６が押下されたことを表すメッセージ以外の場合、各メッセージに対応する処理を行い（ここではその詳細説明は省略）（Ｓ３６１２）、ステップＳ３６０５に戻る。
【０１５５】
ステップＳ３６０８において、メッセージを受信しなかった場合、ステップＳ３６０５に戻る。ステップＳ３６０５において、通知の割り込みが発生しない場合、ステップＳ３６０８へ進む。
【０１５６】
このように、詳細情報表示ボタン４６が押下されたことを表すメッセージを受信した時、すなわち、詳細情報表示ボタンが押下された時に、ＬＭ３６（ランゲージモニタ）からプリンタ３（プリンタ）の動作状態を取得する。これにより、プリンタマネージャ（ユーティリティ３０）からＬＭ３６（ランゲージモニタ）に対して不要な情報の取得を試みることなく、必要な時に必要な情報だけを適確に取得でき、処理効率を向上することができ、品質を向上することができる。
【０１５７】
図２８は別の印刷システムの概略を示す。同図は、図１に示すような周辺装置制御システムのネットワーク４上に、ネットワーク対応型のプリンタが接続されたケースを表している。７はネットワーク対応型のプリンタであり、ＰＣ２内のユーティリティ３０（プリンタマネージャ）において、このプリンタの情報や状態を表示することが可能である。これは、プリンタ７が、ＰＣ１内のＬＭ３６が行っていたような本発明に関する一部の処理を、プリンタ内のファームウェアに実装してプリンタ内で処理することで実現している。ＰＣ２内のプリンタ７を制御するランゲージモニタが図６に示すような通知サービスの処理を行っていることで実現している。このように、本発明に関する一部の処理を、ＬＭ３６に実装せずにプリンタ本体のファームウェアに実装することで、ＬＭ３６を介すことなくプリンタ本体で処理することが可能となり、同様な効果を得ることができる。
【０１５８】
図２９は本発明に係る情報処理装置及び周辺装置からなる周辺装置制御システムの一実施形態におけるシステムの構成部分を表すブロック図である。同図は、図１に示すような周辺装置制御システムを、ネットワーク４上で実現するのではなく、ＰＣとプリンタだけから構成されるローカルポート接続環境で実現したケースを表している。
【０１５９】
同図において、ユーティリティ１０図１におけるＰＣ２内のユーティリティ３０と同様のものをＰＣ１内にインストールしたものである。これにより、ＰＣ１内のユーティリティ１０とＬＭ３６との間にＰｒｉｎｔｉｎｇ  ａｎｄ  Ｐｒｉｎｔ  Ｓｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓが構成さる。そして、このＰｒｉｎｔｉｎｇ  ａｎｄ  Ｐｒｉｎｔ  Ｓｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓを介して、ユーティリティ１０（プリンタマネージャ）とＬＭ３６との間で上述の各実施形態で説明したようなデータ通信を行うことができる。
【０１６０】
以上の説明では、ユーティリティ３０でプリンタ３に搭載されているインクの情報及び状態、周辺装置の動作状態、警告、エラーの状態、オプションの装着状態をモニタする例を説明したが、これらの例に限られない。プリンタに係る任意の情報や状態の取得に有効活用できる。
【０１６１】
また、Ｐｒｉｎｔｉｎｇ  ａｎｄ  Ｐｒｉｎｔ  Ｓｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓを介してＢｉｄｉ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｃｈｅｍａを利用して実現しているが、この例に限られることない。例えばＭＩＢやＵｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ（ＵＰｎＰ）等、同様な機能を備えるプロトコル等を利用して、実現することができる。また、実現するにあたっては、標準化された規格を利用することで、より汎用的なシステムを容易に実現することができる。また、プリンタの例としてカラーインクジェットプリンタを使用したが、この例に限られることなく、例えば、モノクロＬＢＰ等の任意のプリンタを使用することができる。またクライアントやサーバとしてパーソナルコンピュータを想定したが、この例に限られることなく、例えばＤＶＤビデオプレーヤー、ゲーム、セットトップボックス、インターネット家電等、同様な使用方法が可能な任意の端末に対して実現することができ、有効である。
【０１６２】
さらに、周辺装置としてプリンタを例示しているが、周辺装置として他に、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能を備える装置等のいずれかが、本発明の適用対象となり得る。また、ＯＳに例としてＷｉｎｄｏｗｓ（登録商標）ＸＰを使用したが、これらのＯＳに限られることなく、任意のＯＳを使用することができる。また、ネットワーク４の構成例としてＥｔｈｅｒｎｅｔ（登録商標）を用いたが、この例に限られることなく、他の任意のネットワーク構成であってもよい。また、ＰＣ１とプリンタ３との間のインタフェースとして、ＵＳＢインタフェースを用いたが、このインタフェースに限られることなく、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）、無線ＬＡＮ、ＩＥＥＥ１３９４、Ｂｌｕｅｔｏｏｔｈ、ＩｒＤＡ、パラレル、シリアル等の任意のインタフェースを用いるようにしてもよい。
【０１６３】
＜第４の実施の形態＞
上述の各実施の形態では、ユーティリティ３０（プリンタマネージャ）が、スキーマのルートを取得するタイミングとして、図９のＳ２５０５や、図２７のＳ３６０５に示したように、下位側（ＬＭ３６やプリンタ２）からの通知に基づくものであった。しかしながら、ユーティリティ３０が、スキーマーの取得方法としてのルートを獲得するタイミングとして、更に、応用したタイミングも想定される。
【０１６４】
例えば、ユーティリティ３０内部で、イベントの割り込みを発生させ、ユーティリティ３０が、定期的にＬＭ３６又はプリンタ３に、新たに取得すべき、取得方法としてのルートの存在を問合せるようにしても良い。また、ユーティリティ３０のＵＩに取得方法としてのルート取得の為のボタンを設け、ボタン押下のメッセージがあった場合に、ユーティリティ３０から、ＬＭ３６又はプリンタ３に、新たに取得すべき、取得方法としてのルートの存在を取得させても良い。
【０１６５】
図３０はユーティリティ３０の第４の実施の形態における処理を表すフローチャートである。
【０１６６】
なお、Ｓ３００６の詳細な処理については、先の実施の形態で説明した図１０のフローチャートに示される各ステップと同様の処理が実行される。詳細な説明はここでは省略する。以下，図３０のフローチャートについて、詳細に説明する。
【０１６７】
図３０で、Ｓ３００１でプリンタマネージャが起動すると、Ｓ３００２で図５に示すメインウィンドウを表示し、Ｓ３００３で５秒間毎の割り込みイベント処理を開始し、Ｓ３００４でメッセージループを作成する。
【０１６８】
次に、Ｓ３００５では、Ｓ３００３で開始された５秒毎の割り込みイベントの割り込みが発生したか否かを判定する。５秒毎の割り込みイベントの割り込みが発生した場合、Ｓ３００６で図１４に示す情報の取得と更新を行う。Ｓ３００７では、Ｓ３００４で作成したメッセージループが、メッセージを受信したか否かを判定する。Ｓ３００８で、受信したメッセージが終了メッセージか否かを判定する。Ｓ３００８での判定が終了メッセージの場合、Ｓ３００９でプリンタマネージャの全ての処理を終了してプリンタマネージャを終了する。一方、Ｓ３００８において、受信したメッセージが終了メッセージ以外の場合、Ｓ３００９で、各メッセージに対応する処理を行い（ここではその詳細説明は省略）、Ｓ３００５に戻る。Ｓ３００７において、メッセージを受信しなかった場合、Ｓ３００５に戻る。Ｓ３００５において、５秒毎の割り込みイベントの割り込みが発生しなかった場合、Ｓ３００７へ進む。
【０１６９】
＜第５の実施の形態＞
スキーマーの取得方法としてのルートを取得した場合に、それをファイルに書込み、ＰＣの電源が再起動された場合にも再利用できる形態に保存し、以後、プリンタマネージャが利用する形態も想定される。こうすることにより、ユーティリティ３０の利便性を更に向上させることができる。
【０１７０】
（他の実施形態の説明）
また、本発明の目的は、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。ここで、記憶媒体には、前述した実施形態における、各フローチャートに示される各機能を実現するソフトウェアのプログラムコードが記録されることになる。
【０１７１】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１７２】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１７３】
また、本発明は、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られるものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７４】
さらに、本発明は、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれることで前述した実施形態の機能が実現される場合も含む。この場合、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現されることになる。
【図面の簡単な説明】
【０１７５】
【図１】印刷システムの概略の一例を表す図である。
【図２】一般的な情報処理装置のハードウェア構成の一例を表すブロック図である。
【図３】周辺機器のハードウェア構成の一例を表すブロック図である。
【図４】情報処置装置で稼動するソフトウェアモジュールのブロック図の一例を表す図である。
【図５】印刷システムにおける処理の流れの説明図である。
【図６】監視手段（ＬＭ３６）の通知サービス処理を示すフローチャートである。
【図７】監視手段（ＬＭ３６）の通知サービス処理を示すフローチャートである。
【図８】スキーマーの定義に従う変換処理を表すフローチャートである。
【図９】ユーティリティによるプリンタ３の情報の獲得処理を示すフローチャートである。
【図１０】ユーティリティによるプリンタ３の情報の獲得処理を示すフローチャートである。
【図１１】情報表示用データの作成の処理を表すフローチャートである。
【図１２】ユーティリティ３０のユーザインタフェースの表示様子を示す図である。
【図１３】ユーティリティ３０がプリンタのインクの情報及び状態を取得する時に使用するスキーマを表す図である。
【図１４】ユーティリティ３０がプリンタのハードウェアの情報を取得する時に使用するスキーマを表す図である。
【図１５】ユーティリティ３０がプリンタの給紙手段の情報を取得する時に使用するスキーマを表す図である。
【図１６】プリンタ３の情報を列挙する時のスキーマ及び値の一例を表す図である。
【図１７】ＰＣとプリンタ３の間でやり取りされるデータを表す図である。
【図１８】ユーティリティ３０のユーザインタフェースの表示様子を示す図である。
【図１９】ユーティリティ３０がプリンタの給紙手段の情報を取得する時に使用するスキーマを表す図である。
【図２０】プリンタ３の情報を列挙する時のスキーマ及び値の一例を表す図である。
【図２１】ＰＣとプリンタ３の間でやり取りされるデータを表す図である。
【図２２】ユーティリティ３０のユーザインタフェースの表示様子を示す図である。
【図２３】詳細情報ダイアログボックスの一例を表す図である。
【図２４】ユーティリティ３０がプリンタの動作状態を取得する時に使用するスキーマを表す図である。
【図２５】プリンタ３の情報を列挙する時のスキーマ及び値の一例を表す図である。
【図２６】ＰＣとプリンタ３の間でやり取りされるデータを表す図である。
【図２７】ユーティリティによるプリンタ３の情報の獲得処理を示すフローチャートである。
【図２８】別の印刷システムの概略の一例を表す図である。
【図２９】別の印刷システムの概略の一例を表す図である。
【図３０】ユーティリティによるプリンタ３の情報の獲得処理を示すフローチャートである。
【図３１】従来におけるプリンタの情報を列挙する場合のスキーマ及び値の一例を示す図である。
【図３２】従来におけるユーティリティ３０がプリンタの情報を取得する際のスキーマの一例を表す図である。
【図３３】従来におけるユーティリティ３０がプリンタの情報を取得する際のスキーマの一例を表す図である。
【図１】
0004795151.tif 000002
【図２】
0004795151.tif 000003
【図３】
0004795151.tif 000004
【図４】
0004795151.tif 000005
【図５】
0004795151.tif 000006
【図６】
0004795151.tif 000007
【図７】
0004795151.tif 000008
【図８】
0004795151.tif 000009
【図９】
0004795151.tif 000010
【図１０】
0004795151.tif 000011
【図１１】
0004795151.tif 000012
【図１２】
0004795151.tif 000013
【図１３】
0004795151.tif 000014
【図１４】
0004795151.tif 000015
【図１５】
0004795151.tif 000016
【図１６】
0004795151.tif 000017
【図１７】
0004795151.tif 000018
【図１８】
0004795151.tif 000019
【図１９】
0004795151.tif 000020
【図２０】
0004795151.tif 000021
【図２１】
0004795151.tif 000022
【図２２】
0004795151.tif 000023
【図２３】
0004795151.tif 000024
【図２４】
0004795151.tif 000025
【図２５】
0004795151.tif 000026
【図２６】
0004795151.tif 000027
【図２７】
0004795151.tif 000028
【図２８】
0004795151.tif 000029
【図２９】
0004795151.tif 000030
【図３０】
0004795151.tif 000031
【図３１】
0004795151.tif 000032
【図３２】
0004795151.tif 000033
【図３３】
0004795151.tif 000034