"ネットワーク上の1つの印刷機器を指定し当該印刷機器に対して印刷を指示する印刷指示装置を制御するための印刷指示プログラムであって、前記印刷機器から当該印刷機器に関する情報を取得する手順aと、印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを参照して、前記手順aにおいて取得された情報と関連付けられたプロトコルクラスを認識する手順bと、ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記手順bにおいて認識されたプロトコルクラスに対応するモジュールに切り替える手順cと、前記手順cにおいて切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行う手順dと、を前記印刷指示装置に実行させる印刷指示プログラム。前記手順aにおいて取得された情報が前記データベースに存在しない場合、前記複数のプログラムモジュールのうち使用するモジュールを、最も低いプロトコルクラスに対応するモジュールに切り替える手順eをさらに前記印刷指示装置に実行させることを特徴とする請求項1に記載の印刷指示プログラム。前記データベースは、前記印刷指示装置の記憶部に記憶されていることを特徴とする請求項1または2に記載の印刷指示プログラム。前記データベースは、前記ネットワーク上のサーバ装置に記憶されていることを特徴とする請求項1または2に記載の印刷指示プログラム。前記印刷指示プログラムは、各印刷機器に共通して使用される共通モジュールと、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を有し、前記汎用モジュールは、前記プロトコルクラス別に複数用意されており、前記手順cにおいて、前記機種別モジュールおよび複数の汎用モジュールが、モジュール単位で切り替えられることを特徴とする請求項1~4のいずれか1項に記載の印刷指示プログラム。前記印刷指示プログラムは、各印刷機器に共通して使用される共通モジュールと、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を有し、前記汎用モジュールは、ページ記述言語のプロトコルクラス別に用意された複数のサブモジュールを含み、前記手順cにおいて前記汎用モジュールが使用される場合、前記複数のサブモジュールが切り替えられることを特徴とする請求項1~4のいずれか1項に記載の印刷指示プログラム。請求項1~6のいずれか1項に記載の印刷指示プログラムを記録したコンピュータ読み取り可能な記録媒体。ネットワーク上の1つの印刷機器を指定し当該印刷機器に対して印刷を指示する印刷指示装置で使用される印刷指示方法であって、前記印刷機器から当該印刷機器に関する情報を取得するステップaと、印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを参照して、前記ステップaにおいて取得された情報と関連付けられたプロトコルクラスを認識するステップbと、ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記ステップbにおいて認識されたプロトコルクラスに対応するモジュールに切り替えるステップcと、前記ステップcにおいて切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行うステップdと、を有することを特徴とする印刷指示方法。前記ステップaにおいて取得された情報が前記データベースに存在しない場合、前記複数のプログラムモジュールのうち使用するモジュールを、最も低いプロトコルクラスに対応するモジュールに切り替えるステップeをさらに有することを特徴とする請求項8に記載の印刷指示方法。前記データベースは、前記印刷指示装置の記憶部に記憶されていることを特徴とする請求項8または9に記載の印刷指示方法。前記データベースは、前記ネットワーク上のサーバ装置に記憶されていることを特徴とする請求項8または9に記載の印刷指示方法。前記複数のプログラムモジュールは、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を含み、前記汎用モジュールは、前記プロトコルクラス別に複数用意されており、前記ステップcにおいて、前記機種別モジュールおよび複数の汎用モジュールが、モジュール単位で切り替えられることを特徴とする請求項8~11のいずれか1項に記載の印刷指示方法。前記複数のプログラムモジュールは、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を含み、前記汎用モジュールは、ページ記述言語のプロトコルクラス別に用意された複数のサブモジュールを含み、前記手順cにおいて前記汎用モジュールが使用される場合、前記複数のサブモジュールが切り替えられることを特徴とする請求項8~11のいずれか1項に記載の印刷指示方法。ネットワーク上の1つの印刷機器を指定し当該印刷機器に対して印刷を指示するための印刷指示プログラムがインストールされた印刷指示装置であって、印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを記憶している記憶部と、前記印刷機器から当該印刷機器に関する情報を取得する取得部と、前記記憶部に記憶されているデータベースを参照して、前記取得部により取得された情報と関連付けられたプロトコルクラスを認識する認識部と、ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記認識部により認識されたプロトコルクラスに対応するモジュールに切り替える切替部と、前記切替部により切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行う処理部と、を有することを特徴とする印刷指示装置。ネットワーク上の1つの印刷機器を指定し当該印刷機器に対して印刷を指示するための印刷指示プログラムがインストールされた印刷指示装置と前記ネットワークを通じて前記印刷指示装置に接続されるサーバ装置とを有する印刷指示システムであって、前記サーバ装置は、印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを記憶している記憶部を有し、前記印刷指示装置は、前記印刷機器から当該印刷機器に関する情報を取得する取得部と、前記記憶部に記憶されているデータベースを参照して、前記取得部により取得された情報と関連付けられたプロトコルクラスを認識する認識部と、ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記認識部により認識されたプロトコルクラスに対応するモジュールに切り替える切替部と、前記切替部により切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行う処理部と、を有することを特徴とする印刷指示システム。本発明は、上述した課題に鑑みてなされたものである。したがって、本発明の目的は、ネットワーク上の1つの印刷機器を指定して印刷の実行を指示する際、指定された印刷機器がサポートするページ記述言語のプロトコルクラスと一致するプロトコルクラスのページ記述言語で印刷データを生成して、印刷機器がサポートするページ記述言語のプロトコルクラスと印刷データを記述するページ記述言語のプロトコルクラスとの不一致に起因して印刷エラーが生じることを防止できる印刷指示プログラム、印刷指示方法、印刷指示装置、および印刷指示システムを提供することである。本発明の上記目的は、下記の手段によって達成される。1ネットワーク上の1つの印刷機器を指定し当該印刷機器に対して印刷を指示する印刷指示装置を制御するための印刷指示プログラムであって、前記印刷機器から当該印刷機器に関する情報を取得する手順aと、印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを参照して、前記手順aにおいて取得された情報と関連付けられたプロトコルクラスを認識する手順bと、ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記手順bにおいて認識されたプロトコルクラスに対応するモジュールに切り替える手順cと、前記手順cにおいて切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行う手順dと、を前記印刷指示装置に実行させる印刷指示プログラム。2前記手順aにおいて取得された情報が前記データベースに存在しない場合、前記複数のプログラムモジュールのうち使用するモジュールを、最も低いプロトコルクラスに対応するモジュールに切り替える手順eをさらに前記印刷指示装置に実行させることを特徴とする上記1に記載の印刷指示プログラム。3前記データベースは、前記印刷指示装置の記憶部に記憶されていることを特徴とする上記1または2に記載の印刷指示プログラム。4前記データベースは、前記ネットワーク上のサーバ装置に記憶されていることを特徴とする上記1または2に記載の印刷指示プログラム。5前記印刷指示プログラムは、各印刷機器に共通して使用される共通モジュールと、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を有し、前記汎用モジュールは、前記プロトコルクラス別に複数用意されており、前記手順cにおいて、前記機種別モジュールおよび複数の汎用モジュールが、モジュール単位で切り替えられることを特徴とする上記1~4のいずれか1つに記載の印刷指示プログラム。6前記印刷指示プログラムは、各印刷機器に共通して使用される共通モジュールと、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を有し、前記汎用モジュールは、ページ記述言語のプロトコルクラス別に用意された複数のサブモジュールを含み、前記手順cにおいて前記汎用モジュールが使用される場合、前記複数のサブモジュールが切り替えられることを特徴とする上記1~4のいずれか1つに記載の印刷指示プログラム。7上記1~6のいずれか1つに記載の印刷指示プログラムを記録したコンピュータ読み取り可能な記録媒体。8ネットワーク上の1つの印刷機器を指定し当該印刷機器に対して印刷を指示する印刷指示装置で使用される印刷指示方法であって、前記印刷機器から当該印刷機器に関する情報を取得するステップaと、印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを参照して、前記ステップaにおいて取得された情報と関連付けられたプロトコルクラスを認識するステップbと、ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記ステップbにおいて認識されたプロトコルクラスに対応するモジュールに切り替えるステップcと、前記ステップcにおいて切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行うステップdと、を有することを特徴とする印刷指示方法。9前記ステップaにおいて取得された情報が前記データベースに存在しない場合、前記複数のプログラムモジュールのうち使用するモジュールを、最も低いプロトコルクラスに対応するモジュールに切り替えるステップeをさらに有することを特徴とする上記8に記載の印刷指示方法。10前記データベースは、前記印刷指示装置の記憶部に記憶されていることを特徴とする上記8または9に記載の印刷指示方法。11前記データベースは、前記ネットワーク上のサーバ装置に記憶されていることを特徴とする上記8または9に記載の印刷指示方法。12前記複数のプログラムモジュールは、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を含み、前記汎用モジュールは、前記プロトコルクラス別に複数用意されており、前記ステップcにおいて、前記機種別モジュールおよび複数の汎用モジュールが、モジュール単位で切り替えられることを特徴とする上記8~11のいずれか1つに記載の印刷指示方法。13前記複数のプログラムモジュールは、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を含み、前記汎用モジュールは、ページ記述言語のプロトコルクラス別に用意された複数のサブモジュールを含み、前記手順cにおいて前記汎用モジュールが使用される場合、前記複数のサブモジュールが切り替えられることを特徴とする上記8~11のいずれか1つに記載の印刷指示方法。14ネットワーク上の1つの印刷機器を指定し当該印刷機器に対して印刷を指示するための印刷指示プログラムがインストールされた印刷指示装置であって、印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを記憶している記憶部と、前記印刷機器から当該印刷機器に関する情報を取得する取得部と、前記記憶部に記憶されているデータベースを参照して、前記取得部により取得された情報と関連付けられたプロトコルクラスを認識する認識部と、ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記認識部により認識されたプロトコルクラスに対応するモジュールに切り替える切替部と、前記切替部により切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行う処理部と、を有することを特徴とする印刷指示装置。15ネットワーク上の1つの印刷機器を指定し当該印刷機器に対して印刷を指示するための印刷指示プログラムがインストールされた印刷指示装置と前記ネットワークを通じて前記印刷指示装置に接続されるサーバ装置とを有する印刷指示システムであって、前記サーバ装置は、印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを記憶している記憶部を有し、前記印刷指示装置は、前記印刷機器から当該印刷機器に関する情報を取得する取得部と、前記記憶部に記憶されているデータベースを参照して、前記取得部により取得された情報と関連付けられたプロトコルクラスを認識する認識部と、ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記認識部により認識されたプロトコルクラスに対応するモジュールに切り替える切替部と、前記切替部により切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行う処理部と、を有することを特徴とする印刷指示システム。本発明によれば、印刷機器に関連付けられたページ記述言語のプロトコルクラスが認識され、認識されたプロトコルクラスに対応するプログラムモジュールを使用して印刷データが生成されるため、印刷機器がサポートするページ記述言語のプロトコルクラスと一致するプロトコルクラスのページ記述言語で印刷データが生成される。したがって、ネットワーク上の1つの印刷機器を指定して印刷の実行を指示する際、印刷機器がサポートするページ記述言語のプロトコルクラスと印刷データを記述するページ記述言語のプロトコルクラスとの不一致に起因して印刷エラーが生じることが防止される。また、本発明によれば、印刷機器に関する情報とプロトコルクラスとが関連付けられたデータベースを参照して、印刷機器がサポートするページ記述言語のプロトコルクラスが認識されるため、ページ記述言語のプロトコルクラス情報を印刷機器から直接取得することなく、印刷機器の機種名情報や製造者情報から、印刷機器がサポートするページ記述言語のプロトコルクラスを認識することが可能になる。したがって、印刷機器からページ記述言語のプロトコルクラス情報を取得することができない印刷機器についても、印刷データを記述するページ記述言語のプロトコルクラスと印刷機器がサポートしているページ記述言語のプロトコルクラスとを一致させることが可能になる。以下、図面を参照して、本発明の実施形態を詳細に説明する。第1の実施形態図1は、本発明の第1の実施形態に係る印刷システムの全体構成を示すブロック図である。本実施形態の印刷システムは、クライアントPC10と、プリンタ20A,20B,20C,20D,20Eとを備える。PC10とプリンタ20A~20Eとは、ネットワーク50を介して相互に通信可能に接続されている。ネットワーク50は、たとえば、イーサネット登録商標、トークンリング、およびFDDIFiberDistributedDataInterface等の規格によりコンピュータやネットワーク機器同士を接続したLANLocalAreaNetwork、またはLAN同士を専用線で接続したWANWideAreaNetwork等の各種のネットワークからなる。なお、ネットワーク50に接続される機器の種類および台数は、図1に示される例に限定されない。また、プリンタ20A~20Eは、同一の製造者により製造された異なる機種のプリンタのみならず、異なる製造者により製造されたプリンタが含まれる。プリンタ20A~20Eには、MFPMulti-FunctionPeripheral等の画像形成装置が含まれる。図2は、図1に示されるPCの構成を示すブロック図である。PC10は、印刷指示装置として、CPUCentralProcessingUnit11、ROMReadOnlyMemory12、RAMRandomAccessMemory13、ハードディスク14、ディスプレイ15、入力装置16、および通信インタフェース17を含み、これらは信号をやり取りするためのバス18を介して相互に接続されている。CPU11は、プログラムにしたがって上記各部の制御や各種の演算処理を行う。ROM12は、各種プログラムや各種データを格納する。RAM13は、作業領域として一時的にプログラムやデータを記憶する。ハードディスク14は、オペレーティングシステムOSを含む各種プログラムや、各種データを格納する。ディスプレイ15は、たとえば、液晶ディスプレイであり、各種の情報を表示する。入力装置16は、マウス等のポインティングデバイス、およびキーボードを含み、各種の入力を行うために使用される。通信インタフェース17は、ネットワーク50を介し他の機器と通信するためのインタフェースであり、イーサネット登録商標、トークンリング、FDDI等の規格が用いられる。ハードディスク14には、文書ファイルを作成するための文書ファイル作成アプリケーションと、プリンタドライバ100図3参照とがインストールされている。プリンタドライバ100は、PC10に格納されているOS上にインストールされ、印刷データを生成するプログラムである。本実施形態では、プリンタドライバ100は、印刷時に、操作画面不図示にネットワーク50上の複数のプリンタの情報を一覧表示し、操作画面を用いたユーザの操作に基づいて、複数のプリンタの中から出力先のプリンタを選択することができる。図3は、本実施形態に係るプリンタドライバの機能を示すブロック図である。プリンタドライバ100は、共通機能部110、個別機能部120a,120b,120c,120d,120e,120f、プリンタ切替部130、およびデータベース記憶部140を有している。各部の機能は、それぞれに対応するモジュールをCPU11がRAM13上で実行することにより発揮される。各モジュールは、たとえば、DLLDynamicLinkLibrary等のプログラムファイルからなる。共通機能部110は、プリンタドライバ全体の制御を行う。共通機能部110は、印刷出力のための描画処理、操作画面の制御、個別機能部120a~120fおよびプリンタ切替部130間のやり取りの制御等、すべてのプリンタに共通する処理を行う。個別機能部120a~120fは、出力先のプリンタに応じて使用されるものであり、機種別機能部120a,120bと汎用機能部120c~120fとを含む。機種別機能部120a,120bおよび汎用機能部120c~120fの機能は、それぞれに対応するモジュール以下、機種別チャイルドドライバおよび汎用チャイルドドライバとそれぞれ称するをCPU11がRAM13上で実行することにより発揮される。機種別チャイルドドライバおよび汎用チャイルドドライバは、たとえば、DLL等のプログラムファイルであり、プリンタドライバ100に含まれる他のモジュールと連携して動作する。機種別機能部120a,120bは、特定機種のプリンタに印刷の実行を指示するために使用される。機種別機能部120a,120bは、たとえば、プリンタに固有の機能についての設定情報を出力する機能や当該設定情報を設定するための操作画面印刷設定画面を提供する機能を実現する。なお、プリンタに固有の機能には、たとえば、セキュリティのためのパスワード印刷機能およびトナー消費量を抑制するためのドラフト印刷機能等の印刷機能、ステープル処理、穴開け処理、折り処理、および糊付け処理等の後処理機能、PCおよびプリンタ間の双方向通信機能が含まれる。機種別機能部120aおよび機種別機能部120bは、たとえば、機種Aのプリンタであるプリンタ20Aおよび機種Bのプリンタであるプリンタ20Bにそれぞれ対応している。なお、ネットワーク50上に同一機種のプリンタが複数存在する場合、これらのプリンタに対応する機種別機能部が1つ存在すればよい。しかしながら、同一機種のプリンタであっても、搭載している機能が異なる場合たとえば、後処理機能を備えているプリンタと、備えていないプリンタが混在している場合には、同一機種のプリンタについて、後処理機能の違いに対応する複数の機種別機能部が備えられる。機種別機能部120a,120bは、対応するプリンタがサポートするPDLのプロトコルクラスに対応している。汎用機能部120c~120fは、対応する機種別機能部120a,120bが存在しないプリンタに印刷の実行を指示するために使用される。汎用機能部120c~120fによれば、詳細な仕様や機能が分からないプリンタに対しても、PDL標準のコマンドを出力することにより標準的な機能を使用して印刷を指示することができる。本実施形態の汎用機能部120c~120fは、プリンタドライバ100がサポートするPDLであるPCLXLのプロトコルクラス別に設けられている。具体的には、汎用機能部120c~120fは、PCLXLの1.1、2.0、2.1、および3.0の4つのプロトコルクラスにそれぞれ対応している。プリンタ切替部130は、出力先のプリンタに応じて、個別機能部機種別チャイルドドライバおよび汎用チャイルドドライバを切り替える。プリンタ切替部130は、出力先のプリンタとして指定された1つのプリンタに適合する1つの個別機能部を共通機能部110経由で呼び出す。なお、上述したとおり、本実施形態では、プリンタドライバ100の機能により、ネットワーク50上の複数のプリンタの情報を一覧表示して、ユーザの操作により1つのプリンタを選択することができる。また、過去に使用したプリンタの履歴情報を表示して1つのプリンタを選択することができる。あるいは、プリンタのIPアドレスまたは機種名を直接指定して1つのプリンタを選択することができる。データベース記憶部140は、デバイス情報データベース200図6参照を記憶している。データベース記憶部140は、プリンタのデバイス情報と当該プリンタがサポートするPDLのプロトコルクラスとが関連付けられたデータベースであるデバイス情報データベース200を記憶している。図4は、図1に示されるプリンタの構成を示すブロック図である。プリンタ20A~20Eは、相互に同様の構成であるため、以下、プリンタ20Aを代表として用いて説明する。プリンタ20Aは、CPU21、ROM22、RAM23、ハードディスク24、操作パネル25、印刷部26、後処理部27、および通信インタフェース28を含み、これらは信号をやり取りするためのバス29を介して相互に接続されている。なお、プリンタ20Aの上記各部のうち、PC10の上記各部と同様の機能を有する部分については、説明の重複を避けるためその説明を省略する。操作パネル25は、各種情報の表示および各種指示の入力に使用される。印刷部26は、電子写真式プロセス等の周知の作像プロセスを用いて、ビットマップ画像データに基づく画像を用紙等の記録媒体に印刷する。後処理部27は、印刷部26により印刷が実行された用紙に対して、ステープル処理、穴開け処理、折り処理等の後処理を実行する。RAM23およびハードディスク24等の記憶部には、印刷ジョブを記憶するための印刷ジョブ記憶部が割り当てられる。また、ハードディスク24は、ネットワーク通信部および制御部に対応するプログラムを格納するためのそれぞれの領域を有する。ネットワーク通信部は、PC10からの要求に応じて、プリンタ20Aに関する情報たとえば、機器名情報を提供する。このため、ネットワーク通信部には、SNMPSimpleNetworkManagementProtocolMIBManagementInformationBase-IIのパブリックエリアおよびプライベートエリアが設けられている。また、ネットワーク通信部は、ネットワーク50上のPCから印刷ジョブを受信する。制御部は、印刷部26への印刷ジョブの提供を制御する。制御部は、印刷部26が印刷処理中でなければ印刷ジョブ記憶部から印刷ジョブを読み出して印刷部26に送信する一方で、印刷処理中であれば印刷ジョブを印刷ジョブ記憶部に記憶させる。ネットワーク通信部および制御部の機能は、対応するプログラムをCPU21が実行することにより発揮される。なお、PC10およびプリンタ20A~20Eは、上記の構成要素以外の構成要素を含んでいてもよく、あるいは、上記の構成要素のうちの一部が含まれていなくてもよい。次に、図5~図7を参照して、PC10の動作について説明する。図5は、図1に示されるPCにより実行される印刷指示処理の手順を示すフローチャートである。なお、図5のフローチャートにより示されるアルゴリズムは、PC10のハードディスク14にプログラムとして記憶されており、CPU11によって実行される。印刷指示処理では、まず、接続先のプリンタが選択されるステップS101。本実施形態では、まず、ネットワーク上に存在するプリンタが検索され、ネットワーク上のプリンタの情報がディスプレイ15に一覧表示される。そして、ユーザの操作により、一覧表示されるプリンタのうちの1つのプリンタが、出力先のプリンタとして選択される。続いて、デバイス情報が取得されるステップS102。本実施形態では、ステップS101に示す処理で選択されたプリンタとの通信が行われ、当該プリンタから機種名情報および製造者情報がデバイス情報として取得される。続いて、デバイス情報データベース200が参照されるステップS103。本実施形態では、ステップS101に示す処理で選択されたプリンタがサポートするPDLのプロトコルクラスを認識するために、デバイス情報データベース200が参照される。図6は、デバイス情報データベースの一例を示す図である。デバイス情報データベース200は、機種名情報、製造者情報、およびプロトコルクラス情報を含む。機種名情報、製造者情報、およびプロトコルクラス情報は、互いに関連付けられている。デバイス情報データベース200が参照されることにより、プリンタの機種名情報や製造者情報から、プリンタがサポートするPDLのプロトコルクラスが認識される。続いて、該当する機種名情報がデバイス情報データベース200に存在するか否かが判断されるステップS104。本実施形態では、ステップS102に示す処理で取得された機種名情報がデバイス情報データベース200に存在するか否かが判断される。該当する機種名情報がデバイス情報データベース200に存在すると判断される場合ステップS104:YES、ステップS107の処理に移行する。一方、該当する機種名情報がデバイス情報データベース200に存在しないと判断される場合ステップS104:NO、該当する製造者情報がデバイス情報データベース200に存在するか否かが判断されるステップS105。本実施形態では、ステップS102に示す処理で取得された製造者情報がデバイス情報データベース200に存在するか否かが判断される。該当する製造者情報がデバイス情報データベース200に存在しないと判断される場合ステップS105:NO、使用するチャイルドドライバが、最も低いプロトコルクラスに対応するチャイルドドライバに切り替えられるステップS106。本実施形態では、デバイス情報データベース200に機種名情報または製造者情報が存在せず、プリンタがサポートするPDLのプロトコルクラスが不明であるとして、最も低いプロトコルクラスに対応する汎用チャイルドドライバに、使用するチャイルドドライバが切り替えられる。たとえば、ネットワーク上に存在する機種名モデル4および製造者D社のプリンタが出力先として選択された場合、図6に示すデバイス情報データベース200にはモデル4またはD社が存在しないため、最も低いプロトコルクラス1.1に対応する汎用チャイルドドライバに、使用するチャイルドドライバが切り替えられる。一方、ステップS105に示す処理で該当する製造者情報がデバイス情報データベース200に存在すると判断される場合ステップS105:YES、または、ステップS104に示す処理で該当する機種名情報がデバイス情報データベース200に存在すると判断される場合ステップS104:YES、使用するチャイルドドライバが、適合するチャイルドドライバに切り替えられるステップS107。本実施形態では、まず、デバイス情報データベース200において、ステップS102に示す処理で取得されたデバイス情報に関連付けられているプロトコルクラスが認識される。そして、認識されたプロトコルクラスに適合するチャイルドドライバに、使用するチャイルドドライバが切り替えられる。具体的には、ステップS104に示す処理で機種名情報がデバイス情報データベース200に存在すると判断された場合、まず、デバイス情報データベース200において、機種名情報と関連付けられているプロトコルクラスが認識される。そして、認識されたプロトコルクラスに適合するチャイルドドライバに、使用するチャイルドドライバが切り替えられる。たとえば、ネットワーク上に存在する機種名モデル1および製造者A社のプリンタが出力先として選択された場合、まず、デバイス情報データベース200が参照され、機種名モデル1に関連付けられているプロトコルクラス3.0が認識される。そして、プロトコルクラス3.0に対応するチャイルドドライバに、使用するチャイルドドライバが切り替えられる。より具体的には、モデル1用の機種別チャイルドドライバが存在する場合には、使用するチャイルドドライバがモデル1用の機種別チャイルドドライバに切り替えられる。一方、モデル1用の機種別チャイルドドライバが存在しない場合には、プロトコルクラス3.0に対応する汎用チャイルドドライバに、使用するチャイルドドライバが切り替えられる。また、ステップS105に示す処理で製造者情報がデバイス情報データベース200に存在すると判断された場合、まず、デバイス情報データベース200において、製造者情報と関連付けられているプロトコルクラスが認識される。そして、認識されたプロトコルクラスに適合するチャイルドドライバに、使用するチャイルドドライバが切り替えられる。たとえば、ネットワーク上に存在する機種名モデル3および製造者C社のプリンタが出力先として選択された場合、まず、デバイス情報データベース200が参照され、製造者C社に関連付けられているプロトコルクラス2.0が認識される。そして、プロトコルクラス2.0に対応する汎用チャイルドドライバに、使用するチャイルドドライバが切り替えられる。このような構成によれば、特定の製造者により製造された複数機種のプリンタがすべて同一のプロトコルクラスをサポートしている場合に対応することができる。なお、ステップS105に示す処理は省略されてもよく、ステップS104に示す処理で機種名情報がデバイス情報データベース200に存在しないと判断される場合ステップS104:NO、直ちにステップS106の処理に移行してもよい。以上のとおり、図5に示されるフローチャートの処理によれば、出力先として選択されたプリンタのデバイス情報に基づいて、当該プリンタがサポートするPDLのプロトコルクラスが認識される。そして、認識されたプロトコルクラスに適合するチャイルドドライバに、使用するチャイルドドライバが切り替えられる。図7は、チャイルドドライバが切り替えられたプリンタドライバのバージョン情報確認画面を示す図である。図7Aは、使用するチャイルドドライバがプロトコルクラス2.0に対応するチャイルドドライバに切り替えられた場合のバージョン情報確認画面を示す図であり、図7Bは、使用するチャイルドドライバがプロトコルクラス1.1に対応するチャイルドドライバに切り替えられた場合のバージョン情報確認画面を示す図である。たとえば、ネットワーク上の複数のプリンタのうち、C社のプリンタに対して印刷の実行を指示する場合、図6に示すデバイス情報データベース200が参照され、プロトコルクラス2.0に対応するチャイルドドライバに、使用するチャイルドドライバが切り替えられる。また、ネットワーク上の複数のプリンタのうち、D社のプリンタに対して印刷の実行を指示する場合、図6に示すデバイス情報データベース200が参照され、プロトコルクラス1.1に対応するチャイルドドライバに、使用するチャイルドドライバが切り替えられる。そして、切り替えられたチャイルドドライバを使用して、当該チャイルドドライバが対応するプロトコルクラスのPDLで印刷データが生成される。印刷データは、印刷ジョブとしてプリンタに送信される。以上のとおり、本実施形態によれば、プリンタに関連付けられたPDLのプロトコルクラスが認識され、認識されたプロトコルクラスに対応するチャイルドドライバを使用して印刷データが生成されるため、プリンタがサポートするPDLのプロトコルクラスと一致するプロトコルクラスのPDLで印刷データが生成される。したがって、ネットワーク上の1つのプリンタを指定して印刷の実行を指示する際、プリンタがサポートするPDLのプロトコルクラスと印刷データを記述するPDLのプロトコルクラスとの不一致に起因して印刷エラーが生じることが防止される。また、プリンタがサポートするPDLのプロトコルクラスに応じた印刷設定画面が提供されるため、プリンタがサポートするプロトコルクラスに応じた機能を使用することが可能になる。また、本実施形態によれば、プリンタのデバイス情報がデバイス情報データベース200に存在しない場合、プロトコルクラスの最も低いPDLに対応する汎用チャイルドドライバが使用される。プロトコルクラスの高いPDLは、プロトコルクラスの低いPDLの機能をサポートしているため、プロトコルクラスの最も低いPDLに対応するチャイルドドライバを使用して印刷データを生成することにより、プリンタが印刷データの一部を解釈できずに印刷エラーが生じることが防止される。また、本実施形態によれば、デバイス情報とプロトコルクラスとが関連付けられたデバイス情報データベース200を参照して、プリンタがサポートするPDLのプロトコルクラスが認識されるため、PDLのプロトコルクラス情報をプリンタから直接取得することなく、プリンタの機種名情報や製造者情報を取得することにより、プリンタがサポートするPDLのプロトコルクラスを認識することが可能になる。したがって、プリンタからPDLのプロトコルクラス情報を取得することができないプリンタについても、印刷データを記述するPDLのプロトコルクラスとプリンタがサポートしているPDLのプロトコルクラスとを一致させることが可能になる。なお、プリンタのMIBのprtInterpreterLangFamilyから、プリンタがサポートするPDLの種類PS、PCL等を認識することができるが、PCLXLのプロトコルクラスのような詳細なバージョン情報を取得することはできない。MIBにはprtInterpreterLangLevelやprtInterpreterLangVersionのようにPDLのレベルやバージョンを示すオブジェクトも用意されているが、製造者間で解釈に違いがあるため、プロトコルクラスを認識するために用いることはできない。第2の実施形態次に、図8~図12を参照して、本発明の第2の実施形態について説明する。本実施形態は、デバイス情報データベースがネットワーク上のサーバ装置に記憶されている実施形態である。図8は、本発明の第2の実施形態に係る印刷システムの全体構成を示すブロック図である。本実施形態の印刷システムは、クライアントPC10と、プリンタ20A,20B,20C,20D,20Eと、サーバ30とを備える。PC10、プリンタ20A~20E、およびサーバ30は、ネットワーク50を介して相互に通信可能に接続されている。なお、ネットワーク50にサーバ30が接続されている点を除いては、本実施形態に係る印刷システムの構成は、第1の実施形態に係る印刷システムの構成と同様であるため、説明を省略する。図9は、図8に示されるサーバの構成を示すブロック図であり、図10は、図9に示されるハードディスクの内容を示すブロック図である。サーバ30は、CPU31、ROM32、RAM33、ハードディスク34、ディスプレイ35、入力装置36、および通信インタフェース37を含み、これらは信号をやり取りするためのバス38を介して相互に接続されている。なお、サーバ30の上記各部は、PC10の上記各部と同様であるため、説明を省略する。ハードディスク34には、デバイス情報データベース200が記憶されている。図11は、本実施形態に係るプリンタドライバの機能を示すブロック図である。プリンタドライバ100は、共通機能部110、個別機能部120a~120f、およびプリンタ切替部130を有している。なお、データベース記憶部を備えていない点を除いては、本実施形態に係るプリンタドライバの構成は、第1の実施形態に係るプリンタドライバの構成と同様であるため、説明を省略する。図12は、図8に示されるPCにより実行される印刷指示処理の手順を示すフローチャートである。ステップS201~S202に示す処理は、図5のステップS101~S102に示す処理と同様であるため、説明を省略する。ステップS203では、サーバ30との通信が開始される。本実施形態では、サーバ30に格納されているデバイス情報データベース200を参照するために、サーバ30との通信が開始される。続いて、サーバ30からの応答があるか否かが判断されるステップS204。サーバ30からの応答があると判断される場合ステップS204:YES、ステップS205の処理に移行する。一方、サーバ30からの応答がないと判断される場合ステップS204:NO、ステップS208の処理に移行する。ステップS205~S209に示す処理は、図5のステップS103~S107に示す処理と同様であるため、説明を省略する。以上のとおり、本実施形態によれば、ネットワーク上のサーバ30にデバイス情報データベース200が格納されるため、ネットワーク50上の複数のPCによってデバイス情報データベース200が共有される。したがって、デバイス情報データベース200の情報を更新する必要が生じた場合、サーバ30に格納されているデバイス情報データベース200のみを更新すれば、更新内容をネットワーク50上の複数のPCに反映させることが可能になる。本発明は、上述した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。たとえば、上述した実施形態では、プリンタドライバに、プロトコルクラス別の汎用チャイルドドライバが複数用意され、プリンタがサポートするPDLのプロトコルクラスに応じて、汎用チャイルドドライバが切り替えられた。しかしながら、プリンタドライバに、プロトコルクラス別の複数のサブモジュールを備える1つの汎用チャイルドドライバのみが用意され、プリンタがサポートするPDLのプロトコルクラスに応じて、汎用チャイルドドライバで使用されるサブモジュールが切り替えられてもよい。また、上述した実施形態では、プリンタのデバイス情報がデバイス情報データベース200に存在しない場合、プリンタドライバ100に用意されている複数の汎用チャイルドドライバのうち最も低いプロトコルクラスプロトコルクラス1.1のPDLに対応する1つの汎用チャイルドドライバが使用された。しかしながら、使用される汎用チャイルドドライバは、プリンタドライバ100に用意されている複数の汎用チャイルドドライバのうち最も低いプロトコルクラスのPDLに対応する汎用チャイルドドライバではなく、デバイス情報データベース200に記述されているプロトコルクラスのうち、最も低いプロトコルクラス図6では、プロトコルクラス2.0のPDLに対応する汎用チャイルドドライバであってもよい。本実施形態にかかる印刷指示装置における各種処理を行う手段および方法は、専用のハードウエア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。上記プログラムは、たとえば、フレキシブルディスクおよびCD-ROM等のコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送され記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、印刷指示装置の一機能としてその装置のソフトウエアに組み込まれてもよい。"