(57)【要約】【課題】  複数のプログラムモジュールが協働して所定の機能を実現する構成において容易にバージョンを整合させることができるように改善を行うことが望まれていた。【解決手段】  アプリケーションプログラムから指示された処理をプログラムモジュールに実行させるにあたり、上記アプリケーションプログラムから、所定の処理の実行指示を取得し、上記所定の処理を実行する複数のバージョンのプログラムモジュールから、上記実行指示がなされた処理を実行するプログラムモジュールを選択し、当該選択されたプログラムモジュールに上記所定の処理を実行させる。【選択図】  図１
2006268752.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムから指示された処理をプログラムモジュールに実行させるための中間処理装置であって、
上記アプリケーションプログラムから、所定の処理の実行指示を取得する実行指示取得手段と、
上記所定の処理を実行する複数のバージョンのプログラムモジュールから、上記実行指示がなされた処理を実行するプログラムモジュールを選択するモジュール選択手段と、
当該選択されたプログラムモジュールに上記所定の処理を実行させる実行制御手段とを備えることを特徴とする中間処理装置。
【請求項２】
上記複数のバージョンのプログラムモジュールは、あるバージョンのプログラムのモジュールとそれより古いバージョンのプログラムモジュールとの少なくとも２つのバージョンが存在し、これらのいずれかまたは組み合わせが実行可能な状態であることを特徴とする上記請求項１に記載の中間処理装置。
【請求項３】
上記所定の処理は、コンピュータの周辺機器に関する所定の問い合わせとこの問い合わせに対する返答を行う処理であることを特徴とする上記請求項１または請求項２のいずれかに記載の中間処理装置。
【請求項４】
上記プログラムモジュールは、コンピュータの周辺機器の制御プログラムに対して問い合わせを行い、この制御プログラムからの返答を取得して上記アプリケーションプログラムに対して返答することを特徴とする上記請求項１〜請求項３のいずれかに記載の中間処理装置。
【請求項５】
上記実行指示取得手段はコンピュータの周辺機器の指定とともに上記実行指示を受け付け、上記モジュール選択手段は指定された周辺機器に対応づけられたプログラムモジュールを選択することを特徴とする上記請求項１〜請求項４のいずれかに記載の中間処理装置。
【請求項６】
所定の処理を他のプログラムモジュールに実行させる情報処理装置であって、
複数のバージョンのプログラムモジュールから実行すべきプログラムモジュールを選択するための処理が実行可能であるか否かを判断する実行可否判断手段と、
実行可能であると判断されないときに、特定のバージョンのプログラムモジュールが実行可能であるか否かを判断し、当該特定のバージョンのプログラムモジュールに上記所定の処理を実行させる特定モジュール起動手段とを備えることを特徴とする情報処理装置。
【請求項７】
アプリケーションプログラムから指示された処理をプログラムモジュールに実行させるための中間処理方法であって、
上記アプリケーションプログラムから、所定の処理の実行指示を取得する実行指示取得工程と、
上記所定の処理を実行する複数のバージョンのプログラムモジュールから、上記実行指示がなされた処理を実行するプログラムモジュールを選択するモジュール選択工程と、
当該選択されたプログラムモジュールに上記所定の処理を実行させる実行制御工程とを備えることを特徴とする中間処理方法。
【請求項８】
所定の処理を他のプログラムモジュールに実行させる情報処理方法であって、
複数のバージョンのプログラムモジュールから実行すべきプログラムモジュールを選択するための処理が実行可能であるか否かを判断する実行可否判断工程と、
実行可能であると判断されないときに、特定のバージョンのプログラムモジュールが実行可能であるか否かを判断し、当該特定のバージョンのプログラムモジュールに上記所定の処理を実行させる特定モジュール起動工程とを備えることを特徴とする情報処理方法。
【請求項９】
アプリケーションプログラムから指示された処理をプログラムモジュールに実行させるための中間処理プログラムであって、
上記アプリケーションプログラムから、所定の処理の実行指示を取得する実行指示取得機能と、
上記所定の処理を実行する複数のバージョンのプログラムモジュールから、上記実行指示がなされた処理を実行するプログラムモジュールを選択するモジュール選択機能と、
当該選択されたプログラムモジュールに上記所定の処理を実行させる実行制御機能とをコンピュータに実現させることを特徴とする中間処理プログラム。
【請求項１０】
所定の処理を他のプログラムモジュールに実行させる情報処理プログラムであって、
複数のバージョンのプログラムモジュールから実行すべきプログラムモジュールを選択するための処理が実行可能であるか否かを判断する実行可否判断機能と、
実行可能であると判断されないときに、特定のバージョンのプログラムモジュールが実行可能であるか否かを判断し、当該特定のバージョンのプログラムモジュールに上記所定の処理を実行させる特定モジュール起動機能とをコンピュータに実現させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のバージョンに対応したモジュールの起動に関する。
【背景技術】
【０００２】
コンピュータで利用されるアプリケーションプログラムは、その機能追加やアプリケーションプログラムによって制御する周辺機器の機能追加等に伴ってバージョンアップがなされる。従来、バージョンアップに際しては、古いバージョンのアプリケーションプログラムを一旦削除して、新しいバージョンのプログラムをインストールしたり、古いバージョンのプログラムを新しいバージョンのプログラムで行使するなどしていた（例えば、特許文献１）。
【特許文献１】特開２００３−２５６２１２号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の技術においては、複数のプログラムモジュールが協働して所定の機能を実現する構成において容易にバージョンを整合させることができるように改善を行うことが望まれていた。すなわち、あるアプリケーションプログラムのみに着目した場合、バージョンの変更は、インストーラ等によって容易に実行可能であるが、アプリケーションプログラムと周辺機器のドライバプログラムと両者の仲介を行う中間プログラムとを利用する場合など、複数のプログラムモジュールが協働する場合には、これらのバージョンを整合させることが困難であった。
【０００４】
例えば、周辺機器を提供するメーカーが上記ドライバプログラムと中間プログラムとを提供する際には、両者におけるバージョンの整合は容易である。しかし、複数のメーカーが提供する複数のアプリケーションプログラムの処理について中間プログラムが仲介を行う場合には、両者の整合を行うことが困難である。すなわち、ドライバプログラムおよび中間プログラムのバージョン改訂に伴って、総てのアプリケーションプログラムのメーカーにアプリケーションプログラムの変更を要請することは困難である。また、新しいバージョンのアプリケーションプログラムを利用するとしても、ユーザがドライバプログラムおよび中間プログラムのバージョンアップをしない場合には、やはり両者は整合しない。このように、バージョンの整合がなされていないと、プログラムの実行が不可能になる場合がある。
本発明は、上記課題にかんがみてなされたもので、複数のプログラムモジュールが協働して所定の機能を実現する構成においてバージョンにかかわらずプログラムの実行を可能にすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため本発明では、アプリケーションプログラムから所定の処理の実行指示がなされたときに、複数のバージョンのプログラムモジュールからプログラムモジュールを選択して当該所定の処理を実行させる。従って、複数のバージョンのプログラムモジュールが混在し得る状況であっても、当該所定の処理を実行可能なプログラムモジュールを選択し、所定の処理を実行させることができる。この結果、適切なバージョンのプログラムモジュールを起動し、確実に上記所定の処理を実行することが可能になる。
【０００６】
ここで、アプリケーションプログラムは、コンピュータに各種の処理を実行させるプログラムであれば良く、処理の目的や動作は特に限定されない。但し、本発明においては、各種処理の一つとして他のプログラムモジュールに指示を行い、その処理を行わせるような処理が存在する。すなわち、本発明にかかる中間処理装置は、アプリケーションプログラムと協働する他のプログラムモジュールを起動する。このとき、アプリケーションプログラムのバージョンとプログラムモジュールのバージョンとが整合していない場合には、上記所定の処理を実行できない場合がある。
【０００７】
例えば、バージョンアップによって新しい処理が追加された場合、この処理を実行するためにはアプリケーションプログラムから当該新しい処理の実行指示を行い、バージョンアップされたプログラムモジュールでこの処理を実行する。ここで、古いバージョンのアプリケーションプログラムから新しい処理の実行指示を行うことができなければ、新しいバージョンのプログラムモジュールによって上記新しい処理を実行することはできない。
【０００８】
しかし、最新のバージョンにおける動作を保証するために、古いバージョンのプログラムを削除し、最新のバージョンのアプリケーションプログラムと最新のバージョンのプログラムモジュールとを実行可能にするのみでは、それ以前のバージョンにおける処理が実行可能であることは補償されない。そこで、複数のバージョンのプログラムモジュールを併用可能に構成すると、アプリケーションプログラムとプログラムモジュールとのバージョンに不整合が生じ得る。そこで、複数のバージョンのプログラムモジュールが併存し得るように構成し、上記実行指示がなされた所定の処理を実行可能なプログラムモジュールをモジュール選択手段によって選択することにより、新旧、複数のバージョンのプログラムモジュールを併用することが可能になる。
【０００９】
すなわち、古いバージョンのプログラムモジュールのみにて実現される処理が存在する場合、新しいバージョンのプログラムモジュールと古いバージョンのプログラムモジュールとを併存させなければ古いバージョンのプログラムモジュールによって実現される処理を実行することができない。例えば、各バージョンのプログラムモジュールによって各種の周辺機器を制御し、各周辺機器の機種に各バージョンのプログラムモジュールが対応している場合、最新の機種に対応しているプログラムモジュールのみを実行可能にすると、古いバージョンのプログラムモジュールに対応している周辺機器を使用することができない。従って、以上の効果は、複数のバージョンのプログラムモジュールが実行可能に構成されている場合に特に顕著に現れる。
【００１０】
また、アプリケーションプログラムをバージョンアップしたが、プログラムモジュールをバージョンアップしていない場合にも有効である。すなわち、各プログラムモジュールのバージョンアップにおいて、旧バージョンの総ての処理および新たな処理を実施可能なプログラムモジュールを作成することを想定する。この場合、新旧バージョンで共通の処理を実施可能であるが、当該共通の処理の実行指示がなされたときに、バージョンアップ後のプログラムモジュールが実行可能であることを要請すると、新たに追加された処理のみならず共通の処理も実施することができない。
【００１１】
しかし、プログラムモジュールのバージョンアップをしていないとしても、旧バージョンのプログラムモジュールに処理を実行させれば、当該共通の処理を実行させることができる。従って、新たなバージョンのプログラムモジュールが存在しないときに、モジュール選択手段によって旧バージョンのプログラムモジュールを選択し、処理を実行させることで、プログラムモジュールをバージョンアップしていない場合であっても、上記共通の処理を実行することが可能である。
【００１２】
上記実行指示取得手段においては、上記プログラムモジュールで実行可能な処理のいずれかを実行させるための指示を取得すればよい。この指示は特に限定されず、各種の指示を採用可能である。例えば、アプリケーションプログラムによって印刷時のＵＩを表示するために、ＵＩに表示すべき項目について表示すべき選択肢を取得するための処理等を採用可能である。本発明では、アプリケーションプログラムと別のプログラムモジュールにて処理を実行することを想定しているため、本発明における実体的な処理はアプリケーションプログラムとは別に完結されることが好ましい。その一例としては、当該プログラムモジュールと他のプログラムモジュール（例えば、周辺機器の制御プログラム（ドライバプログラム））とが協働して処理を実行するような場合が挙げられる。
【００１３】
モジュール選択手段は、複数のバージョンのプログラムモジュールから、実行指示がなされた処理を実行するプログラムモジュールを選択することができれば良い。ここで、プログラムモジュールを選択するための基準は、各種の基準を採用可能である。例えば、アプリケーションプログラムから取得する実行指示とともに処理の実行対象（例えば、周辺機器）の指示を受け付け、この実行対象に対応したプログラムモジュールを選択する構成を採用可能である。
【００１４】
他にも、実行可能なプログラムモジュールの中で最新のものを選択したり、アプリケーションプログラムのバージョンに対応したバージョンのプログラムモジュールを検索して選択しても良い。さらに、各処理の内容に応じて、各処理を実行可能なプログラムモジュールを抽出して選択しても良く、種々の手法を採用可能である。実行制御手段においては、このようにして選択したプログラムモジュールに対して処理を実行させる指示を行えばよい。
【００１５】
本発明の適用対象としては、種々の状況が想定されるが、特に好ましい状況として、あるバージョンのプログラムのモジュールとそれより古いバージョンのプログラムモジュールとの少なくとも２つのバージョンが存在し、これらのいずれかまたは組み合わせが実行可能な状態である場合を想定可能である。すなわち、新旧、少なくとも２つのバージョンが存在し、双方が実行可能であれば、少なくとも２つのバージョンが併存している状況下で、モジュール選択手段にて適切なバージョンを選択して実行させることができる。
【００１６】
旧バージョンのみが実行可能であれば、旧バージョンに対応したアプリケーションプログラムからの実行指示に対応して処理を実行させることが可能であるし、新バージョンに対応したアプリケーションプログラムからの実行指示であっても、新旧バージョンに共通の処理については、実行させることが可能である。新バージョンのみが実行可能であれば、新バージョンに対応したアプリケーションプログラムからの実行指示に対応して処理を実行させることが可能である。この場合、旧バージョンに対応したアプリケーションプログラムからの実行指示に対応して処理を実行させることはできないが、エラー等を出力することにより、実施不可能であることを明示することは可能である。
【００１７】
上記所定の処理の好ましい例としては、コンピュータの周辺機器に関する所定の問い合わせとこの問い合わせに対する返答を行う処理が挙げられる。すなわち、アプリケーションプログラムにおいて周辺機器に関する処理を実行する際には、周辺機器にて実行可能な処理を把握した上でその中の処理を選択することがある。この場合、アプリケーションプログラムにて予め当該実行可能な処理の総てを把握することは困難であるため、実行可能な処理を指示する際に問い合わせを行うことが多い。
【００１８】
例えば、所定のＵＩを表示させるに際して、ＵＩに表示すべき項目について表示すべき選択肢を取得するために問い合わせを行う。この問い合わせの返答は周辺機器毎に異なり得るので、プログラムモジュールを介して問い合わせを行うことにより、周辺機器毎に正確な情報を取得することが可能である。また、周辺機器とプログラムモジュールのバージョンは対応していることが多い。すなわち、ある周辺機器の機能向上に伴って機種が変更されたときにプログラムモジュールがバージョンアップされることがある。従って、本発明のようにプログラムモジュールを選択可能に構成することにより、周辺機器における種々の機種に対応した処理を実行可能である。
【００１９】
上記周辺機器としては、コンピュータに接続されて駆動される機器であればよく、種々の機器がこの周辺機器に該当する。例えば、コンピュータに接続されて画像の出力動作を行うプリンタやディスプレイ，プロジェクタ等の出力機器や、コンピュータに接続されて画像の入力動作を行うスキャナやデジタルカメラ等の入力機器や、コンピュータに接続されたデータの記録動作を行うハードディスクドライブ等の記録機器等、種々の機器が周辺機器となり得る。
【００２０】
上述の例においてＵＩに表示すべき項目は、周辺機器にて実行可能な処理に対応しており、通常は、周辺機器を制御するための制御プログラム（ドライバプログラム）に対して問い合わせを行うか、周辺機器と通信を行うことによって上記項目に関する情報を取得可能である。従って、プログラムモジュールにおいては、ドライバプログラムや周辺機器に対して問い合わせを行い、その返答を取得し、さらにアプリケーションプログラムに対して返答を返すように構成すればよい。
【００２１】
尚、アプリケーションプログラムから、直接、ドライバプログラムに対する問い合わせを行うことも想定し得るが、この構成においては、アプリケーションプログラムに対する問い合わせのフォーマットや問い合わせに対する返答のフォーマットが常に一致している必要がある。従って、ドライバプログラムのバージョンアップに伴ってアプリケーションプログラムの変更が必要になり得る。
【００２２】
しかし、本発明のように、プログラムモジュールによってアプリケーションプログラムとドライバプログラムとの仲介を行うことにより、アプリケーションプログラムからプログラムモジュールへの問い合わせおよび返答のフォーマットを常に同じフォーマットにすることができる。すなわち、ドライバプログラムが変更された場合には、プログラムモジュールの変更によって対応することができる。この構成は、ドライバプログラムとプログラムモジュールとを作成するメーカーが同じメーカーであり、アプリケーションプログラムは多数のメーカーによって提供される場合に好適である。
【００２３】
さらに、プログラムモジュールが周辺機器に関する処理を行う場合に好適な構成として、上記実行指示取得手段においてコンピュータの周辺機器の指定とともに上記実行指示を受け付ける構成を採用可能である。かかる構成によれば、上記モジュール選択手段は、容易に指定された周辺機器に対応づけられたプログラムモジュールを選択することができる。すなわち、プログラムモジュールのバージョンが周辺機器と一対一に対応している場合に、周辺機器に基づいてプログラムモジュールを選択すれば、確実に適切なプログラムモジュールを選択することができる。尚、アプリケーションプログラムによって周辺機器に関する処理を実施する際には、処理の実行指示とともに周辺機器を指定するのが通常であるため、通常の処理において実施される情報のみを利用して上述の構成を実現することが可能である。
【００２４】
さらに、本発明にかかる中間処理装置と協働するアプリケーションプログラムを実行する情報処理装置として、上述のモジュール選択手段に相当する処理が実行可能であるか否かを判定し、実行不能であるときに、既存のバージョンのプログラムモジュールに対して処理の実行指示を与える構成を採用することが可能である。すなわち、本発明にかかるモジュール選択手段が実施可能でない場合（モジュール選択手段に相当するプログラムがインストールされていない場合等）であっても、古いバージョンのプログラムモジュールが実行可能である場合がある。このような状況は古いバージョンのプログラムモジュールが実行可能であり、アプリケーションプログラムから直接呼び出して実行可能である場合に発生し得る。
【００２５】
そこで、実行可否判断手段において、複数のバージョンのプログラムモジュールから実行すべきプログラムモジュールを選択するモジュール選択手段が実行可能であるか否か判別する。モジュール選択手段が実行可能でない場合には、特定のバージョンのプログラムモジュールが実行可能であるか否かを判断し、当該特定のバージョンのプログラムモジュールに上記所定の処理を実行させる。この結果、モジュール選択手段が実行不可能であるが、特定のバージョンのプログラムモジュールが実行可能であれば、そのプログラムモジュールに所定の処理を実行させることが可能である。
【００２６】
ところで、上述した中間処理装置や情報処理装置は、単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としては各種の態様を含むものであって、適宜、変更可能である。また、複数のバージョンのプログラムモジュールのいずれかを選択して起動する手順に発明が存在するとも言える。したがって、本発明は方法としても適用可能であり、請求項７，請求項８にかかる発明においても、同様の作用となる。また、本発明を実施しようとする際に、コンピュータにて所定のプログラムを実行させる場合もある。従って、本発明は、そのプログラムとしても適用可能であり、請求項９，請求項１０にかかる発明においても、同様の作用となる。
【００２７】
むろん、請求項２〜請求項５に記載された構成を上記方法やプログラムに対応させることも可能である。また、いかなる記憶媒体もプログラムを提供するために使用可能である。例えば、磁気記録媒体や光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一部がソフトウェアであって、一部がハードウェアで実現される場合においても本発明の思想において全く異なるものではなく、一部を記録媒体上に記録しておいて必要に応じて適宜読み込む形態のものも含まれる。さらに、一次複製品、二次複製品などの複製段階についても同等である。
【発明を実施するための最良の形態】
【００２８】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）印刷制御装置の構成：
（２）印刷制御処理およびＵＩ表示例：
（２−１）設定可能範囲取得処理：
（３）他の実施形態：
【００２９】
（１）印刷制御装置の構成：
図１は、本発明の一実施形態にかかる印刷制御装置の概略構成を示している。本実施形態ではコンピュータ１０の機能の一部によって印刷制御装置が実現される。コンピュータ１０は演算処理の中枢をなすＣＰＵ１１を備えており、このＣＰＵ１１はシステムバス１０ａを介してコンピュータ１０全体の制御を行う。同システムバス１０ａには、ＲＯＭ１２、ＲＡＭ１３、ＵＳＢＩ／Ｆ１４やハードディスクドライブ（ＨＤＤ）１５，図示しないＣＲＴＩ／Ｆや入力機器Ｉ／Ｆ等が接続されている。
【００３０】
ハードディスクドライブ１５には、ソフトウェアとしてオペレーティングシステム（ＯＳ）等のプログラムが格納されており、また、必要に応じて各種プログラムをインストールして格納することができる。これらのソフトウェアは、実行時にＣＰＵ１１によって適宜ＲＡＭ１３に転送される。ＣＰＵ１１は、ＲＡＭ１３を一時的なワークエリアとして適宜アクセスしながらＯＳの制御下で種々のプログラムを実行する。
【００３１】
本実施形態においては、ＨＤＤ１５に格納するプログラムやデータがツリー構造のフォルダによって管理され、予め決められたフォルダに対してプログラムやデータを格納する。図１に示す例では、アプリケーションプログラム（ＡＰＬ３１）に関するプログラムおよびデータがアプリケーションフォルダ３０に格納され、プリンタドライバ（ＰＲＴＤＲＶ２１ａ，２１ｂ）に関するプログラムおよびデータがドライバフォルダ２０に格納され、ＯＳに関するプログラムおよびデータがシステムフォルダ３５に格納されている例を示している。
【００３２】
各プログラムおよびデータの格納場所は、予め決められていれば良く、各プログラムおよびデータの格納場所は限定されるわけではない。例えば、ＯＳの提供者が設定した規則に従って格納場所を決めたり、プログラムの提供者が予め格納場所を決めればよい。いずれにしても、プログラムおよびデータが必要とされるときに適切なプログラムおよびデータを読み出すことができればよい。
【００３３】
入力機器Ｉ／Ｆには、キーボード１６やマウス１７が操作用入力機器として接続される。また、ＣＲＴＩ／Ｆには、表示用のディスプレイ１８が接続されている。従って、コンピュータ１０では、キーボード１６やマウス１７による操作内容を受け付け、また、ディスプレイ１８に各種情報を表示することが可能である。さらに、ＵＳＢＩ／Ｆ１４には、プリンタ４０ａ，４０ｂが接続されており、コンピュータ１０が出力するデータに基づいて画像を印刷することが可能である。むろん、プリンタ４０ａ，４０ｂとの接続Ｉ／ＦはＵＳＢＩ／Ｆに限られる必要もなく、パラレルＩ／Ｆ，シリアルＩ／Ｆ，ＳＣＳＩ接続など種々の接続態様を採用可能であるし、今後開発されるいかなる接続態様であっても同様である。
【００３４】
ＡＰＬ３１は予め決められた各種の処理を実行するプログラムであり、その処理の一つとして、ＡＰＬ３１で扱う画像や文書等をプリンタ４０ａ，４０ｂにて印刷させるための処理を行う。本実施形態においては、印刷実行を指示する前に所定のＵＩを表示し、ＵＩでの指示に従って印刷を実行させる。このＵＩでは、プリンタ４０ａ，４０ｂにおける各種印刷条件を設定可能であり、印刷条件として設定可能な項目（印刷条件項目）を表示するとともに各項目の設定可能範囲内で印刷条件を変更可能である。
【００３５】
印刷条件項目は、印刷を実行するために必要な複数の条件の項目であり、印刷解像度，インクの種類（カラー、モノクロの選択やインクセット（インク色の組み合わせ）の選択），印刷媒体の種類やサイズ，印刷時のレイアウト，縁なし印刷の可否，印刷品質（きれい、はやい等），カラーマネジメントの種類（自動調整の可否やディスプレイの色域を超えた色の使用可否等），双方向印刷の可否，ドライバによる画像処理の可否等、ＰＲＴＤＲＶ２１ａ，２１ｂに対して設定可能な種々の印刷条件項目がある。尚、本実施形態においては、上述のように印刷解像度やインクの種類など、項目毎に印刷条件を設定するようになっているため異なる印刷条件を項目として区別する。また、各印刷条件の設定内容はその内容に対応した数値（設定値）で特定するようになっており、この数値を項目値と呼ぶ。
【００３６】
印刷条件項目において設定可能な項目値は他の印刷条件項目の項目値に依存している場合があり、この場合、ある項目値を設定したことによって他の印刷条件項目で設定可能な項目値の範囲が変動する（依存関係がある）。そこで、ＡＰＬ３１は、各項目値が設定された状態での設定可能範囲を取得し、ある項目値を設定したことによって設定可能範囲に影響がある他の印刷条件項目についてＵＩの表示を更新する。すなわち、取得した設定可能範囲のデータに従ってＵＩ表示上の設定可能範囲を変動させる。
【００３７】
ＡＰＬ３１においては、上記設定可能範囲を取得するため、他のモジュールに設定可能範囲を問い合わせることが可能であり、この処理を行うためにアプリケーションフォルダ３０には検出モジュール３２が格納されている。尚、検出モジュール３２はＡＰＬ３１から呼び出されることによって実行され、ＡＰＬ３１からの問い合わせに対して返答を行うためのモジュールが存在するか否かを検出するモジュールである。本実施形態においては、ＡＰＬ３１と検出モジュール３２とを別個のプログラムモジュールとして構成しているが、むろん、両者を一つのモジュールとして構成しても良い。
【００３８】
本実施形態において、コンピュータ１０には、異なる機種のプリンタ４０ａ，４０ｂが接続可能であり、各プリンタ４０ａ，４０ｂは、各機種に対応したＰＲＴＤＲＶ２１ａ，２１ｂによって制御される。ＰＲＴＤＲＶ２１ａ，２１ｂは、プリンタ４０ａ，４０ｂのそれぞれを制御するとともに、各プリンタにおける設定可能範囲を取得することが可能である。ここでは、各プリンタにおける設定可能範囲を取得することができればよいが、本実施形態においては、ＰＲＴＤＲＶ２１ａ，２１ｂのインストール時に予め作成されたプリンタ能力データ１５ａを参照して設定可能範囲を取得するようになっている。
【００３９】
図２は、プリンタ能力データ１５ａのデータ記述例を示す図である。同図に示すようにプリンタ能力データ１５ａにはプリンタ名、ドライババージョン、インクセット、設定可能範囲を示すデータが記述されている。設定可能範囲は”対象項目ｎ，上位項目の項目数ｍ，上位項目ｎ１およびその項目値，，，上位項目ｍｌおよびその項目値，設定可能範囲”を示すデータを順に記述する書式となっている（ｍ，ｎ，ｌは０もしくは自然数）。
【００４０】
これにより、上位依存関係（上位項目の項目値によって設定可能範囲が変動し得ること）にある項目値が特定の値であるときの対象項目の設定可能範囲を特定しており、例えば、対象項目ｎが印刷品質、上位項目が印刷媒体の種類、上位項目数ｍが一つの場合であって印刷媒体の種類の項目値が”１”のときに印刷品質の項目値が”２，３”である場合、”印刷品質，１，印刷媒体の種類＝１，２，３”と記述することになる。尚、各項目値については、予めその値によって設定内容（例えば、印刷品質の項目値”１”のとき、高品質など）が決められている。むろん、このプリンタ能力データ１５ａの構成は一例であり、設定可能範囲を取得することができる限りにおいて、各種の構成を採用可能である。
【００４１】
また、プリンタ能力データ１５ａがＰＲＴＤＲＶ２１ａ，２１ｂのインストール時点で作成されることは必須ではないし、プリンタ能力データ１５ａを予め作成するのではなく、設定可能範囲を取得する際にＰＲＴＤＲＶ２１ａ，２１ｂが各プリンタ４０ａ，４０ｂに問い合わせる構成としても良い。
【００４２】
本実施形態において、設定可能範囲の問い合わせは、設定可能範囲取得モジュール２２および設定可能範囲取得モジュール３６によって実施される。すなわち、設定可能範囲取得モジュール２２および設定可能範囲取得モジュール３６が起動されると、ＵＩの表示に必要な印刷条件項目の設定可能範囲をＰＲＴＤＲＶ２１ａ，２１ｂのそれぞれに問い合わせ、当該設定可能範囲を取得する。取得した設定可能範囲は、ＵＩの表示に利用される。
【００４３】
設定可能範囲取得モジュール２２および設定可能範囲取得モジュール３６は、プリンタの機種に対応しており、各プリンタを制御するためのＰＲＴＤＲＶ２１ａ，２１ｂに対して問い合わせを行う。本実施形態においては、プリンタの機種がＰＲＴＤＲＶ２１ａ，２１ｂのバージョンおよび設定可能範囲取得モジュールのバージョンに対応している。図１において、設定可能範囲取得モジュール２２および設定可能範囲取得モジュール３６が実行可能に構成されているのは、異なる機種のプリンタ４０ａ，４０ｂがコンピュータ１０によって併用されているからである。
【００４４】
また、本実施形態において、設定可能範囲取得モジュール３６は設定可能範囲取得モジュール２２より古いバージョン、すなわち、発売時期が古いプリンタに対応したモジュールであり、設定可能範囲を取得するという意味では同じ機能を備えている。但し、ＰＲＴＤＲＶ２１ｂがＰＲＴＤＲＶ２１ａにバージョンアップされることによって新しい処理を実施することができるように構成する場合には、その点について新しいバージョンである設定可能範囲取得モジュール２２は設定可能範囲取得モジュール３６で実施不可能な処理を実施することが可能である。例えば、プリンタの機能向上によって設定可能範囲が増加した場合や印刷条件の項目が増加した場合、当該増加分の印刷条件の内容や項目値を示すデータを扱えるように構成される。
【００４５】
尚、本実施形態において、設定可能範囲取得モジュール２２および設定可能範囲取得モジュール３６は、対応するＰＲＴＤＲＶ２１ａ，２１ｂをインストールする際に予め決められたフォルダに格納される。従って、図１に示すように設定可能範囲取得モジュール２２および設定可能範囲取得モジュール３６の双方が実行可能である場合には、ＰＲＴＤＲＶ２１ａ，２１ｂの双方がインストール済である。通常、インストールはプリンタ４０ａ，４０ｂのメーカーが提供するＣＤ−ＲＯＭ等の媒体を利用して行われるが、ＯＳの機能によって自動でＰＲＴＤＲＶ２１ａ，２１ｂをインストールすることも可能である。この場合は、設定可能範囲取得モジュール２２および設定可能範囲取得モジュール３６がインストールされないこともあり得る。
【００４６】
上記設定可能範囲取得モジュール３６と設定可能範囲取得モジュール２２とでは設定可能範囲を問い合わせる対象のＰＲＴＤＲＶが異なり、また、ＰＲＴＤＲＶ２１ａ，２１ｂではその処理が異なり得る。このため、本実施形態において、異なるプリンタに対する問い合わせは、異なる設定可能範囲取得モジュールによって実施されるように構成してある。但し、本実施形態において、ＰＲＴＤＲＶ２１ａ，２１ｂは下位互換性を持ち、古いバージョンの設定可能範囲取得モジュールからの問い合わせに対して、より新しいバージョンのＰＲＴＤＲＶは適切に設定可能範囲を返答するようになっている。
【００４７】
いずれにしても、本実施形態において、ＰＲＴＤＲＶのバージョンと設定可能範囲取得モジュールのバージョンとが整合している場合には、対応しているバージョン同士で設定可能範囲の授受を行う。ドライバフォルダには、このようにバージョンを整合させるため、選択モジュール２３が格納されている。すなわち、選択モジュール２３は、設定可能範囲の問い合わせが行われたときに指定されたプリンタに対応した設定可能範囲取得モジュールを選択して実行するようになっている。
【００４８】
また、指定されたプリンタに対応した設定可能範囲取得モジュールが検出されない場合、古いバージョンの設定可能範囲取得モジュールを検索し、実行可能であればそのモジュールを起動する。この構成により、プリンタの機種に対応した適切なバージョンの設定可能範囲取得モジュールが存在する場合にはそのモジュールを起動し、バージョンが整合しないときには、その下位互換性を利用して古いバージョンで実現されていた処理を最低限実現するようにしてある。
【００４９】
むろん、選択モジュール２３においては、ＡＰＬ３１にて実行指示がなされた処理を実行可能な設定可能範囲取得モジュールを選択することができればよいので、プリンタの機種名に基づいて対応する設定可能範囲取得モジュールを選択しても良い。但し、上述のように下位互換性を利用する場合には、最新のバージョンについてのみプリンタの機種名に基づいて対応する設定可能範囲取得モジュールを検出し、古いモジュールについてはモジュールの存在有無を検出する構成を採用することが好ましい。
【００５０】
上述の検出モジュール３２は、上記選択モジュール２３が実行可能であるか否かを検出するモジュールであり、選択モジュール２３が実行可能であることを検出したときには、当該選択モジュール２３を起動する。また、選択モジュール２３が実行可能であることを検出しないときには、設定可能範囲取得モジュール３６が実行可能であるか否かを検出する。すなわち、選択モジュール２３が実行可能でない場合には、最新のバージョンである設定可能範囲取得モジュール２２が存在しない場合であるので、それより古いバージョンである設定可能範囲取得モジュール３６を検索し、設定可能範囲取得モジュール３６が存在すれば起動する。
【００５１】
この構成により、設定可能範囲取得モジュール２２がインストールされてない場合であっても、古いバージョンで実現されていた処理は最低限実現するようにしてある。尚、以上の構成において、各モジュールが実行可能であるか否かを判別するためには、予め決められたフォルダに予め決められたプログラムモジュールが格納されているか否かを判別するなど、種々の構成を採用可能である。
【００５２】
（２）印刷制御処理およびＵＩ表示例：
次に、上記構成における印刷制御処理およびＵＩ表示例を説明する。印刷制御処理は図３に示すフローに従って実施され、図４はこのときに表示されるＵＩの例を示している。利用者は、ＡＰＬ３１によって扱う画像や文書等の印刷指示を行うことができ、ＡＰＬ３１が印刷指示を受け付けると（ステップＳ１００）、ＡＰＬ３１は図示しないＵＩを表示し、当該指示にかかる印刷にて使用するプリンタのプリンタ名を取得する（ステップＳ１０５）。尚、プリンタ名としてはＯＳ２０によって通常使用されるプリンタとして設定されているプリンタの機種名を取得すればよいが、むろん、印刷指示に際して利用者が特定のプリンタを指定したときにはその機種名を取得する。
【００５３】
次に、各印刷条件項目について現在の項目値（現項目値）を取得する（ステップＳ１１０）。ここで、現項目値とは、ステップＳ１１０〜Ｓ１３０におけるループを実施している間に各印刷条件項目について設定されている項目値である。ループの初回であれば、前回の印刷実行時における印刷条件項目の項目値あるいはデフォルト設定されている項目値を現項目値として取得する。また、２回目以降のループ処理であればＵＩの操作によって適宜変更された項目値を現項目値として取得する。
【００５４】
現項目値を取得したら、ＵＩ表示対象項目の設定可能範囲を取得する（ステップＳ１１５）。すなわち、ＵＩ表示対象の全印刷条件項目について上位項目があるか否かを判別し、上位項目が存在する場合にはその上位項目について現項目値を設定し、このように上位項目の項目値を設定した状態でＵＩ表示対象の印刷条件項目がとり得る設定可能範囲を取得する。設定可能範囲を取得するためのモジュールを選択する処理については後述する。
【００５５】
ＵＩ表示対象項目の設定可能範囲を取得したら、当該取得した設定可能範囲を選択可能な選択肢にするとともに、上記現項目値が現在の設定値として設定された状態でＵＩを表示する（ステップＳ１２０）。このＵＩの表示においては、マウス１７等の操作によって項目値の変更を受け付けたか否かを判別する（ステップＳ１２５）。項目値の変更を受け付けたと判別されたときには、その項目の項目値を変更し（ステップＳ１３０）、ステップＳ１１０以降の処理を繰り返す。
【００５６】
この繰り返し処理においては、ステップＳ１３０の項目値の変更によってＵＩ表示対象の印刷条件項目の設定可能範囲が変動したとしても、ステップＳ１１０，Ｓ１１５の処理により適切な設定可能範囲が取得され、ステップＳ１２０のＵＩ表示では選択不能の印刷条件項目を選択可能に表示させることなくＵＩを更新することができる。
【００５７】
本実施形態にかかるＵＩでは、利用者に選択を促す全印刷条件項目のうち一部のみを一画面に表示し、一画面で少数の印刷条件項目を入力しながら画面を逐次切り替えて最終的に印刷実行指示を受け付けるようにしている。そこで、ステップＳ１３５では、画面の切替指示を受け付けたか否かを判別し、画面の切替指示を受け付けたと判別したときにはＵＩ画面を切り替える（ステップＳ１４０）。そして、切り替え後のＵＩ表示対象の印刷条件項目について適切な表示をするため、ステップＳ１１０以降を繰り返す。
【００５８】
ステップＳ１３５にて画面の切替指示を受け付けたと判別しないときには、さらに、印刷実行指示を受け付けたか否かを判別する（ステップＳ１４５）。印刷実行指示を受け付けたと判別したときには、印刷対象の画像データをＰＲＴＤＲＶ２１ａあるいはＰＲＴＤＲＶ２１ｂに対して出力する（ステップＳ１５０）。むろん、このとき、上記ＵＩで設定された印刷条件項目の項目値で印刷を実行する。この結果、ＰＲＴＤＲＶ２１ａ，２１ｂは画像データに対して印刷条件に従った画像処理を施すとともに印刷条件に従って印刷を実行するための印刷データを作成し、プリンタ４０ａ，４０ｂに出力し、印刷を実行する。
【００５９】
図４は、本実施形態におけるＵＩ画面が切り替わる様子を示している。本実施形態にかかるＵＩでは、利用者に選択を促す全印刷条件項目のうち一部のみを一画面に表示し、一画面で少数の印刷条件項目を入力しながら画面を逐次切り替えて最終的に印刷実行指示を受け付けるようにしている。図４に示す例においては印刷媒体のレイアウトを選択するＵＩをＵＩ１と示している。当該ＵＩ１においては左側に印刷条件項目としての印刷媒体サイズを選択するフレーム１ａを表示し、右側に印刷条件項目としてのレイアウトを選択するフレーム１ｂを表示している。また、図４のＵＩ０は縁なし印刷（媒体の四辺に余白を設けない印刷）を実施するか否かを選択するＵＩである。
【００６０】
尚、各ＵＩにおいてはラジオボタンやアイコンのクリックによって各印刷条件項目を指定するようになっており、画面右下の「戻る」ボタンによって一つ前のＵＩ画面に戻り、「次へ」ボタンによって次のＵＩ画面に進むようになっており、最後のＵＩにおいては印刷実行指示ボタンによって印刷実行指示を実施できるようになっている。この例において、レイアウトは印刷媒体上での画像配置を規定しており、印刷媒体サイズはレイアウトの上位項目である。また、プリンタ４０ａ，４０ｂにおいては縁なし印刷を実施可能な印刷媒体のサイズが限られており、この意味で縁なし印刷の可否は印刷媒体の上位項目である。図４の例ではプリンタ４０ａ，４０ｂにおいて、はがき，Ｌ版，２Ｌ版，Ａ３〜Ａ６の各印刷媒体サイズで印刷を実行可能であり、このうち、はがき，Ｌ版，２Ｌ版，Ａ３，Ａ４の各印刷媒体サイズで縁なし印刷を実施可能である。
【００６１】
従って、ＵＩ０において設定可能範囲として縁ありと縁なしを表示し、項目値として縁なしを選択しつつ次のＵＩ１に進んだときには、フレーム１ａにおいて選択可能範囲としてはがき，Ｌ版，２Ｌ版，Ａ３，Ａ４を表示する。ＵＩ０において項目値として縁ありを選択しつつ次のＵＩ１に進んだときには、フレーム１ａとして選択可能範囲としてはがき，Ｌ版，２Ｌ版，Ａ３〜Ａ６を表示する。また、ＵＩ１のフレーム１ａにて印刷媒体サイズが選択されたときには、フレーム１ｂにてレイアウトが自動的に更新され、当該選択中の印刷媒体サイズにて印刷実行可能なレイアウトのみが設定可能範囲として提示される。
【００６２】
以上のように、本実施形態にかかるＵＩにおいてはＡＰＬ３１の制作者が所望の印刷条件項目を選択し、ＵＩの表示対象として設定しておくのみで、ＵＩを構成することができる。すなわち、ＡＰＬ３１においては、所望の印刷条件項目の設定可能範囲を問い合わせるようにしておけば、設定可能範囲取得モジュール２２あるいは設定可能範囲取得モジュール３６がその返答を行うので、ＡＰＬ３１の制作者は非常に容易にＵＩを構成することができる。さらに、将来、バージョンアップがなされたときであっても、上記選択モジュール２３が適切な設定可能範囲取得モジュールを選択するので、ＡＰＬ３１が呼び出すモジュールのバージョンが不適切であることによって処理が実施できなくなることはない。むろん、図４に示すＵＩの構成は一例であり、一画面で多数の印刷条件項目を表示させるＵＩを構成してもよいし、選択不可能な項目値をグレーアウトさせる構成を採用してもよい。
【００６３】
（２−１）設定可能範囲取得処理：
図５は上記ステップＳ１１５に示す設定可能範囲取得処理を示すフローチャートであり、以下、このフローチャートに沿って設定可能範囲取得処理を説明する。設定可能範囲取得処理において、ＡＰＬ３１は、まず検出モジュール３２を呼び出して実行する（ステップＳ２００）。検出モジュール３２が実行されると、当該検出モジュール３２は、ドライバフォルダ２０に選択モジュール２３が実行可能に格納されているか否かを判別する（ステップＳ２０５）。
【００６４】
ステップＳ２０５にて選択モジュール２３が実行可能であると判別されたときには、当該選択モジュール２３を呼び出して実行する（ステップＳ２１０）。選択モジュール２３が実行されると、当該選択モジュール２３は、上記ステップＳ１０５で取得したプリンタ名に基づいて当該プリンタ名のプリンタが新しいバージョンの設定可能範囲取得モジュール２２に対応しているか否か判別する（ステップＳ２１５）。すなわち、設定可能範囲取得モジュールが対応しているプリンタは予め決められているので、印刷実行時に指定されたプリンタが対応している新しいバージョンの設定可能範囲取得モジュールが存在するか否かを判別する。
【００６５】
ステップＳ２１５にて、指定されたプリンタが新しいバージョンの設定可能範囲取得モジュール２２に対応していると判別されたときには、この設定可能範囲取得モジュール２２を呼び出して実行する（ステップＳ２２０）。尚、選択モジュール２３においては、ＡＰＬ３１で実施しようとしている処理がＵＩ表示対象の印刷条件項目について設定可能範囲を取得するための処理であることを検出し、当該設定可能範囲を取得するための設定可能範囲取得モジュールを呼び出している。従って、本実施形態においては、選択モジュール２３が指示された処理を把握しており、この処理内容の把握が請求項における実行指示取得手段に相当する。むろん、ＡＰＬ３１から取得する実行指示は設定可能範囲の取得処理に限られず、他の処理についてＡＰＬ３１から実行指示を取得することができるし、この場合は、当該他の処理を実施するためのプログラムモジュールを起動することになる。
【００６６】
上記ステップＳ２２０にて設定可能範囲取得モジュール２２が実行されると、指定されたプリンタを制御するためのＰＲＴＤＲＶ２１ａに対して上記ＵＩの表示対象項目について設定可能範囲を問い合わせる（ステップＳ２２５）。この結果、ＰＲＴＤＲＶ２１ａは、プリンタ能力データ１５ａを参照し、設定可能範囲を取得して設定可能範囲取得モジュール２２に受け渡す。設定可能範囲取得モジュール２２は、ＡＰＬ３１に対してこの設定可能範囲を示すデータを返答として受け渡す（ステップＳ２３０）。以上の処理によって、ＡＰＬ３１が表示対象項目としている印刷条件についての設定可能範囲が取得され、適切にＵＩが表示される。
【００６７】
上記ステップＳ２０５にて選択モジュール２３が実行可能であると判別されないとき、上記検出モジュール３２は古いバージョンの設定可能範囲取得モジュールが実行可能であるか否か判別する。また、上記ステップＳ２１５にてプリンタが新しいバージョンの設定可能範囲取得モジュール２２に対応していると判別されないとき、選択モジュール２３は古いバージョンの設定可能範囲取得モジュールが実行可能であるか否か判別する（ステップＳ２４０）。このステップＳ２４０にて古いバージョンの設定可能範囲取得モジュールが実行可能であると判別されないときには、設定可能範囲を取得することができないので、ＵＩ上にエラーである旨を表示して（ステップＳ２６０）処理を終了する。むろん、ここでは、種々のエラー表示を行うことができ、適正なプリンタドライバをインストールするようにメッセージを表示しても良い。
【００６８】
ステップＳ２４０にて、古いバージョンの設定可能範囲取得モジュールが実行可能であると判別されたときには、設定可能範囲取得モジュールを呼び出して実行する（ステップＳ２４５）。尚、本実施形態において、当該古いバージョンの設定可能範囲取得モジュールは設定可能範囲取得モジュール３６である。また、ステップＳ２１５，Ｓ２４０の処理が請求項におけるモジュール選択手段の処理に相当し、ステップＳ２２０，Ｓ２４５の処理が請求項における実行制御手段に相当する。
【００６９】
設定可能範囲取得モジュール３６が実行されると、指定されたプリンタを制御するためのＰＲＴＤＲＶ２１ｂに対して上記ＵＩの表示対象項目について設定可能範囲を問い合わせる（ステップＳ２５０）。この結果、ＰＲＴＤＲＶ２１ｂは、プリンタ能力データ１５ａを参照し、設定可能範囲を取得して設定可能範囲取得モジュール３６に受け渡す。設定可能範囲取得モジュール３６は、ＡＰＬ３１に対してこの設定可能範囲を示すデータを返答として受け渡す（ステップＳ２５５）。以上の処理によって、ＡＰＬ３１が表示対象項目としている印刷条件についての設定可能範囲が取得され、適切にＵＩが表示される。
【００７０】
選択モジュール２３と設定可能範囲取得モジュール２２とは同時にインストールされるので、以上の処理において、ステップＳ２０５にて選択モジュール２３が実行可能であると判別されない場合は、新しいバージョンの設定可能範囲取得モジュール２２がインストールされていないことを意味する。しかし、この場合であっても、各種のプリンタに対するドライバがインストールされていることはあり得る。例えば、ＰＲＴＤＲＶはＯＳが提供する機能によってインストールできることも多い。
【００７１】
この場合、新しいバージョンに対応した設定可能範囲取得モジュール２２は実行不能であるが、新しいバージョンのＰＲＴＤＲＶに対応したプリンタにて印刷を実施可能であることになる。そこで、ステップＳ２０５にて選択モジュール２３が実行可能であると判別されない場合に、旧バージョンの設定可能範囲取得モジュール３６を検索して実行すれば、設定可能範囲取得モジュール３６で実行可能な処理は最低限実施することができる。すなわち、本実施形態において、ＰＲＴＤＲＶ２１ａ，２１ｂは下位互換性を有するので、ステップＳ１０５にてプリンタ４０ａ，４０ｂのいずれが指定されていたとしても、設定可能範囲取得モジュール３６にて設定可能範囲を取得することが可能である。
【００７２】
また、ステップＳ２１５にてプリンタが新しいバージョンの設定可能範囲取得モジュール２２に対応していると判別されない場合には、選択モジュール２３が実行可能であるが、指定されたプリンタが新バージョンの設定可能範囲取得モジュール２２に対応していない場合であるので、旧バージョンの設定可能範囲取得モジュール３６を検索して実行する。この処理により、旧バージョンの設定可能範囲取得モジュール３６に対応したプリンタ４０ｂと新バージョンの設定可能範囲取得モジュール２２に対応したプリンタ４０ａとを併用し、かつバージョンを整合させることが可能である。
【００７３】
以上の構成において、ＡＰＬ３１は検出モジュール３２を備え、検出モジュール３２によって選択モジュール２３が実行可能であるか否かを判断している。従って、このＡＰＬ３１は、選択モジュール２３と設定可能範囲取得モジュール２２とのバージョンに対応したアプリケーションプログラムであるといえる。しかし、上述のようにステップＳ２０５，Ｓ２１５の判別を経て旧バージョンである設定可能範囲取得モジュール３６を実行可能に構成している。従って、ＡＰＬ３１がコンピュータ１０に対してプレインストールされており、設定可能範囲取得モジュール３６についてインストールするか否かをエンドユーザの判断にゆだねることとしても、ＡＰＬ３１でＵＩを表示するにあたり、最低限の処理を実施することが可能である。
【００７４】
本実施形態においては、さらに、ＡＰＬにおいて検出モジュール３２に相当する処理を実施しなくても古いバージョンでの設定可能範囲取得モジュール３６を実行することは可能である。すなわち、古いバージョンのＡＰＬにおいて、選択モジュール２３を呼び出すことなく設定可能範囲取得モジュール３６を直接呼び出す構成であれば、仮に、プリンタ４０ａ，４０ｂに対応するＰＲＴＤＲＶ２１ａ，２１ｂがインストール済であって、古いバージョンのＡＰＬが実行されたとしても、適切な設定可能範囲取得モジュール３６を呼び出して実行することができる。
【００７５】
（３）他の実施形態：
本発明においては、モジュール選択手段によって適切なモジュールを選択してアプリケーションプログラムからの実行指示に対応するモジュールを呼び出すことができればよく、上記実施形態の他にも種々の構成を採用可能である。例えば、上述の設定可能範囲取得モジュールや選択モジュールの格納場所は上述の例に限定されないし、選択モジュール２３と同様の処理を行うモジュールをシステムフォルダに格納しても良い。
【００７６】
さらに、ＰＲＴＤＲＶ２１ａ，２１ｂの下位互換性により、ＰＲＴＤＲＶ２１ａ，２１ｂの双方が設定可能範囲取得モジュール３６とデータの授受を実行可能である実施形態について説明したが、ＰＲＴＤＲＶと設定可能範囲取得モジュールと選択モジュールとＡＰＬとのインストール状況および実行可能なバージョンの組み合わせとしては、多数の場合が発生し得る。そこで、各場合について適切な処理を行うため、設定可能範囲取得モジュール３６と略同等の処理を行うモジュールを複数個実行可能にしても良い。
【００７７】
さらに、本発明は、プリンタ以外の周辺機器について本発明を適用することも可能である。すなわち、ＵＩによって駆動条件を設定可能な総ての周辺機器について本発明を適用することができる。また、上記実施形態においてはコンピュータ１０によって印刷制御装置を構成しているが、分散処理によって本発明にかかる印刷制御処理を実施するなど種々の構成を採用可能である。むろん、画像を取り込むスキャナと画像を印刷するプリンタとが一体となったいわゆる複合機において本発明にかかる印刷制御処理を行ってもよい。
【図面の簡単な説明】
【００７８】
【図１】印刷制御装置の概略構成を示すブロック図である。
【図２】プリンタ能力データの記述例を示す図である。
【図３】印刷制御処理のフローチャートである。
【図４】ＵＩの表示例を示す図である。
【図５】設定可能範囲取得処理を示すフローチャートである。説明図である。
【符号の説明】
【００７９】
１０…コンピュータ、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１５…ハードディスクドライブ、１５ａ…プリンタ能力データ、２１ａ，２１ｂ…ＰＲＴＤＲＶ、２２…設定可能範囲取得モジュール、２３…選択モジュール、３１…ＡＰＬ、３２…検出モジュール、３６…設定可能範囲取得モジュール、４０ａ，４０ｂ…プリンタ
【図１】
2006268752.tif 000003
【図２】
2006268752.tif 000004
【図３】
2006268752.tif 000005
【図４】
2006268752.tif 000006
【図５】
2006268752.tif 000007