(57)【要約】【課題】印刷装置と情報処理装置が通信を行う際のインターフェースを構成可能にすることを目的とする。【解決手段】ＵＳＢインターフェースを介して情報処理装置と通信可能な印刷装置１００であって、印刷装置１００の起動時に、ＣＰＵ１０１は、情報処理装置のＯＳの種類をユーザが選択するための選択画面を操作部１３０の表示パネルに表示し、選択画面において選択されたＯＳの種類に基づいて、ＵＳＢインターフェースの構成を決定する。【選択図】図１
2017105002.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢインターフェースを介して情報処理装置と通信可能な印刷装置であって、
前記印刷装置の起動時に、前記情報処理装置のＯＳの種類をユーザが選択するための選択画面を表示する表示手段と、
前記選択画面において選択されたＯＳの種類に基づいて、前記ＵＳＢインターフェースの構成を決定する決定手段と
を有することを特徴とする印刷装置。
【請求項２】
ＵＳＢインターフェースを備える印刷装置であって、
前記印刷装置の起動時に、特定のドライバを使用するか否かをユーザが選択する選択画面を表示する表示手段と、
前記選択画面を介して入力されたユーザ指示に基づいて、前記ＵＳＢインターフェースの構成を決定する決定手段と
を有することを特徴とする印刷装置。
【請求項３】
ＵＳＢインターフェースを備える印刷装置であって、
前記印刷装置の起動時に、複数の候補の中からユーザが使用するドライバを選択する選択画面を表示する表示手段と、
前記選択画面によるユーザの選択結果に基づいて、前記ＵＳＢインターフェースの構成を決定する決定手段と
を有することを特徴とする印刷装置。
【請求項４】
前記印刷装置の起動時に、前記ＵＳＢインターフェースの構成を決定済みであるか否かを判定する判定手段を更に有し、
前記ＵＳＢインターフェースの構成を決定済みではないと前記判定手段によって判定された場合に、前記表示手段は、前記印刷装置の起動時に前記選択画面を表示し、
前記ＵＳＢインターフェースの構成を決定済みであると前記判定手段によって判定された場合に、前記表示手段は、前記印刷装置の起動時に前記選択画面を表示しないことを特徴とする請求項１乃至３のいずれか１項に記載の印刷装置。
【請求項５】
ＵＳＢインターフェースを介して情報処理装置と通信可能な印刷装置の制御方法であって、
前記印刷装置の起動時に、前記情報処理装置のＯＳの種類をユーザが選択するための選択画面を表示する表示ステップと、
前記選択画面において選択されたＯＳの種類に基づいて、前記ＵＳＢインターフェースの構成を決定する決定ステップと
を含むことを特徴とする印刷装置の制御方法。
【請求項６】
ＵＳＢインターフェースを備える印刷装置の制御方法であって、
前記印刷装置の起動時に、特定のドライバを使用するか否かをユーザが選択する選択画面を表示する表示ステップと、
前記選択画面を介して入力されたユーザ指示に基づいて、前記ＵＳＢインターフェースの構成を決定する決定ステップと
を含むことを特徴とする印刷装置の制御方法。
【請求項７】
ＵＳＢインターフェースを備える印刷装置の制御方法であって、
前記印刷装置の起動時に、複数の候補の中からユーザが使用するドライバを選択する選択画面を表示する表示ステップと、
前記選択画面によるユーザの選択結果に基づいて、前記ＵＳＢインターフェースの構成を決定する決定ステップと
を含むことを特徴とする印刷装置の制御方法。
【請求項８】
請求項５乃至７のいずれか１項に記載の印刷装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、印刷装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、印刷装置（プリンタ）と、情報処理装置の一例であるコンピュータ（以下「ＰＣ」と略称する。）と、を接続した印刷システムがある。この印刷システムでは、ＰＣはＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等による印刷データを印刷装置に送り、印刷装置はその印刷データに基づく印刷を実行する。ＰＤＬは、印刷装置が解釈できる印刷データ用の言語である。また、印刷装置としては、複数のＰＤＬや画像を読み取るスキャナ機能を搭載した複合印刷装置も知られている。この種の複合印刷装置は、ＰＣとの接続形態として、Ｃｏｍｐｏｓｉｔｅ  ＵＳＢ（Ｃｏｍｐｏｓｉｔｅ  Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ、以下、複合ＵＳＢと表記する。）を採用するものがある。この複合ＵＳＢは、複合印刷装置において、ＵＳＢハブを用いないで複数の機能を搭載することができる点に特徴がある。また、複合ＵＳＢを採用した複合印刷装置は、ＵＳＢケーブルによりＰＣと接続されてプラグ・アンド・プレイが実行されると、複合印刷装置が搭載している各種機能のインターフェースを順次構成する。なお、以下の説明では、印刷装置、又は複合印刷装置を、まとめて印刷装置と表記する。
【０００３】
ここで、ＵＳＢ接続がなされてプラグ・アンド・プレイが実行される際に、印刷装置のインターフェースを制御するデバイスドライバがＰＣにインストールされていない場合、ＰＣは、印刷装置を不明な装置として認識してしまうことになる。この場合、ＰＣのオペレーティングシステム（以下、「ＯＳ」と略称する。）は、プラグ・アンド・プレイでインストールに失敗した旨のメッセージを、モニタ等に表示させる。
【０００４】
一方、従来のＯＳの中には、デバイスドライバを搭載しているものもある。ＯＳに搭載されているデバイスドライバは、ＯＳの種類・バージョンに対応したデバイスドライバとして、印刷装置ベンダにより提供されている。以下、印刷装置ベンダにより提供されるデバイスドライバを「ベンダドライバ」と表記する。また、近年のＰＣ技術の発達は目覚ましく、次々と新しいＯＳが登場しており、汎用のデバイスドライバ（以下、汎用ドライバと表記する。）が標準搭載されたＯＳも登場している。そしてこの場合、印刷装置が汎用ドライバに対応したインターフェースを備えていれば、ＰＣは、ベンダドライバの場合と同様に、印刷装置を介して印刷やスキャンを行うことが可能となる。
【０００５】
その他、特許文献１には、印刷装置が保持しているＵＳＢディスクリプタを切り替え可能とする技術が開示されている。この特許文献１に記載の装置は、ＰＣからのディスクリプタ読み出し要求に対して、印刷装置が現在のＵＳＢディスクリプタを応答するようになされている。そして、特許文献１に記載の装置は、現在のＵＳＢディスクリプタを応答した後、所定時間内にそのＵＳＢディスクリプタに従った通信がＰＣから開始されない場合には、装置が保持するＵＳＢディスクリプタを切り替えるようになされている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−７８３０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述したように、汎用ドライバが標準搭載されたＯＳが動作しているＰＣと、汎用ドライバに対応したインターフェースを備えた印刷装置が接続された場合、ＰＣは、ＯＳの汎用ドライバにより印刷装置のインターフェースを制御することで印刷制御等を行える。しかしながら、例えば汎用ドライバが搭載されていないＯＳが動作しているＰＣと、汎用ドライバのインターフェースを備えた印刷装置とを接続するような場合には、プラグ・アンド・プレイの際にドライバのインストールが失敗することになる。なお、特許文献１に記載の技術を適用した場合、印刷装置によりＵＳＢディスクリプタの切り替えを行ったとしても、ＰＣに汎用ドライバが搭載されていないため、やはりドライバのインストールは失敗することになる。
【０００８】
そこで、本発明は、印刷装置と情報処理装置が通信を行う際のインターフェースを構成可能にすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、ＵＳＢインターフェースを介して情報処理装置と通信可能な印刷装置であって、前記印刷装置の起動時に、前記情報処理装置のＯＳの種類をユーザが選択するための選択画面を表示する表示手段と、前記選択画面において選択されたＯＳの種類に基づいて、前記ＵＳＢインターフェースの構成を決定する決定手段とを備える。
【発明の効果】
【００１０】
本発明によれば、印刷装置と情報処理装置が通信を行う際のインターフェースを構成可能となる。
【図面の簡単な説明】
【００１１】
【図１】印刷装置とコンピュータの概略的なハードウェア構成例を示す図である。
【図２】単一インターフェースのディスクリプタの図である。
【図３】複数インターフェースのディスクリプタの図である。
【図４】第１の実施形態の印刷装置で表示される画面例を示す図である。
【図５】第１の実施形態の印刷装置の処理のフローチャートである。
【図６】印刷装置で表示されるＰＤＬ種別選択画面例を示す図である。
【図７】第２の実施形態の印刷装置で表示される画面例を示す図である。
【図８】第２の実施形態の印刷装置の処理のフローチャートである
【図９】第３の実施形態の印刷装置で表示される画面例を示す図である。
【図１０】第３の実施形態の印刷装置の処理のフローチャートである
【図１１】第４の実施形態の単一インターフェースのディスクリプタの図である。
【図１２】第４の実施形態の複数インターフェースのディスクリプタの図である。
【図１３】第４の実施形態で汎用ドライバ搭載ＯＳの例のフローチャートである。
【図１４】第４の実施形態で汎用ドライバ非搭載ＯＳの例のフローチャートである。
【図１５】第４の実施形態の他のＵＳＢディスクリプタ例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
＜第１の実施形態＞
第１の実施形態では、ユーザに汎用ドライバを使用するか否かを選択させた上で、ＵＳＢインターフェースを構成する例について説明する。図１は、第１の実施形態の印刷装置１００と、ＵＳＢ接続を介して印刷装置１００と通信する相手先の情報処理装置の一例であるコンピュータ１５０（以下、ＰＣ１５０と略称する。）とのハードウェア構成例を示す図である。
図１において、印刷装置１００は、印刷部１２０、操作部１３０、それらを制御するコントローラ部１１０を有して構成されている。コントローラ部１１０のＣＰＵ１０１は、各種制御プログラムの実行により印刷装置１００の各ブロックを総括的に制御する。ＣＰＵ１０１は、ＲＯＭ１０３のプログラム領域に記憶された各種制御プログラムを読み出して実行する。なお、各種制御プログラムは、圧縮されてＲＯＭ１０３に記憶されていている場合には、その圧縮されたプログラムが伸張されてＲＡＭ１０２に展開されて実行される。各種制御プログラムは、図示しないハードディスクドライブ（ＨＤＤ）等の不揮発性媒体に例えば圧縮状態又は非圧縮状態で格納されていてもよい。また、ＣＰＵ１０１は、ＲＯＭ１０３のデータ領域に記憶されている圧縮されたデータを伸張し、ＲＡＭ１０２へ展開して各種処理に使用する。印刷部Ｉ／Ｆ１０４は、印刷部１２０（プリンタエンジン）に画像信号を出力するインターフェースを担う。ＣＰＵ１０１は、ＲＯＭ１０３のフォント領域に記憶されたフォント情報を用い、操作部Ｉ／Ｆ１０６を介して操作部１３０の表示パネルの画面上に文字や記号等からなる映像を表示する。なお、操作部１３０は、例えば表示パネルとタッチパネル等を有している。また、ＣＰＵ１０１は、ユーザ指示を受けた操作部１３０からの指示情報を操作部Ｉ／Ｆ１０６を介して受け取る。ＵＳＢＩ／Ｆ１０８は、ＣＰＵ１０１による通信制御の下で、ＵＳＢケーブルを介して、通信の相手先の情報処理装置であるＰＣ１５０との間の通信処理を行う。
【００１３】
ＰＣ１５０は、ディスプレイ１５８、キーボード１５９、マウス１６０、それらを制御するコントローラ部１５１等を有して構成されている。コントローラ部１５１のＣＰＵ１５２は、各種制御プログラムを実行して、ＰＣ１５０の各ブロックを総括的に制御する。ＣＰＵ１５２は、例えばＨＤＤ１５４等のプログラム領域に記憶された制御プログラムを読み出して実行する。なお、各種制御プログラムは、圧縮されてＨＤＤ１５４に記憶されていている場合には、その圧縮されたプログラムが伸張されてＲＡＭ１５３に展開されて実行される。また、ＣＰＵ１５２は、ＨＤＤ１５４のデータ領域に記憶されている圧縮されたデータを伸張し、ＲＡＭ１５３へ展開して各種処理に使用する。ＣＰＵ１０１は、ＨＤＤ１５４のフォント領域に記憶されたフォント情報を用い、ディスプレイＩ／Ｆ１５６を介してディスプレイ１５８に文字や記号を表示する。また、ＣＰＵ１５２は、ユーザにより操作されたキーボード１５９やマウス１６０からの指示情報を、ヒューマンＩ／Ｆ１５７を介して受け取る。ＵＳＢＩ／Ｆ１５５は、ＣＰＵ１５２による通信制御の下で、ＵＳＢケーブルを介して印刷装置１００との間の通信を行う。
【００１４】
図２は、第１の実施形態の印刷装置１００が保持するＵＳＢディスクリプタ２００の一例を示す図である。図２のＵＳＢディスクリプタ２００は、ベンダドライバ（印刷装置ベンダにより提供されるデバイスドライバ）の単一のインターフェースのみを構成するためのディスクリプタである。図２において、デバイスディスクリプタ２１０は、ベンダＩＤ、プロダクトＩＤ等を通知するためのディスクリプタである。コンフィギュレーションディスクリプタ２２０は、印刷装置１００が取り得るインターフェース構成を通知するためのディスクリプタである。インターフェースディスクリプタ２３０，２４０は、ベンダドライバと通信可能なインターフェース（以下、ベンダドライバインターフェースと表記する。）のためのディスクリプタである。デバイスＩＤ２５０，２６０は、ＩＥＥＥ１２８４で規定されるデバイスを特定するためのデバイスＩＤである。
【００１５】
次に、プラグ・アンド・プレイによる印刷装置１００とＰＣ１５０の接続確立について説明する。ここで、ＰＣ１５０では、例えばユーザ指示により、予めドライバをインストールするソフトウェア（以下、インストーラと表記する。）が実行されて、ベンダドライバがインストールされているとする。インストーラは、ＣＤ−ＲＯＭなどのメディア、又は、インターネット等から入手されているとする。
ＰＣ１５０は、前述のようにベンダドライバがインストールされた状態で、印刷装置１００がＵＳＢ接続されると、プラグ・アンド・プレイを実行する。このプラグ・アンド・プレイでは、ＰＣ１５０は、印刷装置１００からＵＳＢディスクリプタ２００とデバイスＩＤ２５０，２６０を取得し、それら取得した情報が、既にインストールされているベンダドライバに対応した情報であるか否かを確認する。そして、ＰＣ１５０は、それら取得した情報がインストール済みのベンダドライバに対応した情報である場合には、印刷装置１００との間のＵＳＢ接続を確立させる。これにより、印刷装置１００は、ＰＣ１５０からの印刷データに応じた印刷を実行可能となる。
【００１６】
図３は、第１の実施形態の印刷装置１００が保持するＵＳＢディスクリプタ３００の一例を示す図である。図３のＵＳＢディスクリプタ３００は、ベンダドライバと汎用ドライバの複数のインターフェースを構成するためのディスクリプタである。本実施形態では、汎用ドライバの例として、ＩＰＰ  ｏｖｅｒ  ＵＳＢを用いて説明する。ＩＰＰ  ｏｖｅｒ  ＵＳＢのドライバは、汎用ドライバとしてＰＣに標準搭載されているドライバなので、ユーザは、ベンダドライバの場合のように、ＰＣ１５０にインストーラを実行させてドライバをインストールさせる必要はない。図３のデバイスディスクリプタ３１０は、ベンダＩＤ、プロダクトＩＤ等を通知するためのディスクリプタである。コンフィギュレーションディスクリプタ３２０は、印刷装置１００が取り得るインターフェース構成を通知するためのディスクリプタである。インターフェースディスクリプタ３３０は、ベンダドライバと通信可能なインターフェースのディスクリプタである。インターフェースディスクリプタ３４０，３５０は、ＩＰＰドライバと通信可能なインターフェース（以下、ＩＰＰドライバインターフェースと表記する。）のディスクリプタである。デバイスＩＤ３６０，３７０，３８０は、ＩＥＥＥ１２８４で規定されるデバイスを特定するためにデバイスＩＤである。
【００１７】
ＰＣ１５０は、印刷装置１００がＵＳＢ接続された場合、プラグ・アンド・プレイを実行する。プラグ・アンド・プレイでは、ＰＣ１５０は、印刷装置１００からＵＳＢディスクリプタ３００とデバイスＩＤ３７０，３８０を取得し、それら取得した情報が、既にインストールされているドライバに対応しているか否かを確認する。そして、ＰＣ１５０は、それら取得した情報が、インストール済みのドライバに対応した情報である場合には、印刷装置１００との間のＵＳＢ接続を確率させる。これにより、ＰＣ１５０は、印刷装置１００に印刷を実行させることが可能になる。
なお、本実施形態では、印刷装置１００、つまりＵＳＢプリンタクラスを例にしている。このため、プラグ・アンド・プレイではデバイスＩＤを取得するようにしているが、ＵＳＢベンダクラスのようにデバイスＩＤを取得せずにプラグ・アンド・プレイを行う場合にも本実施形態は適応可能である。
【００１８】
図４は、第１の実施形態の印刷装置１００の操作部１３０の表示パネル上の表示画面の一例である。ＣＰＵ１０１は、印刷装置１００の起動時に、初期設定が行われていないと判断した場合には、図４（ａ）に示すような説明画面４１０の映像信号を生成して、操作部１３０の表示パネルに表示させる。説明画面４１０は、ユーザに対して初期設定のための設定内容を説明するための画面である。説明画面４１０内に表示されているＯＫボタン４１１の位置が、ユーザによりタッチ（押下）されたとき、ＣＰＵ１０１は、図４（ｂ）に示すようなＩＰＰドライバ使用選択画面４２０の映像信号を生成して、操作部１３０の表示パネルに表示させる。ＩＰＰドライバ使用選択画面４２０は、ユーザにＩＰＰドライバを使用するか否かを選択させる際に表示される画面であり、例えばＩＰＰドライバを「使用する」の項目４２１と、ＩＰＰドライバを「使用しない」の項目４２２が配されている。ＣＰＵ１０１は、操作部１３０のタッチパネルを介した入力で、ユーザによりＩＰＰドライバ使用選択画面４２０から選択された結果を受け取る。例えば、ユーザによりＩＰＰドライバを「使用する」の項目４２１が選択された場合、ＣＰＵ１０１は、図３に示したベンダドライバと汎用ドライバのインターフェースを構成するためのＵＳＢディスクリプタ３００でＵＳＢインターフェースを構成させる。一方、例えば、ユーザによりＩＰＰドライバを「使用しない」の項目４２２が選択された場合、ＣＰＵ１０１は、図２に示したベンダドライバのインターフェースのみを構成するＵＳＢディスクリプタ２００でＵＳＢインターフェースを構成させる。ＩＰＰドライバ使用選択画面４２０は、図示しないユーザ設定画面でも表示することが可能である。
【００１９】
図５は、第１の実施形態の印刷装置１００において、ＵＳＢケーブルによりＰＣ１５０と接続されてから、ＵＳＢ通信が有効化されるまでの処理の流れを示すフローチャートである。なお、印刷装置１００のＣＰＵ１０１が実行する制御プログラムは、ＲＯＭ１０３に記憶されている。図５に示す各ステップＳ５０１〜Ｓ５０８の処理は、ＣＰＵ１０１がＲＯＭ１０３に記憶されている制御プログラムをＲＡＭ１０２にロードして実行することで実現される。以下の説明では、図５に示すステップＳ５０１〜Ｓ５０８は、Ｓ５０１〜Ｓ５０８と略記する。
【００２０】
第１の実施形態の印刷装置１００のＣＰＵ１０１は、ＵＳＢケーブルによりＰＣ１５０に接続されると、Ｓ５０１として、初期設定済みフラグが設定されているか否かを判定する。ＣＰＵ１０１は、Ｓ５０１において、初期設定済みフラグが既に設定されていると判定した場合にはＳ５０５に処理を進め、一方、初期設定済みフラグが未設定であると判定した場合にはＳ５０２に処理を進める。Ｓ５０２では、ＣＰＵ１０１は、前述の図４（ａ）に示した説明画面４１０の映像信号を生成して、操作部１３０の表示パネルに表示させる。そして、Ｓ５０２において、ＣＰＵ１０１は、その説明画面４１０のＯＫボタン４１１がユーザにより押下されたならば、図４（ｂ）のＩＰＰドライバ使用選択画面４２０の映像信号を生成して表示パネルに表示させた後、Ｓ５０３に処理を進める。Ｓ５０３では、ＣＰＵ１０１は、ＩＰＰドライバ使用選択画面４２０の中の項目４２１，４２２の何れかの項目がユーザの入力により選択されると、その選択結果を受け取り、Ｓ５０４に処理を進める。Ｓ５０４では、ＣＰＵ１０１は、Ｓ５０３でユーザにより選択された項目４２１又は４２２に対応した初期設定済みフラグを設定して、Ｓ５０５に処理を進める。
【００２１】
Ｓ５０５では、ＣＰＵ１０１は、Ｓ５０１で初期設定済みフラグが設定されている場合、或いは、Ｓ５０４で初期設定済みフラグが設定された場合、その初期設定済みフラグの設定に対応したインターフェース構成を確認する。そして、ＣＰＵ１０１は、Ｓ５０５において、初期設定済みフラグの設定がＩＰＰドライバを「使用する」の項目４２１に対応したインターフェース構成を示している場合にはＳ５０６に処理を進める。一方、ＣＰＵ１０１は、Ｓ５０５において、初期設定済みフラグの設定がＩＰＰドライバを「使用しない」の項目４２２に対応したインターフェース構成を示している場合にはＳ５０７に処理を進める。Ｓ５０６では、ＣＰＵ１０１は、使用するインターフェースとして、ベンダドライバとＩＰＰドライバのインターフェースを決定し、それら決定済みのベンダドライバとＩＰＰドライバのインターフェースを構成して、Ｓ５０８に処理を進める。一方、Ｓ５０７では、ＣＰＵ１０１は、使用するインターフェースとしてベンダドライバのインターフェースを決定し、それら決定済みのベンダドライバのインターフェースのみを構成して、Ｓ５０８に処理を進める。Ｓ５０８では、ＣＰＵ１０１は、Ｓ５０６又はＳ５０７で構成されたインターフェースにより、ＵＳＢ通信を有効化させる。このようにＵＳＢ通信を有効化することで、印刷装置１００は、ＵＳＢＩ／Ｆ１０８を介して、ＰＣ１５０と通信が可能になる。
【００２２】
図６は、第１の実施形態の印刷装置１００の操作部１３０の表示パネルに表示されるＰＤＬ種別選択画面６００の一例である。ＰＤＬ種別選択画面６００は、ユーザにＰＤＬ種別を選択させる際に表示される画面であり、例えばプリント設定の項目６０１と、ＰＣ−ＦＡＸ設定の項目６０２が配されている。ＣＰＵ１０１は、操作部１３０のタッチパネルを介して、ユーザ入力によりＰＤＬ種別選択画面６００から選択された結果を受け取る。例えば、プリント設定の項目６０１が選択された場合、ＣＰＵ１０１は、ＰＣ１５０からインターフェースディスクリプタ３３０にデバイスＩＤの取得要求があったとき、ＰＣ１５０へＩＰＰドライバのプリントドライバ用のデバイスＩＤを送信させる。一方、ＰＣ−ＦＡＸ設定の項目６０２が選択された場合、ＣＰＵ１０１は、ＰＣ１５０からインターフェースディスクリプタ３３０にデバイスＩＤの取得要求があったとき、ＰＣ１５０へＩＰＰドライバのＰＣ−ＦＡＸドライバ用のデバイスＩＤを送信させる。
【００２３】
＜第２の実施形態＞
以下、第２の実施形態について説明する。第２の実施形態は、第１の実施形態とは異なり、使用するＵＳＢドライバをユーザに選択させ、ユーザにより選択されたＵＳＢドライバに応じたＵＳＢインターフェースを構成する例である。第２の実施形態の印刷装置１００とＰＣ１５０の構成は前述した図１と同様である。第２の実施形態において、ベンダドライバのインターフェースを構成するＵＳＢディスクリプタ２００は前述の図２と同様であり、ベンダドライバと汎用ドライバのインターフェースを構成するＵＳＢディスクリプタ３００は前述の図３と同様である。
【００２４】
図７は、第２の実施形態の印刷装置１００の操作部１３０に表示される画面の一例である。ＣＰＵ１０１は、印刷装置１００の起動時に、初期設定が行われていないと判断した場合には、図７（ａ）に示すような説明画面７１０の映像信号を生成して、操作部１３０の表示パネルに表示させる。説明画面７１０は、ユーザに対して初期設定のための設定内容を説明するための画面である。説明画面７１０内に表示されているＯＫボタン７１１の位置が、ユーザによりタッチ（押下）されたとき、ＣＰＵ１０１は、図７（ｂ）に示すような使用ドライバ選択画面７２０の映像信号を生成して、操作部１３０の表示パネルに表示させる。使用ドライバ選択画面７２０は、ユーザに対し、複数の候補の中からＵＳＢ接続で使用するドライバを選択させる際に表示される画面である。図７（ｂ）の例では、具体的には、ＰＤＬドライバの項目７２１、スキャンドライバの項目７２２、ＦＡＸドライバの項目７２３、ＩＰＰドライバ（汎用ドライバ）の項目７２４が用意されており、各項目７２１〜７２４にはチェックボックスが配されている。ユーザにより所望のチェックボックスにチェックが入れられ、使用ドライバ選択画面７２０内のＯＫボタン７２５の位置がタッチ（押下）されたとき、ＣＰＵ１０１は、チェックされた項目に対応したドライバを使用するドライバに設定する。図７（ｂ）の例の場合、ＰＤＬドライバ、スキャンドライバ、ＩＰＰドライバが選択される。そして、ＣＰＵ１０１は、それら選択されたドライバに対応した図示しないＵＳＢディスクリプタでＵＳＢインターフェースを構成する。なお、使用ドライバ選択画面７２０は、図示しないユーザ設定画面からも表示することが可能である。
【００２５】
図８は、第２の実施形態の印刷装置１００において、ＵＳＢケーブルによりＰＣ１５０と接続されてから、ＵＳＢ通信が有効化されるまでの処理の流れを示すフローチャートである。なお、印刷装置１００のＣＰＵ１０１が実行する制御プログラムは、ＲＯＭ１０３に記憶されている。図８に示す各ステップＳ８０１〜Ｓ８０６の処理は、ＣＰＵ１０１がＲＯＭ１０３に記憶されている制御プログラムをＲＡＭ１０２にロードして実行することで実現される。以下の説明では、図８に示すステップＳ８０１〜Ｓ８０６は、Ｓ８０１〜Ｓ８０６と略記する。
【００２６】
第２の実施形態の印刷装置１００のＣＰＵ１０１は、ＵＳＢケーブルによりＰＣ１５０に接続されると、Ｓ８０１として、初期設定済みフラグが設定されているか否かを判定する。ＣＰＵ１０１は、Ｓ８０１において、初期設定済みフラグが既に設定されていると判定した場合にはＳ８０５に処理を進め、一方、初期設定済みフラグが未設定であると判定した場合にはＳ８０２に処理を進める。Ｓ８０２では、ＣＰＵ１０１は、前述の図７（ａ）に示した説明画面７１０を表示させ、その説明画面７１０のＯＫボタン７１１がユーザにより押下されたならば、図７（ｂ）の使用ドライバ選択画面７２０を表示させた後、Ｓ８０３に処理を進める。Ｓ８０３では、ＣＰＵ１０１は、使用ドライバ選択画面７２０に示したような各ドライバ（項目７２１〜７２４）から何れかのドライバがユーザにより選択されると、その選択結果を受け取り、Ｓ８０４に処理を進める。Ｓ８０４では、ＣＰＵ１０１は、Ｓ８０３でユーザにより選択されたドライバに対応した初期設定済みフラグを設定して、Ｓ８０５に処理を進める。
【００２７】
Ｓ８０５では、ＣＰＵ１０１は、Ｓ８０１で初期設定済みフラグが設定されている場合、或いは、Ｓ８０４で初期設定済みフラグが設定された場合、その初期設定済みフラグの設定に対応したドライバのインターフェースを構成する。Ｓ８０５の後、ＣＰＵ１０１は、Ｓ８０６に処理を進める。Ｓ８０６では、ＣＰＵ１０１は、Ｓ８０５で構成されたインターフェースにより、ＵＳＢ通信を有効化させる。これにより、第２の実施形態の印刷装置１００は、ＵＳＢＩ／Ｆ１０８を介して、ＰＣ１５０と通信が可能になる。
【００２８】
＜第３の実施形態＞
以下、第３の実施形態について説明する。第２の実施形態は、印刷装置１００において、オペレーティングシステム（ＯＳ）の種類をユーザに選択させ、ユーザにより選択されたＯＳに搭載されているドライバに応じたＵＳＢインターフェースを構成する例である。第３の実施形態の印刷装置１００とＰＣ１５０の構成は前述した図１と同様である。第３の実施形態において、ベンダドライバのインターフェースを構成するＵＳＢディスクリプタ２００は前述の図２と同様であり、ベンダドライバと汎用ドライバのインターフェースを構成するためのＵＳＢディスクリプタ３００は前述の図３と同様である。
【００２９】
図９は、第３の実施形態の印刷装置１００の操作部１３０に表示される画面の一例である。ＣＰＵ１０１は、印刷装置１００の起動時に、初期設定が行われていないと判断した場合には、操作部１３０の表示パネルに、図８（ａ）に示すような説明画面９１０を表示させる。説明画面９１０は、ユーザに対して初期設定のための設定内容を説明するための画面である。説明画面９１０内に表示されているＯＫボタン９１１の位置が、ユーザによりタッチ（押下）されたとき、ＣＰＵ１０１は、操作部１３０の表示パネルに、図９（ｂ）に示すような使用ＯＳ選択画面９２０を表示させる。使用ＯＳ選択画面９２０は、ユーザに対し、ＰＣ１５０のＯＳの選択をさせることにより、複数の候補の中からＵＳＢ接続で使用するドライバを選択させる際に表示される画面である。図９（ｂ）の例では、具体的には、第１のＯＳを示すＯＳ−１の項目９２１、第１のＯＳとは異なる第２のＯＳを示すＯＳ−２の項目９２２、第１，第２のＯＳとは異なるその他のＯＳの項目９２３が用意されている。ここでは、ＯＳ−１とその他のＯＳはＩＰＰドライバが標準搭載されていないＯＳであり、ＯＳ−２はＩＰＰドライバが標準搭載されたＯＳであるとする。図９（ｂ）の各項目９２１〜９２３の中から、ユーザにより何れかの項目が選択されたとき、ＣＰＵ１０１は、その選択された項目に対応したＯＳに搭載されたドライバに対応した図示しないＵＳＢディスクリプタでＵＳＢインターフェースを構成する。この例において、ＯＳ−２の項目９２２が選択された場合には、ＣＰＵ１０１は、図３に示したベンダドライバと汎用ドライバのインターフェースを構成するためのＵＳＢディスクリプタ３００でＵＳＢインターフェースを構成させる。一方、ＯＳ−１の項目９２１又はその他のＯＳの項目９２３が選択された場合には、ＣＰＵ１０１は、図２に示したベンダドライバのインターフェースのみを構成するＵＳＢディスクリプタ２００でＵＳＢインターフェースを構成させる。なお、使用ＯＳ選択画面９２０は、図示しないユーザ設定画面でも表示することが可能である。
【００３０】
図１０は、第３の実施形態の印刷装置１００において、ＵＳＢケーブルによりＰＣ１５０と接続されてから、ＵＳＢ通信が有効化されるまでの処理の流れを示すフローチャートである。なお、印刷装置１００のＣＰＵ１０１が実行する制御プログラムは、ＲＯＭ１０３に記憶されている。図１０に示す各ステップＳ１００１〜Ｓ１００８の処理は、ＣＰＵ１０１がＲＯＭ１０３に記憶されている制御プログラムをＲＡＭ１０２にロードして実行することで実現される。以下の説明では、図１０に示すステップＳ１００１〜Ｓ１００８は、Ｓ１００１〜Ｓ１００８と略記する。
【００３１】
第３の実施形態の印刷装置１００のＣＰＵ１０１は、ＵＳＢケーブルによりＰＣ１５０に接続されると、Ｓ１００１として、初期設定済みフラグが設定されているか否かを判定する。ＣＰＵ１０１は、Ｓ１００１において、初期設定済みフラグが既に設定されていると判定した場合にはＳ１００５に処理を進め、一方、初期設定済みフラグが未設定であると判定した場合にはＳ１００２に処理を進める。Ｓ１００２では、ＣＰＵ１０１は、前述の図９（ａ）に示した説明画面９１０を表示させ、その説明画面９１０のＯＫボタン９１１がユーザにより押下されたならば、図９（ｂ）の使用ＯＳ選択画面９２０を表示させた後、Ｓ１００３に処理を進める。Ｓ１００３では、ＣＰＵ１０１は、使用ＯＳ選択画面９２０の中の項目９２１〜９２３の何れかの項目がユーザにより選択されると、その選択結果を受け取り、Ｓ１００４に処理を進める。Ｓ１００４では、ＣＰＵ１０１は、Ｓ１００３でユーザにより選択された項目９２１〜９２３の何れかに対応した初期設定済みフラグを設定して、Ｓ１００５に処理を進める。
【００３２】
Ｓ１００５では、ＣＰＵ１０１は、Ｓ１００１で初期設定済みフラグが設定されている場合、或いは、Ｓ１００４で初期設定済みフラグが設定された場合、その初期設定済みフラグの設定に対応したインターフェース構成を確認する。そして、ＣＰＵ１０１は、Ｓ１００５において、初期設定済みフラグの設定がＯＳ−２の項目９２２に対応したインターフェース構成を示している場合にはＳ１００６に処理を進める。一方、ＣＰＵ１０１は、Ｓ１００５において、初期設定済みフラグの設定がＯＳ−１の項目９２２又はその他のＯＳの項目９２３に対応したインターフェース構成を示している場合にはＳ１００７に処理を進める。Ｓ１００６では、ＣＰＵ１０１は、ベンダドライバとＩＰＰドライバのインターフェースを構成して、Ｓ１００８に処理を進める。一方、Ｓ１００７では、ＣＰＵ１０１は、ベンダドライバのインターフェースのみを構成して、Ｓ１００８に処理を進める。Ｓ１００８では、ＣＰＵ１０１は、Ｓ１００６又はＳ１００７で構成されたインターフェースにより、ＵＳＢ通信を有効化させる。このようにＵＳＢ通信を有効化することで、印刷装置１００は、ＵＳＢＩ／Ｆ１０８を介して、ＰＣ１５０と通信が可能になる。
【００３３】
以上説明したように、第１〜第３の実施形態によれば、ユーザ設定に応じたＵＳＢインターフェースを構成し、さらに、初期設定が行われてからＵＳＢ通信を有効にすることが可能になる。これにより、ＩＰＰドライバが搭載されていないＯＳが動作しているＰＣ１５０に、ＩＰＰドライバのインターフェースを持つ印刷装置１００が接続された場合であっても、ドライバのインストールに失敗する問題が生ずることを回避することが可能となる。すなわち、第１〜第３の実施形態によれば、ＯＳが汎用のデバイスドライバを搭載しているかどうかによらずに、印刷装置と情報処理装置が通信を行う際のインターフェースを構成可能となる。
【００３４】
＜第４の実施形態＞
以下、第４の実施形態について説明する。第４の実施形態は、第１〜第３の実施形態のように、ユーザの選択に基づいてＵＳＢインターフェースを構成するのではなく、印刷装置１００とＰＣ１５０が接続されるときに動的にＵＳＢインターフェースを構成する例である。第４の実施形態では、汎用ドライバの例としてＩＰＰ  ｏｖｅｒ  ＵＳＢを用いて説明する。第４の実施形態の印刷装置１００とＰＣ１５０の構成は前述した図１と同様である。
図１１は、第４の実施形態の印刷装置１００が保持する、相互に排他的に構成可能なインターフェースで構成するためのＵＳＢディスクリプタ１１００の一例を示す図である。図１１において、デバイスディスクリプタ１１１０は、ベンダＩＤ、プロダクトＩＤ等を通知するためのディスクリプタである。コンフィギュレーションディスクリプタ１１２０は、印刷装置１００が取り得るインターフェース構成を通知するためのディスクリプタである。インターフェースディスクリプタ１１３０は、ベンダドライバと通信可能なインターフェースのためのディスクリプタである。インターフェースディスクリプタ１１３０は、ＵＳＢにおけるインターフェース＃０の代替設定「０」を示す。インターフェースディスクリプタ１１４０は、ＩＰＰドライバと通信可能なインターフェース（以下、ＩＰＰドライバインターフェースと表記する。）のディスクリプタである。インターフェースディスクリプタ１１４０は、ＵＳＢにおけるインターフェース＃０の代替設定「１」を示す。第４の実施形態の場合、印刷装置１００は、ＰＣ１５０の代替設定要求によって指定された、代替設定「０」と「１」のどちらかのインターフェースで通信を行う。デバイスＩＤ１１５０，１１６０は、ＩＥＥＥ１２８４で規定されるデバイスを特定するためのデバイスＩＤである。ＵＳＢディスクリプタ１１００で構成された印刷装置１００をＰＣ１５０に接続した場合、ＰＣ１５０は、印刷装置１００を単一のインターフェースで構成された装置と認識する。
【００３５】
図１２は、第４の実施形態における印刷装置１００が保持する、相互に排他的に構成可能なインターフェースと単一のインターフェースで構成するＵＳＢディスクリプタ１２００の一例を示す図である。図１２のデバイスディスクリプタ１２１０は、ベンダＩＤ、プロダクトＩＤ等を通知するためのディスクリプタである。コンフィギュレーションディスクリプタ１２２０は、印刷装置１００が取り得るインターフェース構成を通知するためのディスクリプタである。インターフェースディスクリプタ１２３０は、インターフェース＃０の代替設定「０」を示す。インターフェースディスクリプタ１２４０は、ＩＰＰドライバと通信可能なインターフェース（ＩＰＰドライバインターフェース）のディスクリプタである。インターフェースディスクリプタ１２４０は、インターフェース＃０の代替設定「１」を示す。印刷装置１００は、ＰＣ１５０の代替設定要求によって指定された、代替設定「０」と「１」のどちらかのインターフェースで通信を行う。インターフェースディスクリプタ１２５０は、ＩＰＰドライバと通信可能なインターフェース（ＩＰＰドライバインターフェース）のディスクリプタである。デバイスＩＤ１２６０，１２７０，１２８０は、ＩＥＥＥ１２８４で規定されるデバイスを特定するためにデバイスＩＤである。ＵＳＢディスクリプタ１２００で構成された印刷装置１００をＰＣ１５０に接続した場合、ＰＣ１５０は、印刷装置１００を複数のインターフェースで構成された装置（前述の複合ＵＳＢ）と認識する。
【００３６】
図１３（ａ）及び図１３（ｂ）は、第４の実施形態の印刷装置１００と、ＩＰＰドライバが搭載されたＯＳが動作しているＰＣ１５０とが、ＵＳＢ接続される場合の処理の流れを示すフローチャートである。図１３（ａ）は、印刷装置１００側の処理の流れを示すフローチャートであり、図１３（ｂ）は、ＩＰＰドライバが搭載されたＯＳが動作しているＰＣ１５０側の処理の流れを示すフローチャートである。なお、印刷装置１００のＣＰＵ１０１が実行する制御プログラムは、ＲＯＭ１０３に記憶されている。図１３（ａ）に示す各ステップＳ１３０１〜Ｓ１３１１の処理は、ＣＰＵ１０１がＲＯＭ１０３に記憶されている制御プログラムをＲＡＭ１０２にロードして実行することで実現される。以下の説明では、図１３（ａ）に示すステップＳ１３０１〜Ｓ１３１１は、Ｓ１３０１〜Ｓ１３１１と略記する。また、ＰＣ１５０のＣＰＵ１５２が実行する制御プログラムは、ＨＤＤ１５４に記憶されている。図１３（ｂ）に示す各ステップＳ１３５１〜Ｓ１３５７の処理は、ＣＰＵ１５２がＨＤＤ１５４に記憶されている制御プログラムをＲＡＭ１５３にロードして実行することで実現される。以下の説明では、図１３（ｂ）に示すステップＳ１３５１〜Ｓ１３５７は、Ｓ１３５１〜Ｓ１３５７と略記する。
【００３７】
先ず、図１３（ａ）に示した印刷装置１００のＣＰＵ１０１が実行する制御プログラムのフローチャートから説明する。第４の実施形態の印刷装置１００のＣＰＵ１０１は、Ｓ１３０１において初期設定として、図１１に示したＵＳＢディスクリプタ１１００で単一のインターフェースを構成した後、Ｓ１３０２に処理を進める。Ｓ１３０２では、ＣＰＵ１０１は、ＵＳＢＩ／Ｆ１０８を介してＰＣ１５０と接続されるのを待つ。Ｓ１３０２において、ＣＰＵ１０１は、ＰＣ１５０にＵＳＢ接続されていない場合にはＳ１３０１に処理を戻し、ＰＣ１５０にＵＳＢ接続されたと判断した場合にはＳ１３０３に処理を進める。Ｓ１３０３では、ＣＰＵ１０１は、プラグ・アンド・プレイを実行し、図１１に示したＵＳＢディスクリプタ１１００をＰＣ１５０に渡す。Ｓ１３０３の後、ＣＰＵ１０１は、Ｓ１３０４に処理を進める。
【００３８】
Ｓ１３０４では、ＣＰＵ１０１は、ＰＣ１５０からインターフェース＃０の代替設定「１」への代替設定要求を待つ。Ｓ１３０４において、ＣＰＵ１０１は、ＰＣ１５０からインターフェース＃０の代替設定「１」への代替設定要求を受け取っていない場合にはＳ１３０５に処理を進める。Ｓ１３０５では、ＣＰＵ１０１は、ＰＣ１５０との間のＵＳＢが切断されたか否かを確認する。Ｓ１３０５において、ＣＰＵ１０１は、ＵＳＢが切断された場合にはＳ１３０１に処理を戻し、一方、切断されていない場合にはＳ１３０４に処理を戻す。また、ＣＰＵ１０１は、Ｓ１３０４においてＰＣ１５０からインターフェース＃０の代替設定「１」への代替設定要求を受け取ったと判断した場合には、Ｓ１３０６に処理を進める。Ｓ１３０６では、ＣＰＵ１０１は、バスリセットを発生させて、通信の初期化を行う。バスリセットの具体的な態様としては、一例として、通常はプルアップされているＵＳＢのＤ＋信号線を、バスリセットを発生させる際には一時的に停止させるような制御を挙げることができる。Ｓ１３０６の後、ＣＰＵ１０１は、Ｓ１３０７に処理を進める。
【００３９】
Ｓ１３０７では、ＣＰＵ１０１は、図１２に示したＵＳＢディスクリプタ１２００で複数のインターフェースを構成する。Ｓ１３０７の後、ＣＰＵ１０１は、Ｓ１３０８に処理を進める。Ｓ１３０８では、ＣＰＵ１０１は、プラグ・アンド・プレイを実行し、図１２に示したＵＳＢディスクリプタ１２００をＰＣ１５０に渡す。Ｓ１３０８の後、ＣＰＵ１０１は、Ｓ１３０９に処理を進める。Ｓ１３０９では、ＣＰＵ１０１は、ＰＣ１５０からインターフェース＃０の代替設定要求を待つ。Ｓ１３０９において、ＣＰＵ１０１は、ＰＣ１５０からインターフェース＃０の代替設定要求を受け取ったと判断した場合にはＳ１３１０に処理を進め、受け取らなかった場合にはＳ１３１１に処理を進める。Ｓ１３１０に進んだ場合、ＣＰＵ１０１は、Ｓ１３０９で受けた代替設定のインターフェース（図１２のインターフェースディスクリプタ１２３０又は１２４０）を有効にした後、Ｓ１３１１に処理を進める。Ｓ１３１１では、ＣＰＵ１０１は、ＵＳＢが切断されたかを確認する。Ｓ１３１１において、ＣＰＵ１０１は、ＵＳＢが切断された場合にはＳ１３０１に処理を戻し、一方、切断されていない場合にはＳ１３０９に処理を戻す。
【００４０】
次に、図１３（ｂ）に示したＰＣ１５０のＣＰＵ１５２が実行する制御プログラムのフローチャートについて説明する。第４の実施形態のＰＣ１５０のＣＰＵ１５２は、Ｓ１３５１において、ＵＳＢＩ／Ｆ１５５を介して印刷装置１００と接続されるのを待つ。Ｓ１３５１において、ＣＰＵ１５２は、印刷装置１００にＵＳＢ接続されていない場合にはＳ１３５１の処理を繰り返し、ＰＣ１５０にＵＳＢ接続されたと判断した場合にはＳ１３５２に処理を進める。Ｓ１３５２では、ＣＰＵ１５２は、プラグ・アンド・プレイを実行し、図１１に示したＵＳＢディスクリプタ１１００を印刷装置１００から受け取る。Ｓ１３５２の後、ＣＰＵ１５２は、Ｓ１３５３に処理を進める。
【００４１】
Ｓ１３５３では、ＣＰＵ１５２は、印刷装置１００へインターフェース＃０の代替設定「１」への代替設定要求を送る。Ｓ１３５３の後、ＣＰＵ１５２は、Ｓ１３５４に処理を進める。Ｓ１３５４では、ＣＰＵ１５２は、印刷装置１００において前述のＳ１３０６で行われたバスリセットを検知する。Ｓ１３５４の後、ＣＰＵ１５２は、Ｓ１３５５に処理を進める。Ｓ１３５５では、ＣＰＵ１５２は、プラグ・アンド・プレイを実行し、印刷装置１００が前述のＳ１３０８で有効になされた図１２に示したＵＳＢディスクリプタ１２００を受け取る。Ｓ１３５５の後、ＣＰＵ１０１は、Ｓ１３５６に処理を進める。Ｓ１３５６では、ＣＰＵ１５２は、印刷装置１００へインターフェース＃０の代替設定「１」への代替設定要求を送る。Ｓ１３５６の後、ＣＰＵ１０１は、Ｓ１３５７に処理を進める。Ｓ１３５７では、ＣＰＵ１５２は、ＵＳＢが切断されたかを確認する。Ｓ１３５７において、ＣＰＵ１５２は、ＵＳＢが切断されたと判断した場合はＳ１３５１に処理を戻し、切断されていない場合にはＳ１３５７の処理を繰り返す。
【００４２】
図１４（ａ）及び図１４（ｂ）は、第４の実施形態の印刷装置１００と、ＩＰＰドライバが搭載されていないＯＳが動作しているＰＣ１５０とが、ＵＳＢ接続される場合の処理の流れを示すフローチャートである。図１４（ａ）は、印刷装置１００側の処理の流れを示すフローチャートであり、図１４（ｂ）は、ＩＰＰドライバが搭載されていないＯＳが動作しているＰＣ１５０側の処理の流れを示すフローチャートである。印刷装置１００のＣＰＵ１０１が実行する制御プログラムは、ＲＯＭ１０３に記憶されている。図１４（ａ）の各ステップＳ１３０１〜Ｓ１３１１では、前述の図１３（ａ）のＳ１３０１〜Ｓ１３１１と同じ処理が行われるため、それら各処理の説明は省略する。また、ＰＣ１５０のＣＰＵ１５２が実行する制御プログラムは、ＨＤＤ１５４に記憶されている。図１４（ｂ）に示す各ステップＳ１４０１〜Ｓ１４０３の処理は、ＣＰＵ１５２がＨＤＤ１５４に記憶されている制御プログラムをＲＡＭ１５３にロードして実行することで実現される。以下の説明では、図１４（ｂ）に示すステップＳ１４０１〜Ｓ１４０３は、Ｓ１４０１〜Ｓ１４０３と略記する。
【００４３】
以下、図１４（ｂ）に示したＰＣ１５０のＣＰＵ１５２が実行する制御プログラムのフローチャートについて説明する。ＩＰＰドライバが搭載されていないＯＳが動作しているＰＣ１５０のＣＰＵ１５２は、Ｓ１４０１において、ＵＳＢＩ／Ｆ１５５を介して印刷装置１００と接続されるのを待つ。Ｓ１４０１において、ＣＰＵ１５２は、印刷装置１００にＵＳＢ接続されていない場合にはＳ１４０１の処理を繰り返し、ＰＣ１５０にＵＳＢ接続されたと判断した場合にはＳ１４０２に処理を進める。Ｓ１４０２では、ＣＰＵ１５２は、プラグ・アンド・プレイを実行し、図１１に示したＵＳＢディスクリプタ１１００を印刷装置１００から受け取る。Ｓ１４０２の後、ＣＰＵ１５２は、Ｓ１４０３に処理を進める。Ｓ１４０３では、ＣＰＵ１５２は、ＵＳＢが切断されたかを確認する。Ｓ１４０３において、ＣＰＵ１５２は、ＵＳＢが切断されたと判断した場合はＳ１４０１に処理を戻し、切断されていない場合にはＳ１４０３の処理を繰り返す。
【００４４】
図１４（ｂ）に示すようにＩＰＰドライバが搭載されていないＯＳが動作しているＰＣ１５０の場合、ＣＰＵ１５２は、図１３（ｂ）のＳ１３５３のように印刷装置１００にインターフェース＃０の代替設定「１」への代替設定要求を送る処理を行わない。このため、印刷装置１００のＣＰＵ１０１では、Ｓ１３０４において、ＰＣ１５０からインターフェース＃０の代替設定「１」への代替設定要求を受け取っていないと判断されてＳ１３０５に処理が進み、Ｓ１３０６〜Ｓ１３１１までの各処理は実行されない。すなわち、図１４（ｂ）の場合、印刷装置１００では、単一のインターフェースで構成するＵＳＢディスクリプタ１１００から複数のインターフェースで構成するＵＳＢディスクリプタ１２００への変更が行われないことになる。
【００４５】
図１５は、図１４（ａ）と図１４（ｂ）の例において、第４の実施形態の印刷装置１００が保持する、相互に排他的に構成可能なインターフェースと単一のインターフェースとで構成されるＵＳＢディスクリプタ１５００の一例を示す図である。図１５において、インターフェースディスクリプタ１５３０，１５４０は、ＩＰＰドライバと通信可能なインターフェース（ＩＰＰドライバインターフェース）のディスクリプタである。デバイスＩＤ１５５０，１５６０は、ＩＥＥＥ１２８４で規定されるデバイスを特定するためにデバイスＩＤである。ＵＳＢディスクリプタ１５００で構成された印刷装置１００をＰＣ１５０に接続した場合、ＰＣ１５０は、印刷装置１００を、複数のインターフェースで構成された装置（前述の複合ＵＳＢ）である認識する。
なお、前述のＳ１３０７では、図１５に示すＵＳＢディスクリプタ１５００で複数のインターフェースを構成するようにしてもよい。
【００４６】
以上説明したように、第４の実施形態によれば、印刷装置１００とＰＣ１５０が接続されるときに動的にＵＳＢインターフェースが構成されてＵＳＢ通信が可能になる。これにより、ＩＰＰドライバが搭載されていないＯＳが動作しているＰＣ１５０に、ＩＰＰドライバのインターフェースを持つ印刷装置１００が接続された場合であっても、ドライバのインストールに失敗する問題が生ずることを回避することが可能となる。すなわち、第４の実施形態によれば、ＯＳが汎用のデバイスドライバを搭載しているかどうかによらずに、印刷装置と情報処理装置が通信を行う際のインターフェースを構成可能となる。
【００４７】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
以上、本発明の好ましい実施形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００４８】
１００  印刷装置、１０１  ＣＰＵ、１５０  ＰＣ、１５２  ＣＰＵ、２００，３００  ＵＳＢディスクリプタ
【図１】
2017105002.tif 000003
【図２】
2017105002.tif 000004
【図３】
2017105002.tif 000005
【図４】
2017105002.tif 000006
【図５】
2017105002.tif 000007
【図６】
2017105002.tif 000008
【図７】
2017105002.tif 000009
【図８】
2017105002.tif 000010
【図９】
2017105002.tif 000011
【図１０】
2017105002.tif 000012
【図１１】
2017105002.tif 000013
【図１２】
2017105002.tif 000014
【図１３】
2017105002.tif 000015
【図１４】
2017105002.tif 000016
【図１５】
2017105002.tif 000017