(57)【特許請求の範囲】
【請求項１】
同一のプリンタに対する複数種類のプリンタドライバとして第１プリンタドライバと第２プリンタドライバとを備え、第１アプリケーションからの印刷指示に応じて、前記第１プリンタドライバが処理可能な第１描画データを出力する第１描画部と、第２アプリケーションからの印刷指示に応じて、前記第２プリンタドライバが処理可能な前記第１描画データとは異なる第２描画データを出力する第２描画部とが動作する情報処理装置であって
出力要求元のアプリケーションと、出力先として指定されたプリンタドライバとの組み合わせが、前記第１アプリケーションと前記第１プリンタドライバの組み合わせ、あるいは前記第２アプリケーションと前記第２プリンタドライバの組み合わせであるか否かを判定する判定手段と、
前記判定手段の判定の結果、前記組み合わせでないと判定された場合、前記組み合わせとして、前記出力要求元のアプリケーションに対して前記組み合わせとなるプリンタドライバを示す情報を表示する表示手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記表示手段は、更に、指定されたプリンタドライバが適切ではないことを示す情報を表示する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１及び第２プリンタドライバは、第１形式のドライバ情報を有し、前記第１形式のドライバ情報を前記第１形式のドライバ情報とは異なる第２形式のドライバ情報に変換する変換手段を備え、
前記第１形式のドライバ情報は前記第１アプリケーションによって要求され、前記第２形式のドライバ情報は前記第２アプリケーションによって要求される
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記第１プリンタドライバの前記判定手段は、前記変換手段による変換が実行された場合に、前記組み合わせになっていないと判定し、
前記第２プリンタドライバの前記判定手段は、前記変換手段による変換が実行されなかった場合に、前記組み合わせになっていないと判定する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記判定手段は、前記組み合わせでないと判定した場合、印刷処理を実行すべく選択されたプリンタドライバ名と対応する適切なプリンタドライバが同一プリンタに対してインストールされているか否かを判定し、
前記適切なプリンタドライバが同一プリンタに対してインストールされている場合、前記表示手段は、前記インストールされている適切なプリンタドライバを示す情報を表示する
ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記判定手段は、選択されたプリンタドライバのプリンタドライバ名と同一のプリンタドライバ名が設定されているプリンタドライバを適切なプリンタドライバとして判定する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記判定手段は、選択されたプリンタドライバのプリンタドライバ名及び出力先情報と同一のプリンタドライバ名及び出力先情報が設定されているプリンタドライバを適切なプリンタドライバとして判定する
ことを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
前記適切なプリンタドライバがインストールされていない場合、前記表示手段は、前記適切なプリンタドライバの入手先を示す情報を表示する
ことを特徴とする請求項５または６に記載の情報処理装置。
【請求項９】
前記適切なプリンタドライバがインストールされていない場合、前記表示手段は、前記適切なプリンタドライバのインストールの実行を確認するための情報を表示する
ことを特徴とする請求項５乃至７のいずれか１項に記載の情報処理装置。
【請求項１０】
同一のプリンタに対する複数種類のプリンタドライバとして第１プリンタドライバと第２プリンタドライバとを備え、第１アプリケーションからの印刷指示に応じて、前記第１プリンタドライバが処理可能な第１描画データを出力する第１描画部と、第２アプリケーションからの印刷指示に応じて、前記第２プリンタドライバが処理可能な前記第１描画データとは異なる第２描画データを出力する第２描画部とが動作する情報処理装置の制御方法であって、
出力要求元のアプリケーションと、出力先として指定されたプリンタドライバとの組み合わせが、前記第１アプリケーションと前記第１プリンタドライバの組み合わせ、あるいは前記第２アプリケーションと前記第２プリンタドライバの組み合わせであるか否かを判定する判定工程と、
前記判定工程の判定の結果、前記組み合わせでないと判定された場合、前記組み合わせとして、前記出力要求元のアプリケーションに対して前記組み合わせとなるプリンタドライバを示す情報を表示する表示工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項１１】
前記表示工程は、更に、指定されたプリンタドライバが適切ではないことを示す情報を表示する
ことを特徴とする請求項１０に記載の情報処理装置の制御方法。
【請求項１２】
前記第１及び第２プリンタドライバは、第１形式のドライバ情報を有し、前記第１形式のドライバ情報を前記第１形式のドライバ情報とは異なる第２形式のドライバ情報に変換する変換工程を備え、
前記第１形式のドライバ情報は前記第１アプリケーションによって要求され、前記第２形式のドライバ情報は前記第２アプリケーションによって要求される
ことを特徴とする請求項１０または１１に記載の情報処理装置の制御方法。
【請求項１３】
前記第１プリンタドライバの前記判定工程は、前記変換工程による変換が実行された場合に、前記組み合わせになっていないと判定し、
前記第２プリンタドライバの前記判定工程は、前記変換工程による変換が実行されなかった場合に、前記組み合わせになっていないと判定する
ことを特徴とする請求項１２に記載の情報処理装置の制御方法。
【請求項１４】
前記判定工程は、前記組み合わせでないと判定した場合、印刷処理を実行すべく選択されたプリンタドライバ名と対応する適切なプリンタドライバが同一プリンタに対してインストールされているか否かを判定し、
前記適切なプリンタドライバが同一プリンタに対してインストールされている場合、前記表示工程は、前記インストールされている適切なプリンタドライバを示す情報を表示する
ことを特徴とする請求項１０乃至１３のいずれか１項に記載の情報処理装置の制御方法。
【請求項１５】
前記判定工程は、選択されたプリンタドライバのプリンタドライバ名と同一のプリンタドライバ名が設定されているプリンタドライバを適切なプリンタドライバとして判定する
ことを特徴とする請求項１４に記載の情報処理装置の制御方法。
【請求項１６】
前記判定工程は、選択されたプリンタドライバのプリンタドライバ名及び出力先情報と同一のプリンタドライバ名及び出力先情報が設定されているプリンタドライバを適切なプリンタドライバとして判定する
ことを特徴とする請求項１４または１５に記載の情報処理装置の制御方法。
【請求項１７】
前記適切なプリンタドライバがインストールされていない場合、前記表示工程は、前記適切なプリンタドライバの入手先を示す情報を表示する
ことを特徴とする請求項１４または１５に記載の情報処理装置の制御方法。
【請求項１８】
前記適切なプリンタドライバがインストールされていない場合、前記表示工程は、前記適切なプリンタドライバのインストールの実行を確認するための情報を表示する
ことを特徴とする請求項１４乃至１６のいずれか１項に記載の情報処理装置の制御方法。
【請求項１９】
同一のプリンタに対する複数種類のプリンタドライバとして第１プリンタドライバと第２プリンタドライバとを備え、第１アプリケーションからの印刷指示に応じて、前記第１プリンタドライバが処理可能な第１描画データを出力する第１描画部と、第２アプリケーションからの印刷指示に応じて、前記第２プリンタドライバが処理可能な前記第１描画データとは異なる第２描画データを出力する第２描画部とが動作する情報処理装置の制御をコンピュータに実行させるためのプログラムであって、
出力要求元のアプリケーションと、出力先として指定されたプリンタドライバとの組み合わせが、前記第１アプリケーションと前記第１プリンタドライバの組み合わせ、あるいは前記第２アプリケーションと前記第２プリンタドライバの組み合わせであるか否かを判定する判定工程と、
前記判定工程の判定の結果、前記組み合わせでないと判定された場合、前記組み合わせとして、前記出力要求元のアプリケーションに対して前記組み合わせとなるプリンタドライバを示す情報を表示する表示工程と
をコンピュータに実行させることを特徴とするプログラム。
【請求項２０】
前記表示工程は、更に、指定されたプリンタドライバが適切ではないことを示す情報を表示する
ことを特徴とする請求項１９に記載のプログラム。
【請求項２１】
前記第１及び第２プリンタドライバは、第１形式のドライバ情報を有し、前記第１形式のドライバ情報を前記第１形式のドライバ情報とは異なる第２形式のドライバ情報に変換する変換工程を備え、
前記第１形式のドライバ情報は前記第１アプリケーションによって要求され、前記第２形式のドライバ情報は前記第２アプリケーションによって要求される
ことを特徴とする請求項１９または２０に記載のプログラム。
【請求項２２】
前記第１プリンタドライバの前記判定工程は、前記変換工程による変換が実行された場合に、前記組み合わせになっていないと判定し、
前記第２プリンタドライバの前記判定工程は、前記変換工程による変換が実行されなかった場合に、前記組み合わせになっていないと判定する
ことを特徴とする請求項２１に記載のプログラム。
【請求項２３】
前記判定工程は、前記組み合わせでないと判定した場合、印刷処理を実行すべく選択されたプリンタドライバ名と対応する適切なプリンタドライバが同一プリンタに対してインストールされているか否かを判定し、
前記適切なプリンタドライバが同一プリンタに対してインストールされている場合、前記表示工程は、前記インストールされている適切なプリンタドライバを示す情報を表示する
ことを特徴とする請求項１９乃至２２のいずれか１項に記載のプログラム。
【請求項２４】
前記判定工程は、選択されたプリンタドライバのプリンタドライバ名と同一のプリンタドライバ名が設定されているプリンタドライバを適切なプリンタドライバとして判定する
ことを特徴とする請求項２３に記載のプログラム。
【請求項２５】
前記判定工程は、選択されたプリンタドライバのプリンタドライバ名及び出力先情報と同一のプリンタドライバ名及び出力先情報が設定されているプリンタドライバを適切なプリンタドライバとして判定する
ことを特徴とする請求項２３または２４に記載のプログラム。
【請求項２６】
前記適切なプリンタドライバがインストールされていない場合、前記表示工程は、前記適切なプリンタドライバの入手先を示す情報を表示する
ことを特徴とする請求項２３または２４に記載のプログラム。
【請求項２７】
前記適切なプリンタドライバがインストールされていない場合、前記表示工程は、前記適切なプリンタドライバのインストールの実行を確認するための情報を表示する
ことを特徴とする請求項２３乃至２５のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数種類のプリンタドライバと、複数種類の描画部とが動作する情報処理装置及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
ホストコンピュータ上のアプリケーションから画像やテキストを印刷装置にて印刷する際には、図１に示すような構成が一般的である。
【０００３】
即ち、ホストコンピュータ３０００上のアプリケーション１０１は、グラフィクスエンジン１０３に対して描画データを渡し、その描画データはグラフィクスエンジン１０３にて加工されてからプリンタドライバ１０４に渡される。次に、プリンタドライバ１０４は、プリンタ１５００に対する印刷データ（例えば、ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を生成し、その印刷データはスプーラ１０５に格納された後、プリンタ１５００に送られるという構成である。
【０００４】
特に、グラフィクスエンジン１０３は、アプリケーション１０１で作成された描画データの解像度を変換したり、プリンタドライバ１０４の処理能力に合わせてシミュレート処理等の描画データの加工を行う。これによって、アプリケーション１０１とプリンタドライバ１０４が互いに非依存な関係で動作することができる。このグラフィクスエンジン１０３は、通常、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１０２の一部として提供される。
【０００５】
一方、このグラフィクスエンジンは必ずしも一つであるとは限らず、二つ以上のグラフィクスエンジンが共存する構成が存在する。
【０００６】
例えば、２００５年米国シアトルにてＷｉｎＨＥＣ  ２００５というハードウェアエンジニアリングカンファレンスがＭｉｃｒｏｓｏｆｔ社によって開催された。この場にて、Ｍｉｃｒｏｓｏｆｔ社の新しいＯＳ（Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａ）が図２に示すような２つのグラフィクスエンジン（ＧＤＩ２０２、ＷＰＦ２１２）が共存する構成になることが紹介されている（非特許文献１）。尚、ＷＰＦは、Ｗｉｎｄｏｗｓ（登録商標）  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｆｏｕｎｄａｔｉｏｎの略称である。
【０００７】
従来のＭｉｃｒｏｓｏｆｔ社の印刷処理システムは、Ｗｉｎ３２  ＡＰＩというＡＰＩを使用するアプリケーションからＧＤＩと呼ばれるグラフィクスエンジンを活用して、ＧＤＩから呼び出されるプリンタドライバにて描画データから印刷データを作成する。この印刷処理フローを、ＧＤＩプリントパスと称している。
【０００８】
ここで、ＡＰＩは、Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅの略称である。また、ＧＤＩは、Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅの略称である。また、以下では、Ｗｉｎ３２  ＡＰＩを使用するアプリケーションを、Ｗｉｎ３２アプリケーション２０１と略称する。また、ＧＤＩから呼び出されるプリンタドライバを、ＧＤＩプリンタドライバ２０３と略称する。
【０００９】
一方、Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａでは、従来のＧＤＩプリントパスに加え、ＸＰＳプリントパスという新しい印刷処理フローが追加される。ＸＰＳプリントパスとは、ＷｉｎＦｘ  ＡＰＩを使用するアプリケーションからＷＰＦと呼ばれるグラフィクスエンジンを活用して、ＸＰＳ形式の描画データをプリンタドライバにて印刷データに変換する印刷処理フローである。
【００１０】
ここで、ＸＰＳは、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎの略称である。また、以下では、ＷｉｎＦｘ  ＡＰＩを使用するアプリケーションを、ＷｉｎＦｘアプリケーション２１１と略称する。また、ＸＰＳ形式の描画データを処理するプリンタドライバを、ＸＰＳプリンタドライバ２１３と略称する。
【００１１】
更に、このＧＤＩ２０２とＷＰＦ２１２といったグラフィクスエンジンは、互いに連携することができる。そして、この連携により、Ｗｉｎ３２アプリケーション２０１からＸＰＳプリンタドライバ２１３に描画データを渡すことができる。一方で、ＷｉｎＦｘアプリケーション２１１からＧＤＩプリンタドライバ２０３に描画データを渡すことができる。
【００１２】
図３にて、Ｗｉｎｄｏｗｓ（登録商標）ＶＩＳＴＡにおける２つのグラフィクスエンジンの連携の仕組みを説明する。
【００１３】
印刷処理フロー（１）は、従来のＧＤＩプリントパスを示している。Ｗｉｎ３２アプリケーション２０１から渡される描画データは、ＧＤＩ２０２にてＥＭＦ（Ｅｎｈａｎｃｅｄ  Ｍｅｔａｆｉｌｅ）形式でＥＭＦスプールファイル３０１として格納される。その後、ＧＤＩプリンタドライバ２０３にて印刷データへの変換が行われる。
【００１４】
印刷処理フロー（４）は、Ｗｉｎｄｏｗｓ（登録商標）Ｖｉｓｔａで追加されるＸＰＳプリントパスを示している。ＷｉｎＦｘアプリケーション２１１から渡される描画データは、ＷＰＦ２１２にてＸＰＳスプールファイル３１１として格納される。その後、ＸＰＳプリンタドライバ２１３にて印刷データへの変換が行われる。
【００１５】
印刷処理フロー（３）は、ＷｉｎＦｘアプリケーション２１１からＧＤＩプリンタドライバ２０３で印刷する場合の印刷処理フローを示している。ＷｉｎＦｘアプリケーション２１１から渡される描画データは、ＷＰＦ２１２を経由してＸＰＳ→ＧＤＩ変換モジュール３１２にて、ＥＭＦ形式の描画データに変換され、ＥＭＦスプールファイル３０１として格納され。その後、ＧＤＩプリンタドライバ２０３にて印刷データへの変換が行われる。
【００１６】
印刷処理フロー（２）は、Ｗｉｎ３２アプリケーション２０１からＸＰＳプリンタドライバ２１３で印刷する場合の処理フローを示している。Ｗｉｎ３２アプリケーション２０１から渡される描画データは、ＧＤＩ２０２を経由してＧＤＩ→ＸＰＳ変換モジュール３０２にてＸＰＳ形式の描画データに変換され、ＸＰＳスプールファイル３１１として格納される。その後、ＸＰＳプリンタドライバ２１３にて印刷データへの変換が行われる。
【００１７】
Ｗｉｎｄｏｗｓ（登録商標）Ｖｉｓｔａにおいては、２つのグラフィックスエンジンが共存し、互いに連携するため、４つの印刷処理フローが考えられる。また、印刷装置に対するプリンタドライバは、ＧＤＩプリンタドライバ２０３あるいはＸＰＳプリンタドライバ２１３の一方を用意することで、Ｗｉｎ３２アプリケーション２０１及びＷｉｎＦｘアプリケーション２１１の両方からの印刷処理に対応できる。
【００１８】
また、プリンタからＰＤＬ情報を取得し、それに対して適切なドライバを選択し、適切なドライバがなければ、デバイスからドライバをアップロードしてインストールを行い、インストールされたドライバで印刷する印刷支援技術が提案されている（特許文献１）。
【非特許文献１】http://www.microsoft.com/whdc/device/print/default.mspx（Advances in Windows（登録商標）Printing : TWPR05001_WinHEC05.ppt）
【特許文献１】特開２００４−０２１４６０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかしながら、上述したＸＰＳ形式とＥＭＦ形式はデータ形式が異なる。そのため、図３の印刷処理フロー（２）及び印刷処理フロー（３）のように、描画データの変換が発生してしまう印刷処理フローを用いて印刷処理を実行すると印刷品質や機能面、印刷速度が悪化する恐れがある。
【００２０】
印刷機能面では、例えば、印刷処理フロー（２）において、ＥＭＦ形式でサポートされている論理演算を含む描画データは、ＸＰＳ形式ではサポートされていない。そのため、ＥＭＦ形式の描画データを、ＧＤＩ→ＸＰＳ変換モジュール３０２でＸＰＳ形式へ変換する際に論理演算情報が削除されてしまい、ＸＰＳプリンタドライバ２１３には論理演算情報が削除された描画データが渡される。そのため、ユーザが、Ｗｉｎ３２アプリケーション２０１を用いて作成した出力結果をＸＰＳプリンタドライバ２１３で出力する場合、ユーザの意図を反映した出力結果を得られなくなる恐れがある。
【００２１】
また、逆に、印刷処理フロー（３）において、ＸＰＳ形式においてサポートされている高度なグラフィクス描画データは、ＥＭＦ形式においてサポートされていない。そのため、ＸＰＳ形式の描画データをＸＰＳ→ＧＤＩ変換モジュール３１２で、ＧＤＩ形式へ変換する際に、Ｆｌａｔｔｅｒｉｎｇと呼ばれる局所的なＢｉｔｍａｐ化が行われる。その場合、グラフィクスデータがＢｉｔｍａｐデータに変換されてしまうことにより、ＧＤＩプリンタドライバ２０３では元のオブジェクト属性が判断できなくなってしまい、ユーザが意図する出力結果を得られなくなる恐れがある。
【００２２】
印刷機能面においては、例えば、印刷処理フロー（３）において、ＸＰＳ形式においてサポートされる電子署名情報は、ＥＭＦ形式においてはサポートされていない。あるいは印刷処理フロー（２）のＥＭＦ形式においてサポートされるアプリケーションからの情報を直接、ＧＤＩプリンタドライバ２０３に伝える処理は、ＸＰＳ形式においてはサポートされていない。そのため、印刷処理フロー（１）や（４）では対応できる機能をアプリケーションが使用しても、印刷処理フロー（２）や（３）では実現することはできない。
【００２３】
印刷速度に関しては、印刷処理フロー（２）や（３）においてＧＤＩ→ＸＰＳ変換やＸＰＳ→ＧＤＩ変換等の処理が発生してしまうことにより、印刷処理フロー（１）や（４）に較べると印刷処理速度が低下してしまう。
【００２４】
そのため、印刷処理フロー（２）や（３）を避けることが望ましい。ここで、仮に、同じ印刷装置に対するＸＰＳプリンタドライバとＧＤＩプリンタドライバの両者を登録しておいても、Ｗｉｎｄｏｗｓ（登録商標）Ｖｉｓｔａにおけるグラフィクスエンジンは動的に印刷処理フロー（１）や（４）を優先するように切り替えることは行わない。さらには、ユーザは基本的にアプリケーションがＷｉｎ３２アプリケーションなのかＷｉｎＦｘアプリケーションなのかを意識したり、印刷処理フローが４本あることを認識していないため、印刷処理フロー（２）や（３）を避けることは困難であった。
【００２５】
また、印刷設定情報の場合、ＧＤＩプリントパスではＤｅｖＭｏｄｅ構造体と呼ばれるデータ構造で印刷設定データを持っていたが、ＸＰＳプリントパスではＰｒｉｎｔＴｉｃｋｅｔと呼ばれるＸＭＬ形式のデータ構造になる。こちらもＧＤＩからＸＰＳもしくはＸＰＳからＧＤＩに変換する際にＤｅｖＭｏｄｅからＰｒｉｎｔＴｉｃｋｅｔへ、ＰｒｉｎｔＴｉｃｋｅｔからＤｅｖＭｏｄｅに変換する処理が必要となる。描画データ同様に、ＤｅｖＭｏｄｅで表現できる範囲とＰｒｉｎｔＴｉｃｋｅｔで表現できる範囲も異なるが、この処理はオペレーティングシステムが自動で行うのではなく、プリンタドライバ自身が拡張されたアーキテクチャを用いて行うようになっている。従って、プリンタドライバを作成するＩＨＶが適切に変換処理を作成すれば、描画のようにデータが抜け落ちてしまうという問題はない。
【００２６】
本発明は上記の課題を解決するためになされたものである。その目的は、印刷データを生成する形式が異なる描画機能が混在する環境で、使用する描画機能によって生じ得る不具合を印刷前に確認することができる情報処理装置及びその制御方法、プログラムを提供することにある。
【課題を解決するための手段】
【００２７】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
同一のプリンタに対する複数種類のプリンタドライバとして第１プリンタドライバと第２プリンタドライバとを備え、第１アプリケーションからの印刷指示に応じて、前記第１プリンタドライバが処理可能な第１描画データを出力する第１描画部と、第２アプリケーションからの印刷指示に応じて、前記第２プリンタドライバが処理可能な前記第１描画データとは異なる第２描画データを出力する第２描画部とが動作する情報処理装置であって
出力要求元のアプリケーションと、出力先として指定されたプリンタドライバとの組み合わせが、前記第１アプリケーションと前記第１プリンタドライバの組み合わせ、あるいは前記第２アプリケーションと前記第２プリンタドライバの組み合わせであるか否かを判定する判定手段と、
前記判定手段の判定の結果、前記組み合わせでないと判定された場合、前記組み合わせとして、前記出力要求元のアプリケーションに対して前記組み合わせとなるプリンタドライバを示す情報を表示する表示手段と
を備える。
【発明の効果】
【００２８】
本発明によれば、印刷データを生成する形式が異なる描画機能が混在する環境で、使用する描画機能によって不具合が生じる可能性がある場合、印刷処理の実行を印刷前に確認することができる情報処理装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００３０】
＜実施形態１＞
図３は、Ｗｉｎｄｏｗｓ（登録商標）ＶＩＳＴＡにおける２つのグラフィクスエンジンの連携の仕組みを説明するための図である。
【００３１】
印刷処理フロー（１）は、従来のＧＤＩプリントパスを示している。Ｗｉｎ３２アプリケーション２０１から渡される描画データは、ＧＤＩ２０２にてＥＭＦ（Ｅｎｈａｎｃｅｄ  Ｍｅｔａｆｉｌｅ）形式でＥＭＦスプールファイル３０１として格納される。その後、ＧＤＩプリンタドライバ２０３にて印刷データへの変換が行われる。
【００３２】
印刷処理フロー（４）は、Ｗｉｎｄｏｗｓ（登録商標）Ｖｉｓｔａで追加されるＸＰＳプリントパスを示している。ＷｉｎＦｘアプリケーション２１１から渡される描画データは、ＷＰＦ２１２にてＸＰＳスプールファイル３１１として格納される。その後、ＸＰＳプリンタドライバ２１３にて印刷データへの変換が行われる。
【００３３】
印刷処理フロー（３）は、ＷｉｎＦｘアプリケーション２１１からＧＤＩプリンタドライバ２０３で印刷する場合の印刷処理フローを示している。ＷｉｎＦｘアプリケーション２１１から渡される描画データは、ＷＰＦ２１２を経由してＸＰＳ→ＧＤＩ変換モジュール３１２にて、ＥＭＦ形式の描画データに変換され、ＥＭＦスプールファイル３０１として格納され。その後、ＧＤＩプリンタドライバ２０３にて印刷データへの変換が行われる。
【００３４】
印刷処理フロー（２）は、Ｗｉｎ３２アプリケーション２０１からＸＰＳプリンタドライバ２１３で印刷する場合の処理フローを示している。Ｗｉｎ３２アプリケーション２０１から渡される描画データは、ＧＤＩ２０２を経由してＧＤＩ→ＸＰＳ変換モジュール３０２にてＸＰＳ形式の描画データに変換され、ＸＰＳスプールファイル３１１として格納される。その後、ＸＰＳプリンタドライバ２１３にて印刷データへの変換が行われる。
【００３５】
Ｗｉｎｄｏｗｓ（登録商標）Ｖｉｓｔａにおいては、２つのグラフィックスエンジンが共存し、互いに連携するため、４つの印刷処理フローが考えられる。また、印刷装置に対するプリンタドライバは、ＧＤＩプリンタドライバ２０３あるいはＸＰＳプリンタドライバ２１３の一方を用意することで、Ｗｉｎ３２アプリケーション２０１及びＷｉｎＦｘアプリケーション２１１の両方からの印刷処理に対応できる。
【００３６】
図２、図３では、情報処理装置は、第１アプリケーションであるＷｉｎ３２アプリケーション２０１と第１プリンタドライバであるＧＤＩプリンタドライバ２０３を備える。また、情報処理装置は、第２アプリケーションであるＷｉｎＦｘアプリケーション２１１と第２プリンタドライバであるＸＰＳプリンタドライバ２１３を備える。
【００３７】
また、グラフィクスエンジンは、第１描画変換部であるＧＤＩ２０２と第２描画変換部であるＷＰＦ２１２の２つがＯＳ１０２上に存在する。Ｗｉｎ３２アプリケーションは、ＧＤＩ２０２に対して第１描画データであるＧＤＩ関数を渡し、ＷｉｎＦｘアプリケーション２１１はＷＰＦ２１２に対して第２描画データであるＷＰＦ  ＡＰＩ形式データを渡す。
【００３８】
ＧＤＩプリンタドライバ２０３はＧＤＩ２０２から描画データを受け取り印刷装置１５００に対する印刷データに変換する。ＸＰＳプリンタドライバ２１３は、ＷＰＦ２１２から描画データを受け取り印刷装置１５００に対する印刷データに変換する。プリンタドライバで作成された印刷データは、スプーラ１０５を経て印刷装置１５００に送信される。
【００３９】
図４は本発明の実施形態１の情報処理装置（ホストコンピュータ）を含むプリンタ制御システムの構成を説明するブロック図である。
【００４０】
尚、特に断らない限り、本発明の機能が実行されるのであれば、単体の機能であっても、複数の機器からなるシステムであっても本発明を適用できることは言うまでもない。更には、ＬＡＮ、ＷＡＮ等のネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適用できることは言うまでもない。
【００４１】
図４において、３０００はホストコンピュータであり、ＣＰＵ１を備える。ＣＰＵ１は、ＲＯＭ３のプログラム用ＲＯＭ３ｂあるいは外部メモリ１１に記憶された文書処理プログラム（アプリケーションプログラム）等のプログラムに基づいて、図形、イメージ、文字、表（表計算等を含む）等の構成要素が混在した文書処理を実行する。更に、ＣＰＵ１は、ホストコンピュータ本体２０００内のシステムバス４に接続される各デバイスを総括的に制御する。
【００４２】
また、このＲＯＭ３のプログラム用ＲＯＭ３ｂあるいは外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（以下、ＯＳ）等のプログラムも記憶している。また、ＲＯＭ３のフォント用ＲＯＭ３ａあるいは外部メモリ１１には、上記文書処理の際に使用するフォントデータ等のデータを記憶している。また、ＲＯＭ３のデータ用ＲＯＭ３ｃあるいは外部メモリ１１には、上記文書処理等の各種処理を行う際に使用する各種データを記憶する。
【００４３】
２はＲＡＭであり、ＣＰＵ１の主メモリ、ワークエリア等として機能する。５はキーボードコントローラ（ＫＢＣ）であり、キーボード（ＫＢ）９やポインティングデバイス（不図示）からのキー入力を制御する。６はＣＲＴコントローラ（ＣＲＴＣ）であり、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。尚、ＣＲＴコントローラ６及びＣＲＴディスプレイ１０の代りに、ＬＣＤコントローラ及びＬＣＤを用いても良い。
【００４４】
７はディスクコントローラ（ＤＫＣ）であり、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等の外部メモリ１１とのアクセスを制御する。さらに、ＤＫＣ７は、印刷制御コマンド生成プログラム（以下、プリンタドライバ）等の各種データを記憶する、ハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）等の外部メモリ１１とのアクセスも制御する。
【００４５】
８はプリンタコントローラ（ＰＲＴＣ）であり、所定の双方向性インタフェース２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。双方向性インタフェースの例には、ＵＳＢインタフェース、ＩＥＥＥ１３９４インタフェース、無線ＬＡＮインタフェース等がある。
【００４６】
尚、ＣＰＵ１は、例えば、ＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行してＧＵＩを提供することで、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上のマウスカーソル（不図示）等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは、印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷方法の設定を行える。
【００４７】
プリンタ１５００において、１２はプリンタＣＰＵであり、プリンタＣＰＵ１２は、プリンタ制御部１０００内のシステムバス１５に接続される各デバイスを総括的に制御する。また、プリンタＣＰＵ１２は、ＲＯＭ１３のプログラム用ＲＯＭ１３ｂあるいは外部メモリ１４に記憶された制御プログラム等のプログラムに基づいて、システムバス１５に接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。
【００４８】
また、このＲＯＭ１３のプログラム用ＲＯＭ１３ｂには、プリンタＣＰＵ１２の制御プログラム等のプログラムを記憶している。また、ＲＯＭ１３のフォント用ＲＯＭ１３ａには、上記出力情報を生成する際に使用するフォントデータ等のデータを記憶している。また、ハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４がないプリンタの場合には、ＲＯＭ１３のデータ用ＲＯＭ１３ｃには、ホストコンピュータ３０００上で利用される情報等を記憶している。
【００４９】
プリンタＣＰＵ１２は、入力部１８を介してホストコンピュータ３０００との通信処理が可能となっており、プリンタ１５００内のステータス情報等の各種情報をホストコンピュータ３０００に通知可能に構成されている。１９はＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭである。このＲＡＭ１９は、増設ポート（不図示）に接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００５０】
尚、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスが制御される。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等のデータを記憶する。また、１５０１は操作部であり、プリンタ１５００に対する各種操作を実現するための操作パネルやスイッチ、ＬＥＤ表示器等が構成されている。
【００５１】
また、外部メモリ１４は１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。さらに、ＮＶＲＡＭ（不図示）を有し、操作部１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００５２】
次に、実施形態１の処理の概要について、図３を用いて説明する。
【００５３】
ユーザは、印刷時にアプリケーションからプリントダイアログを表示し、プリンタドライバのユーザインタフェース（ＵＩ）を表示する。このとき、ユーザが、選択しているアプリケーションの種類及び選択したプリンタドライバの種類を把握していない場合、どの印刷処理フローを使用しているか知ることができない。
【００５４】
ここで、アプリケーションの種類とは、Ｗｉｎ３２アプリケーション２０１またはＷｉｎＦｘアプリケーション２１１である。また、プリンタドライバの種類とは、ＧＤＩプリンタドライバ２０３またはＸＰＳプリンタドライバ２１３である。
【００５５】
そのため、実施形態１では、プリンタドライバのＵＩを表示したときに、図３における印刷処理フローが印刷処理フロー（２）か（３）である場合に、ユーザに警告を表示することを特徴とする。換言すれば、印刷処理の実行を確認するための確認情報を出力することを特徴とする。
【００５６】
プリンタドライバは、ドライバの情報をＤｅｖＭｏｄｅ形式で持っている。一方、Ｗｉｎ３２アプリケーション２０１は、ＤｅｖＭｏｄｅを使用するが、ＷｉｎＦｘアプリケーション２１１はＤｅｖＭｏｄｅを使用する場合と、ＰｒｉｎｔＴｉｃｋｅｔを使用する場合がある。
【００５７】
そのため、ＧＤＩプリンタドライバ２０３は、アプリケーションからＰｒｉｎｔＴｉｃｋｅｔを要求された場合は、ＤｅｖＭｏｄｅをＰｒｉｎｔＴｉｃｋｅｔに変換する必要がある。よって、ＧＤＩプリンタドライバ２０３でＤｅｖｍｏｄｅからＰｒｉｎｔＴｉｃｋｅｔへの変換処理が行われた場合は、印刷処理フロー（３）であると判断することができる。
【００５８】
一方、ＸＰＳプリンタドライバ２１３も、アプリケーションからＰｒｉｎｔＴｉｃｋｅｔを要求された場合は、ＤｅｖＭｏｄｅをＰｒｉｎｔＴｉｃｋｅｔに変換する必要がある。印刷処理フロー（２）の場合、Ｗｉｎ３２アプリケーション２０１は、ＤｅｖＭｏｄｅを要求するため、ＸＰＳプリンタドライバ２１３は、ＰｒｉｎｔＴｉｃｋｅｔへの変換処理を行わない。そのため、変換処理が行われない場合、ＸＰＳプリンタドライバ２１３は、印刷処理フロー（２）の可能性が高いと判断できる。但し、ＷｉｎＦｘアプリケーション２１１は、ＤｅｖＭｏｄｅを要求する場合があるため（印刷処理フロー（４））、処理フロー（２）と断定することはできない。
【００５９】
このときの処理の流れをシーケンス図５及び図７に従って説明する。
【００６０】
図５は本発明の実施形態１のＷｉｎＦｘアプリケーションからＧＤＩプリンタドライバを起動したときのシーケンス図である。
【００６１】
印刷時には、ユーザは、ＷｉｎＦｘアプリケーション２１１のプリントダイアログを表示する。このとき、ＷｉｎＦｘアプリケーション２１１は、ＧＤＩプリンタドライバ２０３を起動し、プリンタドライバの情報としてＰｒｉｎｔＴｉｃｋｅｔを要求する。ＧＤＩプリンタドライバ２０３は、ＤｅｖＭｏｄｅしか保持していないため、ＤｅｖＭｏｄｅをＰｒｉｎｔＴｉｃｋｅｔに変換し、ＷｉｎＦｘアプリケーション２１１に通知する。
【００６２】
次に、ＷｉｎＦｘアプリケーション２１１から詳細な印刷設定を行うために、ユーザは、ＷｉｎＦｘアプリケーション２１１を介してプリンタドライバのＵＩ表示を指示する。このとき、ＷｉｎＦｘアプリケーション２１１からＰｒｉｎｔＴｉｃｋｅｔを（プリントダイアログで変更があればそれも含めて）ＧＤＩプリンタドライバ２０３へ設定する。ＧＤＩプリンタドライバ２０３では、ＰｒｉｎｔＴｉｃｋｅｔをＤｅｖＭｏｄｅに変換し、ＵＩを表示する。
【００６３】
ＧＤＩプリンタドライバ２０３は、起動時に、ＤｅｖＭｏｄｅからＰｒｉｎｔＴｉｃｋｅｔへの変換処理を実行したので、ＷｉｎＦｘアプリケーション２１１からの印刷指示であると判断する。よって、描画不正や印刷処理機能の悪化が予想されるので、ＧＤＩプリンタドライバ２０３は、図６（ａ）に示す警告メッセージを表示する。
【００６４】
一方、Ｗｉｎ３２アプリケーション２０１からＧＤＩプリンタドライバ２０３を起動した場合、Ｗｉｎ３２アプリケーション２０１はＧＤＩプリンタドライバ２０３に対してＤｅｖｍｏｄｅの取得を要求する。そのため、ＧＤＩプリンタドライバ２０３は、ＰｒｉｎｔＴｉｃｋｅｔへの変換処理を実行する必要がない。よって、描画不正や印刷処理機能の悪化が生じないと予想されるので、ＧＤＩプリンタドライバ２０３は、特に警告表示を実行しない。即ち、ＧＤＩプリンタドライバ２０３は、ＰｒｉｎｔＴｉｃｋｅｔが要求された場合は、印刷処理フロー（３）であると判定することができる。
【００６５】
図７は本発明の実施形態１のＷｉｎ３２アプリケーションからＸＰＳプリンタドライバを起動したときのシーケンス図である。
【００６６】
印刷時には、ユーザは、Ｗｉｎ３２アプリケーション２０１のプリントダイアログを表示する。このとき、Ｗｉｎ３２アプリケーション２０１は、ＸＰＳプリンタドライバ２１３を起動し、ドライバの情報としてＤｅｖＭｏｄｅを要求する。ＸＰＳプリンタドライバ２１３は、ＤｅｖＭｏｄｅを保持しているので、そのＤｅｖＭｏｄｅをＷｉｎ３２アプリケーション２０１に通知する。
【００６７】
次に、Ｗｉｎ３２アプリケーション２０１から詳細な印刷設定を行うために、ユーザは、Ｗｉｎ３２アプリケーション２０１を介してプリンタドライバのＵＩ表示を指示する。このとき、Ｗｉｎ３２アプリケーション２０１からＤｅｖＭｏｄｅを（プリントダイアログで変更があればそれも含めて）ＸＰＳプリンタドライバ２１３へ設定する。ＸＰＳプリンタドライバ２１３では、そのＤｅｖＭｏｄｅを用いてＵＩを表示する。
【００６８】
このとき、ＷｉｎＦｘアプリケーション２１１から呼ばれている場合、ＸＰＳプリンタドライバ２１３は、ＤｅｖＭｏｄｅからＰｒｉｎｔＴｉｃｋｅｔへの変換するはずである。しかしながら、プリンタドライバ起動時にＤｅｖＭｏｄｅからＰｒｉｎｔＴｉｃｋｅｔへの変換処理を行っていない。そのため、ＸＰＳプリンタドライバ２１３は、Ｗｉｎ３２アプリケーション２０１からの印刷指示であると判断する。よって、描画不正や印刷処理機能の悪化が予想されるので、ＸＰＳプリンタドライバ２１３は、図６（ｂ）に示す警告メッセージを表示する。但し、ＷｉｎＦｘアプリケーション２１１がＤｅｖＭｏｄｅを要求する場合もあるため、ＸＰＳプリンタドライバ２１３は、印刷処理フロー（２）の可能性があることを通知する。
【００６９】
以上が実施形態１の処理の概要である。以下、この処理を実現する具体的な構成について説明する。
【００７０】
まず、ＸＰＳプリンタドライバの構成について、図８Ａを用いて説明する。
【００７１】
図８Ａは本発明の実施形態１のＸＰＳプリンタドライバの構成を示す図である。
【００７２】
ＸＰＳプリンタドライバ２１３は、プリントチケットプロバイダ２１３ａ、ＵＩドライバモジュール（ＸＰＳ）２１３ｂを保持している。ＵＩドライバモジュール（ＸＰＳ）２１３ｂは、ＤｅｖＭｏｄｅベースであり、アプリケーションから呼び出されることによって印刷設定情報を設定するためのＵＩを表示する。また、プリントチケットプロバイダ２１３ａは、ＰｒｉｎｔＴｉｃｋｅｔ（プリントチケット）からＤｅｖＭｏｄｅ、または、ＤｅｖＭｏｄｅからプリントチケットへの変換処理を行う。
【００７３】
図８Ａでは、Ｗｉｎ３２アプリケーション２０１が、印刷設定を行うためにＤｅｖＭｏｄｅを要求する場合、ＸＰＳプリンタドライバ２１３のＵＩドライバモジュールは、ＤｅｖＭｏｄｅベースのため変換処理の必要が生じない。よって、Ｗｉｎ３２アプリケーション２０１が、ＸＰＳプリンタドライバを用いて印刷処理を行う場合、プリントチケットプロバイダ２１３ａは、変換処理を行う必要がない。
【００７４】
一方、ＷｉｎＦｘアプリケーション２１１は、印刷設定を行うためプリントチケットを要求する。ＸＰＳプリンタドライバ２１３は、プリントチケットを保持していないため、プリントチケットプロバイダ２１３ａは、プリントチケットからＤｅｖＭｏｄｅへの変換処理を実行する。
【００７５】
ここで、ＸＰＳプリンタドライバ２１３は、プリントチケットプロバイダ２１３ａの変換処理を認識することができる。そのため、ＸＰＳプリンタドライバ２１３は、プリントチケットプロバイダ２１３ａによってプリントチケットからＤｅｖＭｏｄｅへの変換処理が行われたと認識した場合、印刷設定の要求元がＷｉｎＦｘアプリケーション２１１であると判定することができる。一方、プリントチケットプロバイダ２１３ａによる変換処理が行われていない場合、ＸＰＳプリンタドライバ２１３は、印刷設定の要求元をＷｉｎ３２アプリケーションと判定することができる。
【００７６】
尚、ＧＤＩプリンタドライバ２０３の構造は、ＸＰＳプリンタドライバ２１３と同様であるが、ＵＩドライバモジュール（ＸＰＳ）２１３ｂに相当するものとして、ＵＩドライバモジュール（ＧＤＩ）が構成されることになる。また、ＧＤＩプリンタドライバもＵＩモジュールもＤｅｖｍｏｄｅベースである。
【００７７】
そして、ＧＤＩプリンタドライバ２０３は、ＸＰＳプリンタドライバ２１３と同様に、プリントチケットプロバイダ２１３ａの変換処理を認識することができる。そのため、印刷対象のデータの処理経路及び、印刷設定の要求元のアプリケーションを判定することができる。
【００７８】
次に、実施形態１のプリンタドライバ内部の機能構成について、図８Ｂを用いて説明する。
【００７９】
図８Ｂは本発明の実施形態１のプリンタドライバ内部の機能構成を示すブロック図である。
【００８０】
１０１はアプリケーション、１０４はプリンタドライバ、１０５はシステムスプーラである。１０４１はドライバ制御部であり、ドライバ情報保持部１０４３からドライバ情報を取得する。また、必要であれば、ドライバ情報変換処理部１０４２は、自ら保持するドライバ情報（例えば、Ｄｅｖｍｏｄｅ）を別の形式に変換し、アプリケーションに通知する。
【００８１】
１０４４はドライバＵＩ表示部であり、アプリケーション１０１から受け取ったドライバ情報に基づきＵＩを表示し、ドライバ情報変換処理部１０４２から変換処理が行われたかどうかを問い合わせる。
【００８２】
１０４５は印刷処理フロー判定部１０４５であり、ドライバ情報変換処理部１０４２から変換処理があったかどうかの情報を受けとり、印刷処理フローが印刷処理フロー（２）あるいは（３）であるかを判定する。プリンタドライバがＧＤＩプリンタドライバの場合は、変換処理があった場合に適切でない印刷処理フローと判定する。プリンタドライバがＸＰＳプリンタドライバの場合は、変換処理がない場合に適切でない可能性がある印刷処理フローと判定する。１０４６は警告通知部であり、印刷処理フロー判定部１０４５によって適切でないと判定された場合は、例えば図６に示すような警告情報を出力する。
【００８３】
次に、ＧＤＩプリンタドライバの動作について、図９を用いて説明する。
【００８４】
図９は本発明の実施形態１のＧＤＩプリンタドライバの動作を示すフローチャートである。尚、このフローチャートの各ステップは、図４に記載の情報処理装置のＣＰＵ１によって実行される。
【００８５】
この処理において、ＧＤＩプリンタドライバはワーク領域として、変換処理フラグを持ち、初期値はＯＦＦである。
【００８６】
ステップＳ６０１で、ドライバ制御部１０４１は、アプリケーションからのドライバの情報要求がＤｅｖＭｏｄｅ要求であるかＰｒｉｎｔＴｉｃｋｅｔ要求であるかを判定する。ＤｅｖＭｏｄｅ要求である場合（ステップＳ６０１でＹＥＳ）、ステップＳ６０２に進み、ＤｅｖＭｏｄｅをアプリケーションに通知する。
【００８７】
一方、ドライバ制御部１０４１は、ＰｒｉｎｔＴｉｃｋｅｔ要求であると判定した場合（ステップＳ６０２でＮＯ）、ステップＳ６０３に進み、ＤｅｖＭｏｄｅをＰｒｉｎｔＴｉｃｋｅｔに変換する。詳細には、図８Ａに示したプリントチケットプロバイダ２１３ａ（図９のドライバ情報変換処理部１０４２）が、ＰｒｉｎｔＴｉｃｋｅｔ要求を受信した場合、Ｄｅｃｍｏｄｅへの変換処理を実行する。
次に、ステップＳ６０４で、プリントチケットプロバイダ２１３ａがステップＳ６０３でＤｅｖｍｏｄｅ→ＰｒｉｎｔＴｉｃｋｅｔへの変換処理を行ったので、その旨を示す変換処理フラグをＯＮに設定する。尚、変換処理フラグがＯＮであるかＯＦＦであるかは、ホストコンピュータのＲＡＭ２に保存される。ステップＳ６０５で、ドライバ制御部１０４１は、変換したＰｒｉｎｔＴｉｃｋｅｔをアプリケーションに通知する。
【００８８】
ステップＳ６０６で、ドライバＵＩ表示部１０４４は、アプリケーションからＵＩ表示要求があるか否かを判定する。ＵＩ表示要求がない場合（ステップＳ６０６でＮＯ）、あるまで待機する。一方、ＵＩ表示要求がある場合（ステップＳ６０６でＹＥＳ）、ステップＳ６０７に進む。
【００８９】
ステップＳ６０７で、ドライバＵＩ表示部１０４４は、ドライバＵＩを表示する。ステップＳ６０８で、警告通知部１０４６は、変換処理フラグがＯＮであるか否かを判定する。
【００９０】
尚、変換処理フラグは、ステップＳ６０４の処理により、ＲＡＭ２に保存されているため、警告通知部１０４６がＲＡＭ２を参照することにより、ステップＳ６０８の判定処理を実行できる。
【００９１】
ステップＳ６０８で、警告通知部１０４６が、変換処理フラグがＯＮであると判定した場合（ステップＳ６０８でＹＥＳ）、ステップＳ６０９に進み、ユーザに対して、例えば、図６（ａ）を通知し、処理を終了する。一方、ＯＦＦである場合（ステップＳ６０８でＮＯ）、警告通知を実行せずに、処理を終了する。
【００９２】
尚、図９では、ドライバＵＩを表示してから（ステップＳ６０７）、変換処理フラグを判定しているが（ステップＳ６０８）、順番はどちらが先に実行されても構わない。ここでは、ユーザによりＵＩ表示要求が実行された後に、ステップＳ６０８の判定処理が実行されれば良い。
【００９３】
つまり、図９では、ＧＤＩプリンタドライバが、印刷指示の要求元のアプリケーションと、出力先として指定されたプリンタドライバとの組み合わせが、Ｗｉｎ３２アプリケーションとＧＤＩプリンタドライバの組み合わせかを判定する。そして、Ｗｉｎ３２アプリケーションとＧＤＩプリンタドライバの組み合わせではないと判定した場合、ＧＤＩプリンタドライバは、Ｓ６０９にて印刷処理の実行を確認するための情報を出力する。
【００９４】
次に、ステップＳ６０９の処理の詳細について、図１０を用いて説明する。
【００９５】
図１０は本発明の実施形態のステップＳ６０９の処理の詳細を示すフローチャートである。
【００９６】
尚、図１０のフローチャートは、ステップＳ６０９、及び後述するステップＳ８０９の詳細を説明するものである。
【００９７】
ステップＳ７０１で、ユーザに対し、例えば、ＧＤＩプリンタドライバの場合は、図６（ａ）に示すメッセージボックスを表示する。一方、ＸＰＳプリンタドライバの場合は、図６（ｂ）に示すメッセージボックスを表示する。これにより、現在選択されているプリンタドライバが適切な印刷処理フローではないことをユーザに警告することができる。
【００９８】
次に、ＸＰＳプリンタドライバの動作について、図１１を用いて説明する。
【００９９】
図１１は本発明の実施形態１のＸＰＳプリンタドライバの動作を示すフローチャートである。
【０１００】
図１１において、ステップＳ８０１〜ステップＳ８０７の処理は、図９のフローチャートのステップＳ６０１〜ステップＳ６０７に対応するため、処理の詳細については省略する。
【０１０１】
ステップＳ８０７の処理後、ステップＳ８０８で、警告通知部１０４６は、変換処理フラグがＯＮであるか否かを判定する。ＯＮである場合（ステップＳ８０８でＹＥＳ）、処理を終了する。一方、ＯＦＦである場合（ステップＳ８０８でＮＯ）、ステップＳ８０９に進み、警告通知部１０４６は、ユーザに対する通知処理を行い、処理を終了する。上述したように、ＸＰＳプリンタドライバは、ＰｒｉｎｔＴｉｃｋｅｔへの変換処理を実行していない場合、描画不正や印刷処理機能の低下が発生すると判定する。そのため、警告通知部は、Ｓ８０８にて変換処理フラグがＯＦＦであると判定した場合に、図６（ｂ）に示すような警告を表示する。
【０１０２】
つまり、図１１では、ＸＰＳプリンタドライバが、印刷指示の要求元のアプリケーションと、出力先として指定されたプリンタドライバとの組み合わせが、ＷｉｎＦｘアプリケーションとＸＰＳプリンタドライバの組み合わせかを判定する。そして、ＷｉｎＦｘアプリケーションとＸＰＳプリンタドライバの組み合わせではないと判定した場合、ＸＰＳプリンタドライバは、ステップＳ８０９にて印刷処理の実行を確認するための情報を出力する。
【０１０３】
以上説明したように、実施形態１によれば、プリンタドライバは、アプリケーションを介して選択されたドライバが適切であるか否かを判定し、その判定結果に応じて、確認情報（警告情報）を出力する。これにより、画質の低下、パフォーマンスの低下、セキュリティ情報の欠落等を防ぐことが可能となり、ユーザの利便性を向上させることができる。
【０１０４】
＜実施形態２＞
実施形態１では、プリンタドライバが、アプリケーションを介して選択されたドライバが適切であるか否かを判定し、その判定結果に応じて、ユーザに適切な印刷処理フローでないということ警告していた。しかし、ユーザは適切なプリンタドライバが何かわからないことも考えられるため、さらに適切なプリンタドライバ名を通知してもよい。
【０１０５】
このような構成の場合、プリンタドライバは、実施形態１のワーク領域に加えて、お互いのドライバ名を保持している。例えば、プリンタ「ＬＢＰＸＸＸＸ」のプリンタドライバとして、ＧＤＩプリンタドライバ「ＬＢＰＸＸＸＸ  （ＧＤＩ）」とＸＰＳプリンタドライバ「ＬＢＰＸＸＸＸ  （ＸＰＳ）」があると想定する。この場合、ＧＤＩプリンタドライバのドライバ情報保持部は、対応するＸＰＳプリンタドライバ名を、ＸＰＳプリンタドライバのドライバ情報保持部は、対応するＧＤＩプリンタドライバ名を保持する。
【０１０６】
プリンタドライバの動作は実施形態１と同様で、ステップＳ６０９及びステップＳ８０９の通知処理のみが異なる。
【０１０７】
そこで、この通知処理の詳細について、図１２を用いて説明する。尚、図１２のステップＳ１２０１は、図９のステップＳ６０９や図１１のステップＳ８０９により、警告通知をすべきであると判定された場合に実行される処理である。
【０１０８】
図１２は本発明の実施形態２の通知処理の詳細を示すフローチャートである。
【０１０９】
ＧＤＩプリンタドライバの警告通知部１０４６は、変換フラグがＯＮであると判定することにより、図１３（ａ）に示すメッセージボックスを表示する。つまり、ドライバ情報保持部は、自分のプリンタドライバ名（例：ＬＢＰＸＸＸＸ（ＧＤＩ））と対応するプリンタドライバ名（例：ＬＢＰＸＸＸＸ（ＸＰＳ））を保持している。
【０１１０】
よって、警告通知部１０４６は、警告通知すべきと判定した場合、対応するプリタドライバ名をドライバ情報保持部から読み出して、例えば、図１３（ａ）のように表示する。一方、ＸＰＳプリンタドライバの場合も基本的な処理は同じである。しかし、ＸＰＳプリンタドライバの場合は、警告通知部１０４６が、変換フラグがＯＦＦであると判定することにより、図１３（ｂ）に示すメッセージボックスを表示する。このように、プリンタドライバは、確認情報として、適切なプリンタドライバを示す情報を出力する。
【０１１１】
以上説明したように、実施形態２によれば、現在選択されているプリンタドライバが適切ではないことを警告し、適切であると予想されるプリンタドライバ名を通知する。そのため、ユーザは、容易に適切なプリンタドライバを選択することが可能となる。
【０１１２】
＜実施形態３＞
実施形態２では、各プリンタドライバが対応するプリンタドライバ名を保持していることを前提として説明したが、対応するプリンタドライバ名を保持していない場合に適切なプリンタドライバ名を通知することができない。よって、実施形態３では、選択されたプリンタドライバに対応する適切なプリンタドライバが同じプリンタに対してホストコンピュータにインストールされているか否かを判定して、該当するプリンタがインストールされていることを通知してもよい。
【０１１３】
このような構成の場合、プリンタドライバは、実施形態２のワーク領域に加えて、リストアップされるプリンタの数Ｎとプリンタ情報を保持するＰｒｉｎｔｅｒＩｎｆｏを構成している。Ｎの初期値は０である。ＰｒｉｎｔｅｒＩｎｆｏはリストアップされたプリンタの数だけ保持する。ドライバの動作は実施形態１と同様で、ステップＳ６０９及びステップＳ８０９の通知処理のみが異なる。
【０１１４】
そこで、この通知処理の詳細について、図１４を用いて説明する。
【０１１５】
図１４は本発明の実施形態３の通知処理の詳細を示すフローチャートである。尚、図１４の処理は、図９及び図１１にて警告通知部が警告すべきと判断した場合に実行される。
【０１１６】
ステップＳ１４０１で、ドライバ制御部１０４１は、ホストコンピュータにインストールされているプリンタをリストアップする。尚、ホストコンピュータにインストールされているプリンタの情報は、ＲＡＭ２に保持されているため、プリンタドライバがＲＡＭ２を参照することにより実現される。ステップＳ１４０２で、ドライバ制御部１０４１は、リストアップされたプリンタの数をＮにセットし、リストアップされたプリンタ情報をＰｒｉｎｔｅｒＩｎｆｏにセットする。
【０１１７】
ステップＳ１４０３で、ドライバ制御部１０４１は、Ｎ＝０であるか否かを判定する。０である場合（ステップＳ１４０３でＹＥＳ）、すべてのプリンタのチェックが終了したか、プリンタドライバをリストアップできなかったため、処理を終了する。一方、０でない場合（ステップＳ１４０３でＮＯ）、ステップＳ１４０４に進む。
【０１１８】
ステップＳ１４０４で、ＰｒｉｎｔｅｒＩｎｆｏ［Ｎ］番目のプリンタドライバ名と、ドライバ情報保持部１０４３に保持している自分のプリンタドライバ名が一致するか否かを判定する。一致しない場合（ステップＳ１４０４でＮＯ）、ステップＳ１４０５に進み、Ｎをデクリメントして、ステップＳ１４０３に戻る。
【０１１９】
一方、ドライバ制御部１０４１が、プリンタドライバ名が一致すると判定した場合（ステップＳ１４０４でＹＥＳ）、ステップＳ１４０６に進む。そして、ドライバ制御部１０４１は、選択されたプリンタドライバのポートと、名前が一致すると判定されたＮ番目のプリンタドライバのポートがと一致するかどうかを判定する。詳細には、各プリンタドライバのポート情報はＰｒｉｎｔｅｒＩｎｆｏに保持されているため、ドライバ制御部１０４１がＰｒｉｎｔｅｒＩｎｆｏを参照することにより、ステップＳ１４０６の判定処理が実行される。
【０１２０】
プリンタドライバには、それぞれ個別のポートが割り当てられており各プリンタドライバのドライバ情報保持部１０４３に保持されている。また、ネットワークポートの場合は、ＩＰアドレスが一致しているときに一致していると判定しても良い。
【０１２１】
ドライバ制御部１０４１が、ポートが一致していないと判定した場合（ステップＳ１４０６でＮＯ）、ステップＳ１４０５に進む。一方、ドライバ制御部が、ポートが一致していると判定した場合（ステップＳ１４０６でＹＥＳ）、ステップＳ１４０７に進む。
【０１２２】
ステップＳ１４０７で、例えば、ＧＤＩプリンタドライバの場合、ＧＤＩプリンタドライバの警告通知部１０４６は、図１５（ａ）に示すメッセージボックスを表示する。一方、ＸＰＳプリンタドライバの場合、ＸＰＳプリンタドライバの警告通知部１０４６は、図１５（ｂ）に示すメッセージボックスを表示する。
【０１２３】
尚、実施形態３では、プリンタのドライバ名が一致していることを確認してから、ポートの一致を確認していたが、この順序が逆になっても問題ないことは言うまでもない。
【０１２４】
以上説明したように、実施形態３によれば、現在選択されているプリンタドライバが適切ではないことを警告する。そして、プリンタドライバは、選択されたプリンタドライバ名と同一のプリンタドライバ名及びポート（出力先情報）が設定されているプリンタドライバを適切なプリンタドライバとして推奨する。そのため、ユーザはホストコンピュータに保持されているプリンタドライバを全て把握していなくても、適切な印刷処理が実行可能と予測されるプリンタドライバを知ることができる。
【０１２５】
＜実施形態４＞
実施形態３では、プリンタが同じで、適切なプリンタドライバがインストールされていることを通知していたが、プリンタドライバはインストールされているが、ポートが異なるプリンタがある場合、それを通知してもよい。その場合、ユーザはポートを切り替えるだけで適切なプリンタドライバを使用することができる。
【０１２６】
プリンタドライバは実施形態３のワーク領域に加えて、同一プリンタドライバでポートが違うプリンタの情報を保持するＯｔｈｅｒＰｏｒｔＰｒｎＩｎｆｏを構成している。プリンタドライバの動作は実施形態１と同様で、ステップＳ６０９及びステップＳ８０９の通知処理のみが異なる。
【０１２７】
そこで、この通知処理の詳細について、図１６を用いて説明する。
【０１２８】
図１６は本発明の実施形態４の通知処理の詳細を示すフローチャートである。尚、図１６の処理は、図９及び図１１にて警告通知部が警告すべきと判断した場合に実行される。
【０１２９】
尚、実施形態４の図１６のフローチャートは、実施形態３の図１４のフローチャートとほぼ同じであるので、相違点のみ説明する。
【０１３０】
ステップＳ１６０５で、ドライバ制御部１０４１は、ポートが一致しているか否かを判定する（実施形態３の図１４のステップＳ１４０６に相当）。ポートが一致していないと判断された場合（ステップＳ１６０５でＮＯ）、ステップＳ１６０６に進み、ＯｔｈｅｒＰｏｒｔＰｒｎＩｎｆｏにＰｒｉｎｔｅｒＩｎｆｏ［Ｎ］をセットし、ステップＳ１６０７に進む。
【０１３１】
また、ステップＳ１６０３（実施形態３の図１４のステップＳ１４０３に相当）で、Ｎ＝０であると判定された場合（ステップＳ１６０３でＹＥＳ）、ステップＳ１６０９に進み、ＯｔｈｅｒＰｏｒｔＰｒｎＩｎｆｏがあるか否かを判定する。
【０１３２】
ＯｔｈｅｒＰｏｒｔＰｒｎＩｎｆｏがない場合（ステップＳ１６０９でＮＯ）、処理を終了する。一方、ＯｔｈｅｒＰｏｒｔＰｒｎＩｎｆｏがある場合（ステップＳ１６０９でＹＥＳ）、プリンタドライバはインストールされているがポートが異なるプリンタドライバがあると判定できる。そこで、ステップＳ１６１０で、プリンタドライバの警告通知部１０４６は、例えば、ＧＤＩプリンタドライバの場合は、図１７（ａ）に示すメッセージボックスを表示する。一方、ＸＰＳプリンタドライバの場合は、図１７（ｂ）に示すメッセージボックスを表示する。
【０１３３】
以上説明したように、実施形態４によれば、プリンタドライバは、現在選択されているドライバが適切ではないことを警告する。そして、選択されたプリンタドライバのプリンタドライバ名と同一のプリンタドライバ名が設定されているプリンタドライバを適切なプリンタドライバとして推奨する。その際、適切なプリンタドライバのポートを切り替えて印刷することを推奨することもできる。この結果、ポートが一致していなくてもプリンタドライバ名が一致していればユーザに適切なプリンタドライバ名を通知することができる。
【０１３４】
＜実施形態５＞
実施形態４では、選択されたプリンタドライバが適切でないと判定された場合、ポートが異なるがドライバ名が同じプリンタドライバがあれば、それを通知している。つまり、実施形態４は、ユーザによって選択されたプリンタドライバと対応するプリンタドライバがインストールされていることが前提である。実施形態５では、対応するプリンタドライバがインストールされていない場合は、プリンタドライバの入手先を通知する処理について説明する。その場合、ユーザはプリンタドライバの入手先がわかるので、容易に対応するプリンタドライバを取得することができる。
【０１３５】
プリンタドライバは実施形態３のワーク領域に加えて、プリンタドライバの入手先を保持している。例えば、入手先はＵＲＬやパス名でもよい。入手先は、プリンタドライバ自身が保持してもよいし、プリンタが保持していて、表示時にプリンタドライバがプリンタから取得しても良い。プリンタドライバの動作は実施形態１と同様で、ステップＳ６０９及びステップＳ８０９の通知処理のみが異なる。
【０１３６】
そこで、この通知処理の詳細について、図１８を用いて説明する。
【０１３７】
図１８は本発明の実施形態５の通知処理の詳細を示すフローチャートである。尚、図１８の処理は、図９及び図１１にて警告通知部が警告すべきと判断した場合に実行される。
【０１３８】
尚、実施形態５の図１８のフローチャートは、実施形態４の図１６のフローチャートとほぼ同じであるので、相違点のみ説明する。
【０１３９】
ステップＳ１８０９（実施形態４の図１６のステップＳ１６０９に相当）で、ドライバ制御部１０４１は、ＯｔｈｅｒＰｏｒｔＰｒｎＩｎｆｏがあるか否かを判定する。ＯｔｈｅｒＰｏｒｔＰｒｎＩｎｆｏがないと判定された場合（ステップＳ１８０９でＮＯ）、ステップＳ１８１１に進む。
【０１４０】
ステップＳ１８１１で、例えば、選択されたプリンタドライバが、ＧＤＩプリンタドライバの場合、警告通知部１０４６は、図１９（ａ）に示すメッセージボックスを表示する。一方、ＸＰＳプリンタドライバの場合、警告通知部１０４６は、図１９（ｂ）に示すメッセージボックスを表示する。つまり、プリンタドライバは、適切なプリンタドライバの入手先に関する情報を保持しているため、インストールされていないと判定された場合、適切なプリンタドライバの入手先を読み出すことによりＳ１８１１の処理が実現される。
【０１４１】
以上説明したように、実施形態５によれば、現在選択されているプリンタドライバと対応するプリンタドライバがインストールされていないと判断された場合、インストールすべきプリンタドライバの入手先のＵＲＬを通知することができる。つまり、プリンタドライバは、適切なプリンタドライバがインストールされていない場合、確認情報として、適切なプリンタドライバの入手先を示す情報を出力する。よって、ユーザは表示された入手先に従って適切なプリンタドライバをインストールすることが可能となる。
【０１４２】
＜実施形態６＞
実施形態５では、適切なプリンタドライバがインストールされていない場合、プリンタドライバの入手先をユーザに通知していたが、これに限定されない。例えば、プリンタドライバがＵＩを表示しながらインストールが可能なプリンタドライバであれば、適切なプリンタドライバを表示するだけでなく、インストールをユーザに実行させることも可能である。プリンタドライバの動作は実施形態１と同様で、ステップＳ６０９及びステップＳ８０９の通知処理のみが異なる。
【０１４３】
そこで、この通知処理の詳細について、図２０を用いて説明する。
【０１４４】
図２０は本発明の実施形態６の通知処理の詳細を示すフローチャートである。尚、図２０の処理は、図９及び図１１にて警告通知部が警告すべきと判断した場合に実行される。また、実施形態５と同様に、プリンタドライバは実施形態３のワーク領域に加えて、プリンタドライバの入手先を保持しているとする。
【０１４５】
ここで、実施形態６の図２０のフローチャートは、実施形態５の図１８のフローチャートとほぼ同じであるので、相違点のみ説明する。
【０１４６】
ステップＳ２０１０（実施形態５のステップＳ１８１０に相当）で、プリンタドライバはインストールされているがポートが異なることを通知する。このとき、例えば、ＧＤＩプリンタドライバの場合は、図２１（ａ）に示すメッセージボックスを表示する。一方、ＸＰＳプリンタドライバの場合は、図２１（ｂ）に示すメッセージボックスを表示する。
【０１４７】
さらに、ステップＳ２０１１で、ユーザにプリンタを追加するかどうかを問い合わせる。ステップＳ２０１１で、図２１のＵＩで問い合わせた結果、ユーザにプリンタを追加するか否かを判定する。ここでは、ドライバ制御部１０４１が、プリンタを追加することが選択された（ＯＫボタンが押された）と認識した場合、ＯｔｈｅｒＰｏｒｔＰｒｎＩｎｆｏに保持されているプリンタドライバのポートを変更する。
【０１４８】
つまり、ドライバ制御部１０４１は、現在選択されているプリンタドライバとプリンタドライバ名及びポートで一致するようにＯｔｈｅｒＰｏｒｔＰｒｎＩｎｆｏのプリンタドライバ情報を変更してから追加する。一方、キャンセルボタンが押された場合は追加しないと判定する。
【０１４９】
判定の結果、プリンタを追加する場合（ステップＳ２０１１でＹＥＳ）、ステップＳ２０１２に進み、プリンタの追加を行い、処理を終了する。一方、プリンタを追加しない場合（ステップＳ２０１１でＮＯ）、処理を終了する。
【０１５０】
一方、ＯｔｈｅｒＰｏｒｔＰｒｎＩｎｆｏがない場合（ステップＳ２００９でＮＯ）、ステップＳ２０１３で、例えば、ＧＤＩプリンタドライバの場合は、図２２（ａ）に示すメッセージボックスを表示する。一方、ＸＰＳプリンタドライバの場合は、図２２（ｂ）に示すメッセージボックスを表示する。
【０１５１】
ステップＳ２０１４で、プリンタをインストールするか否かを判定する。ここでは、ＯＫボタンが押されたと判定された場合、適切なプリンタドライバをインストールし、キャンセルボタンが押された場合はインストールしないと判定する。
【０１５２】
判定の結果、プリンタをインストールする場合（ステップＳ２０１４でＹＥＳ）、ステップＳ２０１５に進み、ドライバ制御部１０４１は、ドライバ情報保持部１０４３から入手先情報を取得し、その入手先に従って適切なプリンタドライバをインストールする。一方、プリンタをインストールしない場合（ステップＳ２０１４でＮＯ）、処理を終了する。
【０１５３】
以上説明したように、実施形態６によれば、適切なプリンタドライバがインストールされていない場合、確認情報として、適切なプリンタドライバのインストールの実行を確認する。よって、ユーザは適切なプリンタドライバ情報を認識していなくても、適切なプリンタドライバをインストールすることが可能となる。
【０１５４】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１５５】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１５６】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１５７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１５８】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１５９】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１６０】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１６１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１６２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１６３】
【図１】一般的な印刷制御システムの全体を示すブロック図である。
【図２】Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａの印刷システムの全体を示すブロック図である。
【図３】Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａにおけるグラフィクスエンジンの連携の仕組みを説明するブロック図である。
【図４】本発明の実施形態１のコンピュータを含むプリンタ制御システムの構成を説明するブロック図である。
【図５】本発明の実施形態１のＷｉｎＦｘアプリケーションからＧＤＩプリンタドライバを起動したときのシーケンス図である。
【図６】本発明の実施形態１の警告表示ＵＩの画面例である。
【図７】本発明の実施形態１のＷｉｎ３２アプリケーションからＸＰＳプリンタドライバを起動したときのシーケンス図である。
【図８Ａ】本発明の実施形態１のＸＰＳプリンタドライバの構成を示す図である。
【図８Ｂ】本発明の実施形態１のプリンタドライバ内部の機能構成を示すブロック図である。
【図９】本発明の実施形態１のＧＤＩプリンタドライバの動作を示すフローチャートである。
【図１０】本発明の実施形態のステップＳ６０９の処理の詳細を示すフローチャートである。
【図１１】本発明の実施形態１のＸＰＳプリンタドライバの動作を示すフローチャートである。
【図１２】本発明の実施形態２の通知処理の詳細を示すフローチャートである。
【図１３】本発明の実施形態２の適切なドライバ名を通知するＵＩの画面例である。
【図１４】本発明の実施形態３の通知処理の詳細を示すフローチャートである。
【図１５】本発明の実施形態３の適切なドライバがインストールされていることを通知するＵＩの画面例である。
【図１６】本発明の実施形態４の通知処理の詳細を示すフローチャートである。
【図１７】本発明の実施形態４の適切なドライバのポートが異なることを通知するＵＩの画面例である。
【図１８】本発明の実施形態５の通知処理の詳細を示すフローチャートである。
【図１９】本発明の実施形態５の適切なドライバの入手先を通知するＵＩの画面例である。
【図２０】本発明の実施形態６の通知処理の詳細を示すフローチャートである。
【図２１】本発明の実施形態６の適切なドライバによるプリンタの追加を問い合わせるＵＩの画面例である。
【図２２】本発明の実施形態６の適切なドライバのプリンタインストールを問い合わせるＵＩの画面例である。
【符号の説明】
【０１６４】
１  ＣＰＵ
２  ＲＡＭ
３  ＲＯＭ
４  システムバス
５  ＫＢＣ（キーボードコントローラ）
６  ＣＲＴＣ（ＣＲＴコントローラ）
７  ＤＫＣ（ディスクコントローラ）
８  ＰＲＴＣ（プリンタコントローラ）
９  ＫＢ（キーボード）
１０  ＣＲＴ
１１  外部メモリ
１２  ＣＰＵ
１３  ＲＯＭ
１４  外部メモリ
１５  システムバス
１６  印刷部Ｉ／Ｆ
１７  印刷部
１８  入出力部
１９  ＲＡＭ
２０  ＭＣ（メモリコントローラ）
２１  双方向インタフェース
１０００  プリンタ制御部
１５００  プリンタ
１５０１  操作部
３０００  ホストコンピュータ
【図１】
0004785577.tif 000002
【図２】
0004785577.tif 000003
【図３】
0004785577.tif 000004
【図４】
0004785577.tif 000005
【図５】
0004785577.tif 000006
【図６】
0004785577.tif 000007
【図７】
0004785577.tif 000008
【図８Ａ】
0004785577.tif 000009
【図８Ｂ】
0004785577.tif 000010
【図９】
0004785577.tif 000011
【図１０】
0004785577.tif 000012
【図１１】
0004785577.tif 000013
【図１２】
0004785577.tif 000014
【図１３】
0004785577.tif 000015
【図１４】
0004785577.tif 000016
【図１５】
0004785577.tif 000017
【図１６】
0004785577.tif 000018
【図１７】
0004785577.tif 000019
【図１８】
0004785577.tif 000020
【図１９】
0004785577.tif 000021
【図２０】
0004785577.tif 000022
【図２１】
0004785577.tif 000023
【図２２】
0004785577.tif 000024