(57)【要約】【課題】Ｖ４プリンタドライバ、及び同様のアーキテクチャを持つプリンタドライバを実行する情報処理装置において、論理プリンタに対応する記憶領域に新たな情報を追加することができるようにする。【解決手段】情報処理装置は、プリンタドライバに対応する記憶領域であって、該プリンタドライバから情報を記憶可能な複数のエントリを有する記憶領域に、複数のエントリのうち、１つ以上のエントリへの所定の情報の記憶を制御する記憶制御手段と、エントリに記憶した情報の識別情報と所定の情報を記憶したエントリとを対応付ける対応情報を記憶する対応情報記憶手段と、対応情報と所定の情報の識別情報とに基づいて、所定の情報が記憶されたエントリを特定する特定手段と、特定手段によって特定されたエントリから所定の情報を取得する取得手段と、を有する。【選択図】図６Ａ
2018185779.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置に画像処理の要求を行うプリンタドライバを実行する情報処理装置であって、
前記プリンタドライバに対応する記憶領域であって、該プリンタドライバから情報を記憶可能な複数のエントリを有する記憶領域に、前記複数のエントリのうち、１つ以上のエントリへの所定の情報の記憶を制御する記憶制御部と、
前記エントリに記憶した情報の識別情報と前記所定の情報を記憶した前記エントリとを対応付ける対応情報を、前記記憶領域に記憶する対応情報管理部と、
前記対応情報と前記所定の情報の識別情報とに基づいて、前記所定の情報が記憶されたエントリを特定する特定部と、
前記特定部によって特定された前記エントリから前記所定の情報を取得する取得部と、
を有する、情報処理装置。
【請求項２】
前記記憶領域は、前記プリンタドライバの論理プリンタに対応するＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇである、請求項１に記載の情報処理装置。
【請求項３】
前記所定の情報の識別情報は、前記記憶制御部、及び前記特定部が、前記所定の情報を特定するために用いる予め定められた形式の情報である、請求項１又は２に記載の情報処理装置。
【請求項４】
前記対応情報は、前記記憶領域の予め定められたレジストリエントリに記憶される、請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項５】
前記複数のエントリは、前記記憶領域に予め用意され、前記記憶制御部が任意の情報を書き込み可能なレジストリエントリである、請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記プリンタドライバは、
前記特定部と、
前記取得部と、
前記取得部が取得した前記所定の情報を用いて、前記プリンタドライバの印刷に関する設定を行う第１の設定画面を表示する第１の印刷設定部と、
として前記情報処理装置を機能させる、請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記プリンタドライバは、前記取得部が取得した前記所定の情報を用いて、前記印刷の対象となるデータを前記画像処理装置で印刷可能な印刷データに変換する描画部として前記情報処理装置を機能させる、請求項６に記載の情報処理装置。
【請求項８】
前記プリンタドライバは、前記取得部が取得した前記所定の情報を用いて、前記印刷に関する設定情報を生成する設定制御部として前記情報処理装置を機能させる、請求項６又は７に記載の情報処理装置。
【請求項９】
前記設定制御部は、前記取得部が取得した前記所定の情報を用いて、前記印刷で設定可能な機能に関する能力情報を生成する、請求項８に記載の情報処理装置。
【請求項１０】
前記所定の情報は、前記印刷に関するＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報とＤｅｖｍｏｄｅ形式の設定情報との変換に用いる変換情報を含む、請求項８又は９に記載の情報処理装置。
【請求項１１】
前記情報処理装置を前記取得部として機能させると共に、前記取得部が取得した前記所定の情報を用いて、前記プリンタドライバの印刷に関する設定を行う第２の設定画面を表示するストアデバイスアプリを実行する、請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項１２】
画像処理を実行する画像処理装置と、前記画像処理装置に画像処理の要求を行うプリンタドライバを実行する情報処理装置とを含む情報処理システムであって、
前記情報処理装置は、
前記プリンタドライバに対応する記憶領域であって、該プリンタドライバから情報を記憶可能な複数のエントリを有する記憶領域に、前記複数のエントリのうち、１つ以上のエントリへの所定の情報の記憶を制御する記憶制御部と、
前記エントリに記憶した情報の識別情報と前記所定の情報を記憶した前記エントリとを対応付ける対応情報を、前記記憶領域に記憶する対応情報管理部と、
前記対応情報と前記所定の情報の識別情報とに基づいて、前記所定の情報が記憶されたエントリを特定する特定部と、
前記特定部によって特定された前記エントリから前記所定の情報を取得する取得部と、
を有する、情報処理システム。
【請求項１３】
画像処理装置に画像処理の要求を行うプリンタドライバを実行する情報処理装置を、
前記プリンタドライバに対応する記憶領域であって、該プリンタドライバから情報を記憶可能な複数のエントリを有する記憶領域に、前記複数のエントリのうち、１つ以上のエントリへの所定の情報の記憶を制御する記憶制御部と、
前記エントリに記憶した情報の識別情報と前記所定の情報を記憶した前記エントリとを対応付ける対応情報を、前記記憶領域に記憶する対応情報管理部と、
前記対応情報と前記所定の情報の識別情報とに基づいて、前記所定の情報が記憶されたエントリを特定する特定部と、
前記特定部によって特定された前記エントリから前記所定の情報を取得する取得部と、
として機能させるためのプログラム。
【請求項１４】
画像処理装置に画像処理の要求を行うプリンタドライバを実行する情報処理装置による情報処理方法であって、
前記情報処理装置が、
前記プリンタドライバに対応する記憶領域であって、該プリンタドライバから情報を記憶可能な複数のエントリを有する記憶領域に、前記複数のエントリのうち、１つ以上のエントリへの所定の情報の記憶を制御するステップと、
前記エントリに記憶した情報の識別情報と前記所定の情報を記憶した前記エントリとを対応付ける対応情報を、前記記憶領域に記憶するステップと、
前記対応情報と前記所定の情報の識別情報とに基づいて、前記所定の情報が記憶されたエントリを特定するステップと、
前記特定するステップで特定された前記エントリから前記所定の情報を取得するステップと、
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
Ｗｉｎｄｏｗｓ（登録商標）２０００からＷｉｎｄｏｗｓ７までのＷｉｎｄｏｗｓＯＳ（Operating System）では、Ｖｅｒｓｉｏｎ３（以降「Ｖ３」と称する）プリンタドライバと呼ばれるプリンタドライバのアーキテクチャが採用されている。また、Ｗｉｎｄｏｗｓ８以降のＷｉｎｄｏｗｓＯＳでは、Ｖ３プリンタドライバに加え、Ｖｅｒｓｉｏｎ４（以降「Ｖ４」と称する）プリンタドライバと呼ばれる新しいプリンタドライバのアーキテクチャが採用されている。
【０００３】
また、複数の機種の画像形成装置で利用可能な機種共通のＶ３プリンタドライバを実行する情報処理装置等に、新たな画像形成装置の機種に関する情報を追加することにより、利用可能な機種を追加する技術が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、ＯＳの制限等により、Ｖ４プリンタドライバにはモジュール毎に読み込み可能な記憶領域に制限がある。これにより、Ｖ４プリンタドライバを実行する情報処理装置では、例えば特許文献１と同様に、新たな画像形成装置の機種に関する情報を追加し、利用可能な機種を追加する等、既に情報処理装置にインストールされているＶ４プリンタドライバが利用する情報を追加することには困難を伴う。
【０００５】
従って、例えば、Ｖ４プリンタドライバの各モジュールから情報をアクセス可能な記憶領域であって、予め論理プリンタに対応して定義された記憶領域（ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ）に情報を追加することが考えられる。しかし、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇにはＶ４プリンタドライバのインストール時に定義されていない名称（エントリ）を追加することができないため、プリンタドライバは追加された情報を取得することが困難である。
【０００６】
なお、このような課題は、Ｖ４プリンタドライバに限られず、今後開発されるＶ４プリンタドライバと同様のアーキテクチャを持つ様々なプリンタドライバに同様に存在する。
【０００７】
本発明の実施の形態は、上記の問題点に鑑みてなされたものであって、Ｖ４プリンタドライバ、及び同様のアーキテクチャを持つプリンタドライバを実行する情報処理装置において、論理プリンタに対応する記憶領域に新たな情報を追加することができるようにする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の一実施形態に係る情報処理装置は、画像処理装置に画像処理の要求を行うプリンタドライバを実行する情報処理装置であって、前記プリンタドライバに対応する記憶領域であって、該プリンタドライバから情報を記憶可能な複数のエントリを有する記憶領域に、前記複数のエントリのうち、１つ以上のエントリへの所定の情報の記憶を制御する記憶制御手段と、前記エントリに記憶した情報の識別情報と前記所定の情報を記憶した前記エントリとを対応付ける対応情報を記憶する対応情報記憶手段と、前記対応情報と前記所定の情報の識別情報とに基づいて、前記所定の情報が記憶されたエントリを特定する特定手段と、前記特定手段によって特定された前記エントリから前記所定の情報を取得する取得手段と、を有する。
【発明の効果】
【０００９】
本発明の一実施形態によれば、Ｖ４プリンタドライバ、及び同様のアーキテクチャを持つプリンタドライバを実行する情報処理装置において、論理プリンタに対応する記憶領域に新たな情報を追加することができるようになる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る情報処理システムの一例のシステム構成を示す図である。
【図２】一実施形態に係るクライアント装置及びサーバ装置の一例のハードウェア構成を示す図である。
【図３】一実施形態に係る画像形成装置の一例のハードウェア構成を示す図である。
【図４】クライアント装置の一例のソフトウェア構成を示す図である。
【図５】Ｖ４プリンタドライバ及びストアデバイスアプリがアクセス可能な記憶領域について説明するための図である。
【図６Ａ】第１の実施形態に係るクライアント装置の機能構成の一例を示す図である。
【図６Ｂ】第１の実施形態に係るクライアント装置の機能構成の別の一例を示す図である。
【図７】第１の実施形態に係る予約テーブル及び予約エントリについて説明するための図である。
【図８】第１の実施形態に係るクライアント装置の処理の概要を示すフローチャートである。
【図９】第１の実施形態に係る情報の書き込み処理の例を示すシーケンス図である。
【図１０】第１の実施形態に係る更新された予約テーブルの例を示す図である。
【図１１】第１の実施形態に係る情報の取得処理の例を示すシーケンス図である。
【図１２】第２の実施形態に係るクライアント装置の機能構成図である。
【図１３】第２の実施形態に係る情報追加ツールの表示画面の例を示す図である。
【図１４】第２の実施形態に係る予約テーブル及び予約エントリのイメージを示す図である。
【図１５】第２の実施形態に係るＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇのイメージを示す図である。
【図１６Ａ】第２の実施形態に係る追加機種を選択する際の処理の例を示すシーケンス図である。
【図１６Ｂ】第２の実施形態に係る追加機種を選択する際の表示画面の例を示す図である。
【図１７】第２の実施形態に係る印刷設定画面の例を示す図である。
【図１８】第２の実施形態に係る描画処理の例を示すシーケンス図である。
【図１９】第３の実施形態に係る印刷設定処理の例を示すシーケンス図（１）である。
【図２０】第３の実施形態に係る印刷設定処理の例を示すシーケンス図（２）である。
【図２１】第３の実施形態に係る機種能力情報、及び変換テーブルの例を示す図である。
【図２２】第３の実施形態に係る印刷設定画面の例を示す図である。
【図２３】第３の実施形態に係る印刷処理の例を示すシーケンス図である。
【図２４】第３の実施形態に係る能力情報の生成処理の例を示すシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【００１２】
＜システム構成＞
まず、本実施形態に係る情報処理システム１のシステム構成について、図１を用いて説明する。図１は、一実施形態に係る情報処理システム１の一例のシステム構成を示す図である。
【００１３】
図１に示すように、本実施形態に係る情報処理システム１は、１台以上のクライアント装置１０と、１台以上の画像形成装置２０と、サーバ装置３０とを含み、これら装置はＬＡＮ（Local Area Network）等のネットワークＮを介して互いに通信可能に接続されている。
【００１４】
クライアント装置１０は、例えばＰＣ（パーソナルコンピュータ）、スマートフォン、タブレット端末等である。クライアント装置１０は、例えば、ユーザからの印刷指示を受け付けて、印刷対象データから印刷データを作成した上で、印刷データを画像形成装置２０に送信する。又は、クライアント装置１０は、例えば、ユーザからの印刷指示を受け付けて、印刷対象データをサーバ装置３０に送信する。
【００１５】
なお、印刷対象データとは、例えば、画像データや文書データ等の印刷可能な電子データである。また、印刷データとは、例えば、印刷対象データを、画像形成装置２０が印刷可能なＰＤＬ（Page Description Language）形式に変換した電子データである。
【００１６】
画像形成装置２０は、例えばプリンタ、印刷機能を備えたＭＦＰ（Multifunction Peripheral）等である。画像形成装置２０は、クライアント装置１０又はサーバ装置３０から受信した印刷データを印刷する。
【００１７】
サーバ装置３０は、例えばＰＣ等である。サーバ装置３０は、例えば、クライアント装置１０から受信した印刷対象データから印刷データを作成して、作成した印刷データを画像形成装置２０に送信する。
【００１８】
また、サーバ装置３０は、ファイルサーバとして機能しても良い。すなわち、サーバ装置３０は、例えば、クライアント装置１０から受信した印刷データを記憶しておき、画像形成装置２０からの要求に応じて、記憶した印刷データを要求元の画像形成装置２０に送信しても良い。
【００１９】
なお、以降では、１台以上のクライアント装置１０について、各々を区別するときは、「クライアント装置１０−１」、「クライアント装置１０−２」等と表す。同様に、１台以上の画像形成装置２０について、各々を区別するときは、「画像形成装置２０−１」、「画像形成装置２０−２」等と表す。
【００２０】
＜ハードウェア構成＞
次に、本実施形態に係る情報処理システム１に含まれるクライアント装置１０、画像形成装置２０、及びサーバ装置３０のハードウェア構成について、図２及び図３を用いて説明する。
【００２１】
≪クライアント装置１０及びサーバ装置３０≫
図２は、一実施形態に係るクライアント装置１０及びサーバ装置３０の一例のハードウェア構成を示す図である。なお、クライアント装置１０及びサーバ装置３０は、同様のハードウェア構成を有しているため、以降では、クライアント装置１０のハードウェア構成について説明する。
【００２２】
図２に示すように、本実施形態に係るクライアント装置１０は、入力装置１０１と、表示装置１０２と、外部Ｉ／Ｆ１０３と、ＲＡＭ（Random Access Memory）１０４とを有する。また、クライアント装置１０は、ＲＯＭ（Read Only Memory）１０５と、ＣＰＵ（Central Processing Unit）１０６と、通信Ｉ／Ｆ１０７と、ＨＤＤ（Hard Disk Drive）１０８とを有する。これらのハードウェアは、バスＢで互いに接続されている。
【００２３】
入力装置１０１は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置１０２は、ディスプレイ等を含み、クライアント装置１０による処理結果を表示する。なお、入力装置１０１及び表示装置１０２の少なくとも一方は、必要なときにクライアント装置１０に接続して利用する形態であっても良い。
【００２４】
通信Ｉ／Ｆ１０７は、クライアント装置１０をネットワークＮに接続するインタフェースである。クライアント装置１０は、通信Ｉ／Ｆ１０７を介して通信を行うことができる。
【００２５】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。ＨＤＤ１０８に格納されるプログラムやデータには、クライアント装置１０全体を制御する基本ソフトウェアであるＯＳ（Operating System）、ＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。
【００２６】
なお、クライアント装置１０は、ＨＤＤ１０８に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を有して良い。また、ＨＤＤ１０８は、格納しているプログラムやデータを所定のファイルシステムやＤＢにより管理している。
【００２７】
外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａ等がある。クライアント装置１０は、外部Ｉ／Ｆ１０３を介して記録媒体１０３ａの読み取りや書き込みを行うことができる。記録媒体１０３ａには、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００２８】
ＲＯＭ１０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ１０５には、ＯＳ設定、ネットワーク設定等のプログラムやデータ、及びクライアント装置１０の起動時に実行されるＢＩＯＳ（Basic Input/Output System）が格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリである。
【００２９】
ＣＰＵ１０６は、ＲＯＭ１０５やＨＤＤ１０８等の記憶装置からプログラムやデータをＲＡＭ１０４上に読み出し、当該プログラムやデータに基づく処理を実行することで、クライアント装置１０全体の制御やその他の機能を実現する演算装置である。
【００３０】
本実施形態に係るクライアント装置１０及びサーバ装置３０は、図２に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３１】
≪画像形成装置２０≫
図３は、一実施形態に係る画像形成装置２０の一例のハードウェア構成を示す図である。
【００３２】
図３に示すように、本実施形態に係る画像形成装置２０は、コントローラ２０１と、操作パネル２０２と、外部Ｉ／Ｆ２０３と、通信Ｉ／Ｆ２０４と、プロッタ２０５を有する。また、コントローラ２０１は、ＣＰＵ２１１と、ＲＡＭ２２１と、ＲＯＭ２３１と、ＮＶＲＡＭ２４１と、ＨＤＤ２５１とを有する。
【００３３】
ＲＯＭ２３１は、各種プログラムやデータを格納している不揮発性の半導体メモリである。ＲＡＭ２２１は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＮＶＲＡＭ２４１は、例えば設定情報等を格納している。また、ＨＤＤ２５１は、各種プログラムやデータを格納している不揮発性の記憶装置である。
【００３４】
ＣＰＵ２１１は、ＲＯＭ２３１やＮＶＲＡＭ２４１、ＨＤＤ２５１等からプログラムやデータ、設定情報等をＲＡＭ２２１上に読み出し、当該プログラムやデータに基づく処理を実行することで、画像形成装置２０全体の制御やその他の機能を実現する演算装置である。
【００３５】
操作パネル２０２は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを有する。外部Ｉ／Ｆ２０３は、外部装置とのインタフェースである。外部装置には、記録媒体２０３ａ等がある。画像形成装置２０は、外部Ｉ／Ｆ２０３を介して記録媒体２０３ａの読み取りや書き込みを行うことができる。なお、記録媒体２０３ａには、例えば、ＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３６】
通信Ｉ／Ｆ２０４は、画像形成装置２０をネットワークＮに接続するインタフェースである。画像形成装置２０は、通信Ｉ／Ｆ２０４を介して通信を行うことができる。プロッタ２０５は、印刷データを印刷する印刷装置である。
【００３７】
本実施形態に係る画像形成装置２０は、図３に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３８】
＜クライアント装置１０のソフトウェア構成＞
次に、本実施形態に係るクライアント装置１０のソフトウェア構成について、図４を用いて説明する。図４は、クライアント装置１０の一例のソフトウェア構成を示す図である。
【００３９】
図４に示すように、本実施形態に係るクライアント装置１０は、アプリケーション３０１と、ＯＳ３０２と、プリンタドライバ３０３と、ストアデバイスアプリ３０４とを有する。
【００４０】
アプリケーション３０１は、例えば文書作成ソフト、画像閲覧・編集ソフト、ブラウザ等、ユーザの印刷指示に応じて、ＯＳ３０２に印刷の指示（要求）を行うことができるアプリケーションソフトである。アプリケーション３０１には、ストアアプリ３１１と、デスクトップアプリ３２１とが含まれる。
【００４１】
ストアアプリ３１１は、例えば、Ｗｉｎｄｏｗｓ（登録商標）８／ＷｉｎｄｏｗｓＲＴ及びそれ以降のバージョンのＷｉｎｄｏｗｓＯＳにアプリケーションを提供する「Ｗｉｎｄｏｗｓストア」から、入手可能なアプリケーションである。ストアアプリ３１１では、「ストアアプリ  ＵＩ」が用いられる。なお、Ｗｉｎｄｏｗｓ８及びＷｉｎｄｏｗｓ８．１では、ＯＳ３０２によって提供される「Ｍｏｄｅｒｎ  ＵＩ」又は「Ｍｅｔｒｏ  ＵＩ」とも称されるＵＩからストアアプリ３１１が呼び出される。
【００４２】
一方、デスクトップアプリ３２１は、例えば、Ｗｉｎｄｏｗｓ７以前のバージョンのＷｉｎｄｏｗｓＯＳにおいても使用可能なアプリケーションである。
【００４３】
ＯＳ３０２は、Ｗｉｎｄｏｗｓ８／ＷｉｎｄｏｗｓＲＴ及びそれ以降のバージョンのＷｉｎｄｏｗｓＯＳである。
【００４４】
プリンタドライバ３０３は、例えば、Ｖｅｒｓｉｏｎ４プリンタドライバ（以降では、「Ｖ４プリンタドライバ」と表す。）である。Ｖ４プリンタドライバとは、Ｗｉｎｄｏｗｓ８／ＷｉｎｄｏｗｓＲＴから採用されたアーキテクチャに基づくプリンタドライバである。以降では、プリンタドライバ３０３を「Ｖ４プリンタドライバ３０３」とも表す。
【００４５】
なお、Ｗｉｎｄｏｗｓ８以降のＷｉｎｄｏｗｓＯＳでは、Ｗｉｎｄｏｗｓ２０００からＷｉｎｄｏｗｓ７で使用されていたＶｅｒｓｉｏｎ３プリンタドライバ（以降では、「Ｖ３プリンタドライバ」と表す。）に加えて、Ｖ４プリンタドライバも使用可能である。
【００４６】
プリンタドライバ３０３は、拡張設定部３１３と、設定制御部３２３と、描画部３３３とを含む。
【００４７】
拡張設定部３１３は、プリンタ拡張とも称され、デスクトップアプリ３２１から印刷を行う場合に、ベンダ独自の印刷設定画面を表示する。
【００４８】
設定制御部３２３は、禁則スクリプトとも称され、例えば、印刷設定の組み合わせが正当であるか否かを検証する。拡張設定部３１３は、例えば、設定制御部３２３により正当でないと検証された印刷設定の組み合わせを非表示にすること等ができる。
【００４９】
また、設定制御部３２３は、アプリケーション３０１やＯＳ３０２等からの要求に応じて、プリンタドライバ３０３が設定可能な機能の情報を示すＰｒｉｎｔＣａｐａｂｉｌｉｔｙを返信する。更に、設定制御部３２３は、アプリケーション３０１やＯＳ３０２等からの要求に応じて、プリンタドライバ３０３に設定されている各種機能の設定値をＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇから取得し、取得した設定値を示すＰｒｉｎｔＴｉｃｋｅｔを返信する。また、設定制御部３２３は、ＰｒｉｎｔＴｉｃｋｅｔで示された設定値をＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇに保存する。
【００５０】
なお、ＯＳ３０２に返信されたＰｒｉｎｔＣａｐａｂｉｌｉｔｙやＰｒｉｎｔＴｉｃｋｅｔは、例えば、拡張設定部３１３が表示する印刷設定画面における各機能の現在値の表示、選択肢の表示等に利用される。
【００５１】
描画部３３３は、アプリケーション３０１において印刷指示が行われた印刷対象データから印刷データを作成する。
【００５２】
ストアデバイスアプリ３０４は、ストアアプリ３１１から印刷を行う場合に、ベンダ独自の印刷設定画面を表示する。なお、ストアデバイスアプリ３０４は、ストアアプリ３１１と同様に、「Ｗｉｎｄｏｗｓストア」から入手可能なアプリケーションである。
【００５３】
デスクトップアプリ３２１から印刷を行う場合、プリンタドライバ３０３は、拡張設定部３１３により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。一方で、ストアアプリ３１１から印刷を行う場合、プリンタドライバ３０３は、ストアデバイスアプリ３０４により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。
【００５４】
拡張設定部３１３及びストアデバイスアプリ３０４は、ベンダ独自の印刷設定画面を表示するＵＩ部３０５を構成する。
【００５５】
＜Ｖ４プリンタドライバ３０３及びストアデバイスアプリ３０４がアクセス可能な記憶領域＞
次に、Ｖ４プリンタドライバ３０３及びストアデバイスアプリ３０４がアクセス可能な記憶領域について、図５を用いて説明する。図５は、Ｖ４プリンタドライバ３０３及びストアデバイスアプリ３０４がアクセス可能な記憶領域について説明するための図である。
【００５６】
図５に示すように、拡張設定部３１３、設定制御部３２３、描画部３３３、及びストアデバイスアプリ３０４は、ＰｒｏｐｅｒｔｙＢａｇ４００と呼ばれる記憶領域にアクセスすることができる。なお、このような記憶領域へのアクセスは、ＯＳ３０２によって提供されるＡＰＩ（Application Programming Interface）を用いて行うことができる。
【００５７】
図５に示すように、ＰｒｏｐｅｒｔｙＢａｇ４００には、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ４１０と、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０と、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０とが含まれる。
【００５８】
ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ４１０は、Ｖ４プリンタドライバ３０３を作成するときに決定された構成情報等を記憶する記憶領域である。拡張設定部３１３、設定制御部３２３、描画部３３３、及びストアデバイスアプリ３０４は、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ４１０から各種情報の読み出しが可能である。一方で、拡張設定部３１３、設定制御部３２３、描画部３３３、及びストアデバイスアプリ３０４は、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ４１０に対して、情報の書き込みを行うことはできない。
【００５９】
ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０は、論理プリンタ（プリンタアイコン）毎の設定情報等を記憶する記憶領域である。拡張設定部３１３及びストアデバイスアプリ３０４は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に対して、各種情報の読み出し及び書き込みが可能である。また、設定制御部３２３及び描画部３３３は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に対して、各種情報の読み出しが可能である。
【００６０】
なお、論理プリンタとは、例えば、ＯＳ３０２のプリンタフォルダ等にプリンタアイコンとして表示される仮想的なプリンタである。例えば、クライアント装置１０の利用者は、１つの画像形成装置２０に対して、設定情報（例えば、用紙サイズや向き、印刷品質等）が異なる複数の論理プリンタを作成することができる。
【００６１】
ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０は、論理プリンタ毎に、ユーザ毎の設定情報等を記憶する記憶領域である。拡張設定部３１３、設定制御部３２３、及びストアデバイスアプリ３０４は、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０に対して、各種情報の読み出し及び書き込みが可能である。
【００６２】
また、拡張設定部３１３及び描画部３３３は、更に、独自記憶領域５００に対して、各種情報の読み出し及び書き込みが可能である。
【００６３】
独自記憶領域５００は、例えばレジストリやファイル等を用いて実現され、ＰｒｏｐｅｒｔｙＢａｇ４００とは異なる記憶領域である。独自記憶領域５００は、Ｖ４プリンタドライバ３０３を提供するベンダ等によって定義される。
【００６４】
ストアデバイスアプリ３０４は、ＯＳ３０２の課す制約により、ＰｒｏｐｅｒｔｙＢａｇ４００以外の記憶領域に対してアクセスすることはできない。また、設定制御部３２３は、上述したＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇ及びＰｒｏｐｅｒｔｙＢａｇ４００以外の記憶領域に対してアクセスすることはできない。すなわち、ストアデバイスアプリ３０４及び設定制御部３２３は、独自記憶領域５００に対して、各種情報の読み出しや書き込み等を行うことができない。
【００６５】
このことは、ストアアプリ３１１に課されている制約と同様であり、例えば、ストアデバイスアプリ３０４及び設定制御部３２３が、ＯＳ３０２が使用するレジストリ等を変更し、ＯＳ３０２の動作に悪影響を与えることを防ぐためである。このような技術は、「サンドボックス」等と称されている。
【００６６】
［第１の実施形態］
第１の実施形態では、本発明の実施形態の基本的な構成、及び処理について説明する。
【００６７】
＜機能構成＞
（クライアント装置の機能構成）
図６Ａは、第１の実施形態に係るクライアント装置の機能構成図である。クライアント装置１０は、インストーラ６１０、情報追加ツール６２０、及び前述したプリンタドライバ３０３、ストアデバイスアプリ３０４等のプログラムを実行する情報処理装置である。
【００６８】
インストーラ６１０は、例えば、図２のＣＰＵ１０６で実行されるプログラムによって実現され、インストール部６１１、及び設定ファイル６１２等を含む。
【００６９】
インストール部６１１は、クライアント装置１０に、例えば、プリンタドライバ３０３、設定ファイル６１２等をコピーし、利用できるように登録するインストール処理を実行する。
【００７０】
設定ファイル６１２は、プリンタドライバ３０３の論理プリンタ（プリンタアイコン）に対応する記憶領域であるＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶する情報を定義するファイルである。
【００７１】
設定ファイル６１２には、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶する複数の予約エントリ６３２−１〜６３２−ｎ（ｎは１以上の整数）、及び予約テーブル６３１の情報が、例えば、ＸＭＬ（Extensible Markup Language）形式等で定義されている。なお、以下の説明の中で、複数の予約エントリ６３２−１〜６３２−ｎのうち、任意の予約エントリを示す場合「予約エントリ６３２」を用いる。
【００７２】
予約エントリ６３２は、プリンタドライバ３０３の論理プリンタに対応する記憶領域であるＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に予め用意されるレジストリエントリであり、情報追加ツール６２０等が、任意の情報を書込可能（記憶可能）な領域である。
【００７３】
予約テーブル６３１は、予約エントリ６３２に記憶した情報の識別子と、情報を記憶した予約エントリ６３２とを対応付ける情報であり、例えば、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に予め用意されるレジストリエントリに記憶される。
【００７４】
例えば、情報追加ツール６２０は、複数の予約エントリ６３２−１〜６３２−ｎのうち、１つ以上の予約エントリ６３２に所定の情報（例えば、情報Ａとする）を記憶することができる。また、情報追加ツール６２０は、１つ以上の予約エントリ６３２に記憶した情報Ａの識別子と、情報Ａを記憶した１つ以上の予約エントリの情報とを対応付けて、予約テーブル６３１に記憶する。なお、情報の識別子は、情報追加ツール６２０、プリンタドライバ３０３、ストアデバイスアプリ３０４等が、情報を特定するために用いる予め定められた形式の情報である。
【００７５】
これにより、プリンタドライバ３０３、ストアデバイスアプリ３０４等は、予約テーブル６３１を参照して、情報Ａが記憶された予約エントリ６３２を特定し、特定した予約エントリ６３２から情報Ａを取得することができるようになる。
【００７６】
図７（ａ）は、設定ファイル６１２の例を示している。図７（ａ）の例では、設定ファイル６１２には、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶する予約テーブル６３１、及び、複数の予約エントリ６３２が定義されている。
【００７７】
図７（ａ）の設定ファイル６１２において、「Property Name="ReservedEntryMap"」７１１の情報は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０の予約テーブル６３１を定義する情報である。この情報により、例えば、図７（ｂ）に示すように、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０において、予約テーブル６３１を利用することができるようになる。
【００７８】
「Property Name="ReservedEntry001"」７１２〜「Property Name="ReservedEntry200"」７１３は、複数の予約エントリ６３２を定義する情報であり、図７（ａ）の例では、２００個の予約エントリが定義されている。この情報により、例えば、図７（ｂ）に示すように、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０において、２００個の予約エントリ６３２−１〜６３２−２００を利用することができるようになる。
【００７９】
なお、インストール部６１１によるインストール処理により、設定ファイル６１２は、ＯＳ３０２によって認識される。これにより、プリンタドライバ３０３、ストアデバイスアプリ３０４等は、ＯＳ３０２の所定のインタフェース（例えば、ＩＰｒｉｎｔｅｒＰｒｏｐｅｒｔｙＢａｇ）等を用いて、予約テーブル６３１及び予約エントリ６３２にアクセスすることができるようになる。
【００８０】
情報追加ツール６２０は、例えば、図２のＣＰＵ１０６で実行されるプログラムによって実現され、記憶制御部６２１、及び対応情報管理部６２２等を含む。
【００８１】
記憶制御部６２１は、１つ以上の予約エントリ６３２への所定の情報の記憶を制御する。例えば、記憶制御部６２１は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶された予約テーブル６３１の読み出し、予約エントリ６３２への所定の情報の書き込み等を制御する。
【００８２】
対応情報管理部６２２は、１つ以上の予約エントリ６３２に記憶した所定の情報の識別子（識別情報）と、所定の情報を記憶した１つ以上の予約エントリ６３２とを対応付ける予約テーブル６３１を、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶する。
【００８３】
なお、記憶制御部６２１、及び対応情報管理部６２２は、例えば、プリンタドライバ３０３の拡張設定部３１３等に含まれているものであっても良い。
【００８４】
プリンタドライバ３０３は、図４に示すプリンタドライバ３０３に対応している。クライアント装置１０は、例えば、図２のＣＰＵ１０６でプリンタドライバ３０３を実行することにより、拡張設定部３１３、設定制御部３２３、描画部３３３、及び情報取得部６０１を実現している。
【００８５】
情報取得部６０１は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶された予約テーブル６３１に基づいて、所定の情報が記憶された１つ以上の予約エントリ６３２から所定の情報を取得する。情報取得部６０１は、例えば、特定部６０４、及び取得部６０５を含む。
【００８６】
特定部６０４は、予約テーブル（対応情報）６３１と、所定の情報の識別子（識別情報）とに基づいて、所定の情報が記憶された１つ以上の予約エントリ６３２を特定する。例えば、特定部６０４は、ＯＳ３０２の所定のインタフェース等を用いて、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から予約テーブル６３１を取得する。また、特定部６０４は、予約テーブル６３１を参照して、所定の情報が記憶された１つ以上の予約エントリ６３２を特定する。
【００８７】
取得部６０５は、ＯＳ３０２の所定のインタフェース等を用いて、特定部６０４によって特定された１つ以上の予約エントリ６３２から、所定の情報を取得する。
【００８８】
なお、図６Ａの例では、情報取得部６０１が１つである場合の例が示されているが、情報取得部６０１は、拡張設定部３１３、設定制御部３２３、及び描画部３３３が、別々に有していても良い。
【００８９】
図６Ｂは、第１の実施形態に係るクライアント装置の機能構成の別の一例を示す図である。図６Ｂにおいて、プリンタドライバ３０３の拡張設定部３１３、設定制御部３２３、及び描画部３３３は、それぞれ、情報取得部６０１−１〜６０１−３を有している。
【００９０】
なお、図６Ｂの例では、拡張設定部３１３の内部に情報取得部６０１−１が含まれているが、拡張設定部３１３は、拡張設定部３１３に対応する情報取得部６０１−１を外部に有しているものであっても良い。同様に、設定制御部３２３は、設定制御部３２３に対応する情報取得部６０１−２を外部に有しているものであっても良い。また、描画部３３３は、描画部３３３に対応する情報取得部６０１−３を外部に有しているものであっても良い。
【００９１】
拡張設定部（第１の印刷設定部）３１３は、図４の拡張設定部３１３に対応している。また、本実施形態に係る拡張設定部３１３は、情報取得部６０１が取得した所定の情報を用いて、デスクトップアプリ３２１から、プリンタドライバ３０３の印刷に関する設定を行う印刷設定画面（第１の設定画面）を表示することができる。
【００９２】
設定制御部３２３は、図４の設定制御部３２３に対応している。また、本実施形態に係る設定制御部３２３は、情報取得部６０１が取得した所定の情報を用いて、画像形成装置２０で印刷を行うための設定情報（例えば、ＰｒｉｎｔＴｉｃｋｅｔ、ＰｒｉｎｔＣａｐａｂｉｌｉｔｙ等）を生成することができる。なお、画像形成装置２０は画像処理装置の一例であり、印刷は画像処理の一例である。
【００９３】
描画部３３３は、図４の描画部３３３に対応している。また、本実施形態に係る描画部３３３は、情報取得部６０１が取得した所定の情報を用いて、印刷の対象となるデータを、画像形成装置２０で印刷可能な印刷データに変換することができる。
【００９４】
ストアデバイスアプリ３０４は、図４のストアデバイスアプリ３０４に対応している。クライアント装置１０は、例えば、図２のＣＰＵ１０６でストアデバイスアプリ３０４を実行することにより、情報取得部６０２、及び印刷設定部６０３を実現している。
【００９５】
情報取得部６０２は、プリンタドライバ３０３の情報取得部６０１と同様に、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶された予約テーブル６３１に基づいて、所定の情報が記憶された１つ以上の予約エントリ６３２から所定の情報を取得する。情報取得部６０２は、例えば、情報取得部６０１と同様に、特定部６０４、及び取得部６０５を含む。なお、情報取得部６０２に含まれる特定部６０４、及び取得部６０５の機能は、情報取得部６０１に含まれる特定部６０４、及び取得部６０５の機能と同様なので、ここでは説明を省略する。
【００９６】
印刷設定部（第２の印刷設定部）６０３は、情報取得部６０２が取得した所定の情報を用いて、ストアアプリ３１１から、プリンタドライバ３０３の印刷に関する設定を行う印刷設定画面（第２の設定画面）を表示する。
【００９７】
＜処理の流れ＞
続いて、本実施形態に係る情報処理方法の処理の流れについて説明する。
【００９８】
（処理の概要）
図８は、第１の実施形態に係るクライアント装置の処理の概要を示すフローチャートである。この処理は、クライアント装置１０による一連の処理の一例を示している。
【００９９】
なお、図８に示すフローチャートでは、説明を容易にするため、ステップＳ８０１〜Ｓ８０６の処理を連続して記載しているが、実際には、これらの処理は利用シーンに応じて実行される。例えば、図８に示す処理のうち、ステップＳ８０１〜Ｓ８０３の処理は、プリンタドライバ３０３をクライアント装置１０にインストールする場面等で実行される。また、ステップＳ８０４の処理は、例えば、既にインストールされているプリンタドライバ３０３に機種を追加する場面等で実行される。さらに、ステップＳ８０５、Ｓ８０６の処理は、プリンタドライバを使用して印刷を行う場面等で実行される。
【０１００】
ステップＳ８０１において、例えば、ユーザが、クライアント装置１０でインストーラ６１０を実行することにより、インストーラ６１０のインストール部６１１は、プリンタドライバ３０３をクライアント装置１０にインストールする。
【０１０１】
ステップＳ８０２において、インストーラ６１０のインストール部６１１は、インストールしたプリンタドライバ３０３に対応する論理プリンタ（プリンタアイコン）を生成する。
【０１０２】
ステップＳ８０３において、ＯＳ３０２は、設定ファイル６１２に定義された予約テーブル６３１、及び複数の予約エントリ６３２を、生成された論理プリンタに対応するＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に登録する。これにより、生成された論理プリンタに対応するＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０において、予約テーブル６３１、及び複数の予約エントリ６３２を利用することができるようになる。
【０１０３】
例えば、ステップＳ８０４において、情報追加ツール６２０は、ユーザの操作等に応じて、図９に示す書込処理を実行することにより、１つ以上の予約エントリ６３２に所定の情報を記憶し、予約テーブル６３１を更新する。
【０１０４】
図９は、第１の実施形態に係る情報の書込処理の例を示すシーケンス図である。
【０１０５】
ステップＳ９０１において、情報追加ツール６２０の記憶制御部６２１が、所定の情報の書込要求（例えば、ユーザによる書込操作等）を受付すると、クライアント装置１０は、ステップＳ９０２以降の処理を実行する。
【０１０６】
ステップＳ９０２、Ｓ９０３において、情報追加ツール６２０の記憶制御部６２１は、対象となる論理プリンタに対応するＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から、予約テーブル６３１を読出する。
【０１０７】
ステップＳ９０４において、情報追加ツール６２０の記憶制御部６２１は、読出した予約テーブル６３１を、対応情報管理部６２２に通知する。
【０１０８】
ステップ９０５において、情報追加ツール６２０の対応情報管理部６２２は、通知された予約テーブル６３１を用いて、情報を書き込む予約エントリ６３２を決定する。例えば、対応情報管理部６２２は、予約エントリ６３２−１、６３２−２が使用中であり、予約エントリ６３２−２が空きである場合、予約エントリ６３２−３を書き込む予約エントリ６３２に決定する。なお、対応情報管理部６２２が、空きエントリの中から、書き込む予約エントリ６３２を決定する方法は、任意の方法であって良い。
【０１０９】
ステップＳ９０６において、情報追加ツール６２０の対応情報管理部６２２は、決定した予約エントリ６３２を、記憶制御部６２１に通知する。
【０１１０】
ステップＳ９０７、Ｓ９０８において、情報追加ツール６２０の記憶制御部６２１は、通知された予約エントリ６３２に所定の情報を書き込みする。
【０１１１】
ステップＳ９０９において、情報追加ツール６２０の対応情報管理部６２２は、所定の情報の書込が完了したことを示す完了通知を受付する。
【０１１２】
ステップＳ９１０において、情報追加ツール６２０の対応情報管理部６２２は、例えば、ステップＳ９０７、Ｓ９０８で書き込みした所定の情報の識別子と、書き込みした予約エントリ６３２の情報とを対応付けて予約テーブル６３１に記憶する。この予約エントリ６３２の情報は、少なくともエントリを識別可能な情報である。
【０１１３】
図１０は、第１の実施形態に係る更新された予約テーブルの例を示す図である。図１０の例では、予約テーブル６３１には、１つ以上の予約エントリ６３２に記憶した所定の情報の識別子１０１１と、所定の情報を記憶した１つ以上の予約エントリの情報１０２１とが対応付けて記憶されている。
【０１１４】
例えば、図１０に示す予約テーブル６３１の例では、情報の識別子「Ｉｎｆｏｒｍａｔｉｏｎ＿１」に対応する所定の情報が、予約エントリ（レジストリエントリ）「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００１」に記憶されていることが示されている。
【０１１５】
なお、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０はレジストリであり、１つの予約エントリ６３２に記憶できるデータ量の上限は、ＯＳ３０２に依存している。そのため、情報追加ツール６２０は、１つの予約エントリ６３２に記憶できるデータ量の上限よりもデータ量が大きい情報を記憶する場合、複数の予約エントリ６３２に１つの情報を記憶することができる。
【０１１６】
例えば、図１０の予約テーブル６３１の例では、情報の識別子「Ｉｎｆｏｒｍａｔｉｏｎ＿２」に対応する情報が、３つの予約エントリ「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００２」〜「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００３」に記憶されていることが示されている。
【０１１７】
このような予約テーブル６３１に基づいて、例えば、プリンタドライバ３０３の情報取得部６０１、ストアデバイスアプリ３０４の情報取得部６０２は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から、所定の情報を取得することができる。なお、以下の説明の中で、情報取得部６０１、及び情報取得部６０２のうち、任意の情報取得部を示す場合、「情報取得部」を用いる。
【０１１８】
ここで、図８に戻り、クライアント装置の処理の概要を示すフローチャートの説明を続ける。
【０１１９】
ステップＳ８０５において、情報取得部（情報取得部６０１、又は情報取得部６０２）は、例えば、印刷設定画面を表示するとき等に、図１１に示す情報の取得処理を実行することにより、予約テーブル６３１に基づいて、所定の情報を取得する。
【０１２０】
図１１は、第１の実施形態に係る情報の取得処理の例を示すシーケンス図である。初めに、プリンタドライバ３０３の情報取得部６０１による情報の取得処理の例について説明する。
【０１２１】
ステップＳ１１０１において、プリンタドライバ３０３の情報取得部６０１は、例えば、拡張設定部３１３（又は設定制御部３２３、描画部３３３等）からの情報の取得要求を受付すると、ステップＳ１１０２〜Ｓ１１０６に示す情報の取得処理を実行する。
【０１２２】
ステップＳ１１０２、Ｓ１１０３において、情報取得部６０１の特定部６０４は、プリンタドライバ３０３の論理プリンタに対応するＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から、予約テーブル６３１を読出する。
【０１２３】
ステップＳ１１０４において、情報取得部６０１の特定部６０４は、取得した予約テーブル６３１を用いて、取得したい情報（拡張設定部３１３等から要求された情報）の予約エントリ６３２を特定する。例えば、図１０に示す予約テーブル６３１において、取得したい情報の識別子が「Ｉｎｆｏｒｍａｔｉｏｎ＿１」である場合、取得したい情報の予約エントリ６３２は、「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００１」となる。
【０１２４】
ステップＳ１１０５、Ｓ１１０６において、情報取得部６０１の取得部６０５は、特定した予約エントリ６３２を読出することにより、取得したい情報を取得することができる。
【０１２５】
続いて、ストアデバイスアプリ３０４の情報取得部６０２による情報の取得処理について説明する。
【０１２６】
ステップＳ１１０７において、ストアデバイスアプリ３０４の情報取得部６０２は、例えば、ストアアプリ３１１から印刷設定画面（以下、ＵＩと呼ぶ）が起動されたとき等に、ステップＳ１１０８〜Ｓ１１１２に示す処理を実行する。
【０１２７】
ステップＳ１１０８、Ｓ１１０９において、情報取得部６０２の特定部６０４は、論理プリンタに対応するＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から、予約テーブル６３１を読出する。
【０１２８】
ステップＳ１１１０において、情報取得部６０２の特定部６０４は、取得した予約テーブル６３１を用いて、取得したい情報（ＵＩの表示に必要な情報）の予約エントリ６３２を特定する。例えば、図１０に示す予約テーブル６３１において、取得したい情報の識別子が「Ｉｎｆｏｒｍａｔｉｏｎ＿３」である場合、取得したい情報の予約エントリ６３２は、「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００５」となる。
【０１２９】
ステップＳ１１１１、Ｓ１１１２において、情報取得部６０２の取得部６０５は、特定した予約エントリ６３２を読出することにより、取得したい情報を取得することができる。
【０１３０】
このように、情報取得部（情報取得部６０１、又は情報取得部６０２）は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶された予約テーブル６３１に基づいて、予約エントリ６３２に記憶された所定の情報を取得することができる。
【０１３１】
ここで、再び図８に戻り、クライアント装置の処理の概要を示すフローチャートの説明を続ける。
【０１３２】
ステップＳ８０６において、プリンタドライバ３０３（又はストアデバイスアプリ３０４）は、取得した所定の情報を用いて所定の処理を実行する。
【０１３３】
例えば、所定の情報の要求元がプリンタドライバ３０３の拡張設定部３１３である場合、拡張設定部３１３は、情報取得部６０１が取得した所定の情報を用いて、プリンタドライバ３０３の印刷に関する設定を行うＵＩ（第１の印刷設定画面）を表示する。
【０１３４】
また、所定の情報の要求元がプリンタドライバ３０３の設定制御部３２３である場合、設定制御部３２３は、情報取得部６０１が取得した所定の情報を用いて、画像形成装置２０で印刷を行うための設定情報（ＰｒｉｎｔＴｉｃｋｅｔ等）を生成する。
【０１３５】
さらに、所定の情報の要求元がプリンタドライバ３０３の描画部３３３である場合、描画部３３３は、情報取得部６０１が取得した所定の情報を用いて、印刷の対象となるデータを、画像形成装置２０で印刷可能な印刷データに変換する。
【０１３６】
さらにまた、所定の情報の要求元がストアデバイスアプリ３０４の印刷設定部６０３である場合、印刷設定部６０３は、情報取得部６０１が取得した所定の情報を用いて、プリンタドライバ３０３の印刷に関する設定を行うＵＩ（第２の印刷設定画面）を表示する。
【０１３７】
以上、本実施形態によれば、Ｖ４プリンタドライバ、及び同様のアーキテクチャを持つプリンタドライバ３０３を実行するクライアント装置（情報処理装置）１０において、論理プリンタに対応する記憶領域に新たな情報を追加することができるようになる。
【０１３８】
これにより、Ｖ４プリンタドライバを実行するクライアント装置（情報処理装置）１０においても、特許文献１と同様に、新たな画像形成装置２０の機種に関する情報を追加し、利用可能な機種を容易に追加することができるようになる。
【０１３９】
［第２の実施形態］
第２の実施形態では、本発明の具体的な応用の例として、機種共通のＶ４プリンタドライバ３０３に、追加機種の情報を追加し、利用可能な機種を追加する場合の例について説明する。
【０１４０】
図５を用いて説明したように、プリンタドライバ３０３、及びストアデバイスアプリ３０４は、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ４１０、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０、及びＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０等の記憶領域を利用可能である。
【０１４１】
このうち、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ４１０に記憶された情報は、プリンタドライバ３０３のパッケージ時に決定されており、基本的に変更することはできない。従って、追加機種の情報を記憶するには不向きである。
【０１４２】
また、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０は、ユーザ毎の情報を記憶する記憶領域であり、各ユーザに共通の情報である追加機種の情報を記憶するためには不向きである。
【０１４３】
一方、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０は、論理プリンタ（プリンタアイコン）毎に存在し、ユーザ間で共通の情報を記憶する記憶領域である。また、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０には、例えば、情報追加ツール６２０等のプリンタドライバ３０３以外のプログラムから情報の書込が可能である。従って、追加機種の情報は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶することが望ましい。
【０１４４】
しかし、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に情報を書き込みする場合、ドライバパッケージ内のＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０用の設定ファイル６１２に予め定義されたレジストリエントリしか利用できないという制約がある。
【０１４５】
例えば、下記の例に示すような設定ファイル６１２を有するプリンタドライバ３０３の場合、「InitialSettings」、というレジストリエントリに対して、例えば、情報追加ツール６２０が情報を書き込み、プリンタドライバ３０３から利用することができる。
（例）
<?xml version="1.0" encoding="utf-8"?>
<Properties xmlns= "http://schemas.xxx.com/zzz/yy/mm/printing/queueproperties">
<Property Name="InitialSettings">
<String> </String>
</Property>
</Properties>
しかし、設定ファイル６１２に予め定義された「InitialSettings」以外のレジストリエントリを新たに作成し、例えば、情報追加ツール６２０が情報を書き込み、プリンタドライバ３０３や、ストアデバイスアプリ３０４からは読み込みができない。
【０１４６】
そこで、本実施形態では、第１の実施形態で説明した仕組みを利用して、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に追加機種の情報を追加し、利用することを容易にする方法について説明する。
【０１４７】
＜機能構成＞
図１２は、第２の実施形態に係るクライアント装置の機能構成図である。第２の実施形態に係るクライアント装置１０の情報追加ツール６２０は、図６Ａに示す第１の実施形態に係る情報追加ツール６２０の機能構成に加えて、機種情報追加部１２０４を有している。なお、クライアント装置１０の他の機能構成は、図６Ａに示す第１の実施形態に係るクライアント装置１０の機能構成と同様である。
【０１４８】
なお、第２の実施形態においても、プリンタドライバ３０３の情報取得部６０１は、例えば、図６Ｂに示すように、拡張設定部３１３、設定制御部３２３、及び描画部３３３が、別々に有していても良い。
【０１４９】
機種情報追加部１２０４は、例えば、図１３に示すような情報追加ツールの表示画面１３００を、クライアント装置１０の表示装置１０２に表示させて、選択された追加機種の情報を、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０の予約エントリ６３２に追加する。
【０１５０】
図１３は、第２の実施形態に係る情報追加ツールの表示画面の例を示す図である。図１３に示す情報追加ツールの表示画面１３００において、ユーザは、プルダウンメニュー１３０１を用いて、機種共通のＶ４プリンタドライバであるプリンタドライバ３０３を選択することができる。また、ユーザは、追加機種の一覧１３０２のチェックボックス１３０３を選択することにより、追加する機種を選択することができる。
【０１５１】
さらに、ユーザは、「Ｕｐｄａｔｅ」ボタン１３０４を選択することにより、選択された追加機種の情報を、例えば、図９に示す情報の書込処理により、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に書き込むことができる。なお、追加機種の情報には、例えば、追加機種の一覧１２０１、追加機種の用語１２０２、追加機種の能力１２０３等の情報が含まれる。
【０１５２】
例えば新規に開発された追加機種（例えば、モデルＡ）の情報を追加するものとする。この場合、機種情報追加部１２０４は、追加機種の用語１２０２として、「フィニッシャ Model AAA」や「紙種 XXXX」等の情報を追加し、追加機種の能力１２０３として、「finisher aaa」や「mediatype xxx」等の情報を書き込みする。
【０１５３】
一方、プリンタドライバ３０３（又はストアデバイスアプリ３０４）は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から、上記の追加機種の用語１２０２、追加機種の能力１２０３を取得し、既存の情報（例えば、共通の機種情報等）とマージする。
【０１５４】
これにより、例えば、プリンタドライバ３０３の拡張設定部３１３は、追加機種の能力として、「finisher aaa」や「mediatype xxx」等の情報を取得し、それに対応する用語として、「フィニッシャ Model AAA」や「紙種 XXXX」等の情報を取得することができる。また、拡張設定部３１３は、取得した情報を用いて、印刷に関する情報を設定する印刷設定画面（第１の印刷設定画面）を表示することができるようになる。
【０１５５】
図１４は、第２の実施形態に係る予約テーブル及び予約エントリのイメージを示す図である。この図は、例えば、図１３に示す情報追加ツールの表示画面１３００等により選択された追加機種の情報が追加された後の予約テーブル、及び予約エントリのイメージを示している。
【０１５６】
図１４（ａ）は、予約テーブル６３１のイメージを示している。予約テーブル６３１には、予約エントリ６３２に記憶した所定の情報の識別子１４１１と、所定の情報を記憶した予約エントリ６３２の情報とが対応付けて記憶されている。
【０１５７】
図１４（ａ）の例では、予約テーブル６３１には、追加機種の一覧１２０１に関する情報１４１３、追加機種の用語１２０２に関する情報１４１４、及び追加機種の能力１２０３に関する情報１４１５等が記憶されている。また、予約テーブル６３１には、上記以外の情報１４１６等が含まれていても良い。
【０１５８】
情報１４１３には、追加機種の一覧１２０１を識別する情報の識別子である「ｅｘｔｅｎｄ＿ｍｏｄｅｌ＿ｌｉｓｔ」と、追加機種の一覧１２０１を記憶した予約エントリ６３２の情報「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００１」とが対応付けて記憶されている。なお、予約エントリ６３２の情報「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００１」は、例えば、レジストリであるＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０のレジストリエントリの名前等に対応している。
【０１５９】
同様に、情報１４１４には、追加機種の用語１２０２を識別する情報の識別子である「ｍｏｄｅｌｘｘｘ＿ｗｏｒｄｉｎｇ」と、追加機種の用語１２０２を記憶したレジストリエントリ「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００５」とが対応付けて記憶されている。また、情報１４１５には、追加機種の能力１２０３を識別する情報の識別子である「ｍｏｄｅｌｘｘｘ＿ｃａｐａｂｉｌｉｔｙ」と、追加機種の能力１２０３を記憶したレジストリエントリ「ＲｅｓｅｒｖｅｄＥｎｔｒｙ０１０」とが対応付けて記憶されている。
【０１６０】
図１４（ｂ）は、レジストリエントリ「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００１」に記憶される追加機種の一覧１２０１のイメージを示している。追加機種の一覧１２０１が記憶されたレジストリエントリ「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００１」には、例えば、図１３に示す情報追加ツールの表示画面１３００で選択された１つ以上の追加機種の機種名１４２１が記憶されている。この情報により、情報取得部（情報取得部６０１、又は情報取得部６０２）は、追加された機種の機種名を取得することができる。
【０１６１】
図１４（ｃ）は、レジストリエントリ「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００５」に記憶される、機種名「ｍｏｄｅｌｘｘｘ」に対応する追加機種の用語１２０２である「ｍｏｄｅｌｘｘｘ＿ｗｏｒｄｉｎｇ」のイメージを示している。追加機種の用語１２０２には、例えば、機種情報の定義に用いられる名前（例えば、「ＦｉｎｉｓｈｅｒＡ」等）と、ＵＩ（印刷設定画面等）の表示等で用いられる名前（例えば、「製本機」等）とが対応付けて記憶されている。
【０１６２】
なお、機種名「ｍｏｄｅｌｙｙｙ」に対応する追加機種の用語を取得したい場合には、「ｍｏｄｅｌｙｙｙ＿ｗｏｒｄｉｎｇ」に対応するレジストリエントリ「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００６」から情報を取得すれば良い。なお、任意の機種名「○○○」に対応する追加機種の用語を取得する場合には、「○○○＿ｗｏｒｄｉｎｇ」として、機種名に対応する部分を変更することにより、任意の機種名に対応する追加機種の用語を取得することができる。
【０１６３】
同様にして、例えば、任意の機種名「□□□」に対応する追加機種の能力を取得する場合には、「□□□＿ｃａｐａｂｉｌｉｔｙ」として、機種名に対応する部分を変更することにより、任意の機種名に対応する追加機種の能力を取得することができる。
【０１６４】
図１５は、第２の実施形態に係るＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇのイメージを示す図である。この図は、例えば、図１２に示すＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０を、レジストリエディタ等で表示させた場合の表示画面１５００の一例を示している。
【０１６５】
図１５において、レジストリエントリ１５０１には、予約テーブル６３１であることを示す予め定められた名前「ＲｅｓｅｒｖｅｄＥｎｔｒｙＭａｐ」と、データとして、例えば、図１４（ａ）に示すような予約テーブル６３１が記憶されている。また、レジストリエントリ１５０２には、予約エントリの名前「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００１」と、データとして、例えば、図１４（ｂ）に示す追加機種の一覧１２０１が記憶されている。
【０１６６】
同様にして、レジストリエントリ１５０３には、予約エントリの名前「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００２」と、データとして、例えば、図１４（ｃ）に示す追加機種の用語１２０２が記憶されている。また、レジストリエントリ１５０４には、予約エントリの名前「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００３」と、データとして追加機種の能力１２０３が記憶されている。
【０１６７】
このように、情報追加ツール６２０は、例えば、追加機種の一覧の中から、ユーザによって選択された追加機種の情報を、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶することができる。
【０１６８】
なお、図１５の例では、各レジストリエントリのデータの種類が文字列（ＲＥＧ＿ＳＺ）である場合の例が示されているが、各レジストリエントリのデータの種類は、文字列以外の形式であっても良い。また、各レジストリエントリのデータの種類が文字列の場合であっても、人が認識できる平文である必要はなく、画像等のバイナリを文字列として保存するもの等であっても良い。
【０１６９】
＜処理の流れ＞
続いて、本実施形態に係る情報処理方法の流れについて説明する。
【０１７０】
図１６Ａは、第２の実施形態に係る印刷設定画面の表示処理の例を示すシーケンス図である。この処理は、情報追加ツール６２０が、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶した追加機種の情報を用いて実行する処理の一例として、プリンタドライバ３０３の拡張設定部３１３によるＵＩ（第１の印刷設定画面）の表示処理の例を示している。
【０１７１】
なお、図１６Ａに示す処理の開始時点において、情報追加ツール６２０により、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０には、図１３〜１４で説明した追加機種の情報が記憶されているものとする。
【０１７２】
ステップＳ１６０１において、例えば、デスクトップアプリ３２１により、プリンタドライバ３０３の印刷に関する設定を行うＵＩ（第１の印刷設定画面）が起動されると、ステップＳ１６０２以降の処理が実行される。
【０１７３】
ステップＳ１６０２において、プリンタドライバ３０３の拡張設定部３１３は、追加機種の一覧の取得を、情報取得部６０１に要求する。
【０１７４】
ステップＳ１６０３、Ｓ１６０４において、情報取得部６０１の特定部６０４は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から、例えば、図１４（ａ）に示すような予約テーブル６３１を読出する。
【０１７５】
ステップＳ１１０５において、情報取得部６０１の特定部６０４は、取得した予約テーブル６３１を用いて、追加機種の一覧の予約エントリを特定する。例えば、特定部６０４は、図１４（ａ）に示す予約テーブル６３１から、追加機種の一覧に対応する情報の識別子「ｅｘｔｅｎｄ＿ｍｏｄｅｌ＿ｌｉｓｔ」に対応する予約エントリ「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００１」を特定する。
【０１７６】
ステップＳ１１０６、Ｓ１００７において、情報取得部６０１の取得部６０５は、特定した予約エントリ（例えば、「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００１」）を読出することにより、例えば、図１４（ｂ）に示すような追加機種の一覧を取得する。
【０１７７】
ステップＳ１６０８において、プリンタドライバ３０３の情報取得部６０１は、取得した追加機種の一覧を、拡張設定部３１３に通知する。
【０１７８】
ステップＳ１６０９において、プリンタドライバ３０３の拡張設定部３１３は、ＵＩに、選択可能な機種を、例えば、一覧表示、プルダウンメニュー等で表示する。このとき、拡張設定部３１３が表示させる表示画面（ＵＩ）の例を図１６Ｂに示す。
【０１７９】
図１６Ｂは、第２の実施形態に係る追加機種を選択する際の表示画面の例を示す図である。図１６Ｂの例では、拡張設定部３１３が表示させる表示画面１６２０に、選択可能な機種の一覧１６２１が表示されている。この選択可能な機種の一覧１６２１には、プリンタドライバ３０３が機種情報を予め有している機種に加えて、ステップＳ１６０２〜Ｓ１６０８で取得した追加機種１６２２が含まれる。
【０１８０】
ステップＳ１６１０において、プリンタドライバ３０３の拡張設定部３１３は、選択可能な機種の中から、追加機種の選択を受付した場合、ステップＳ１６１１以降の処理を実行する。
【０１８１】
なお、ステップＳ１６０９、Ｓ１６１０の処理は、拡張設定部３１３による機種の選択方法の一例である。例えば、拡張設定部３１３は、クライアント装置１０に接続されている画像形成装置２０と双方向通信を行うことにより、クライアント装置１０に接続されている画像形成装置２０の機種を選択するもの等であっても良い。
【０１８２】
ステップ１６１１において、プリンタドライバ３０３の拡張設定部３１３は、選択された機種に関する情報の識別子を特定する。
【０１８３】
例えば、ステップＳ１６１０で選択された機種が「ｍｏｄｅｌｘｘｘ」であり、取得する情報が、追加機種の用語１２０２と、追加機種の能力１２０３であるものとする。この場合、拡張設定部３１３は、追加機種の用語に対応する情報の識別子のテンプレート「○○○＿ｗｏｒｄｉｎｇ」の「○○○」を、「ｍｏｄｅｌｘｘｘ」に置き換えて、追加機種の用語に対応する情報の識別子を「ｍｏｄｅｌｘｘｘ＿ｗｏｒｄｉｎｇ」とする。また、拡張設定部３１３は、追加機種の能力に対応する情報の識別子のテンプレート「△△△＿ｃａｐａｂｉｌｉｔｙ」の「△△△」を、「ｍｏｄｅｌｘｘｘ」に置き換えて、追加機種の用語に対応する情報の識別子を「ｍｏｄｅｌｘｘｘ＿ｃａｐａｂｉｌｉｔｙ」とする。
【０１８４】
ステップＳ１６１２において、プリンタドライバ３０３の拡張設定部３１３は、選択された機種の情報の取得を情報取得部６０１に要求する。この要求には、ステップＳ１６１１で特定した情報の識別子が含まれる。
【０１８５】
ステップＳ１６１３、Ｓ１６１４において、情報取得部６０１の特定部６０４は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から予約テーブル６３１を読出する。
【０１８６】
ステップＳ１６１５において、情報取得部６０１の特定部６０４は、取得した予約テーブル６３１を用いて、取得する情報（選択された機種の用語、及び選択された機種の能力）の予約エントリ６３２を特定する。
【０１８７】
例えば、図１４（ａ）に示す予約テーブル６３１において、選択された機種の用語を示す情報の識別子「ｍｏｄｅｌｘｘｘ＿ｗｏｒｄｉｎｇ」は、予約エントリ「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００５」に対応付けられている。また、選択された機種の能力を示す情報の識別子「ｍｏｄｅｌｘｘｘ＿ｃａｐａｂｉｌｉｔｙ」は、予約エントリ「ＲｅｓｅｒｖｅｄＥｎｔｒｙ０１０」に対応付けられている。従って、特定部６０４は、選択された機種の用語が予約エントリ「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００５」に記憶されており、選択された機種の能力１２０３が予約エントリ「ＲｅｓｅｒｖｅｄＥｎｔｒｙ０１０」に記憶されていると特定する。
【０１８８】
ステップＳ１６１６、Ｓ１６１７において、情報取得部６０１の取得部６０５は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から、特定した予約エントリ６３２から情報を読出することにより、取得する情報を取得することができる。
【０１８９】
例えば、取得部６０５は、予約エントリ「ＲｅｓｅｒｖｅｄＥｎｔｒｙ００５」を読出することにより、選択された機種の用語を取得する。また、取得部６０５は、「ＲｅｓｅｒｖｅｄＥｎｔｒｙ０１０」を読出することにより、選択された機種の能力を取得する。
【０１９０】
ステップＳ１６１８において、プリンタドライバ３０３の情報取得部６０１は、選択された機種の情報（選択された機種の用語、及び能力）を、拡張設定部３１３に通知する。
【０１９１】
ステップＳ１６１９において、プリンタドライバ３０３の拡張設定部３１３は、既存の情報（複数の機種に共通の機種情報）と、ステップＳ１６１８で取得した情報とをマージして、選択された機種の機種情報を生成する。また、拡張設定部３１３は、生成した機種情報を用いて、ＵＩ（第１の印刷設定画面）を表示する。
【０１９２】
なお、追加機種の能力１２０３には、例えば、追加された機種で利用可能な機能の情報等が、ＸＭＬフォーマット等で定義されている。また、追加機種の用語１２０２には、例えば、ＸＭＬフォーマット等で定義されている機能等を、ＵＩに表示する際に用いられる文字列等が定義されている。
【０１９３】
図１７は、第２の実施形態に係る印刷設定画面の例を示す図である。図１７に示す印刷設定画面１７００には、一例として、選択された機種１７０１である「ｍｏｄｅｌｘｘｘ」で利用可能なオプションの選択画面１７０２が表示されている。
【０１９４】
例えば、情報追加ツール６２０によって追加された追加機種である「ｍｏｄｅｌｘｘｘ」が、既存の機種が有していないオプション「Ｗｉｄｅ Ｌａｒｇｅ Ｃａｐａｃｉｔｙ Ｔｒａｙ」１７０３を有しているものとする。この場合、拡張設定部３１３は、ステップＳ１６１８で取得した「ｍｏｄｅｌｘｘｘ」の能力及び用語の情報を用いて、新たなオプション「Ｗｉｄｅ Ｌａｒｇｅ Ｃａｐａｃｉｔｙ Ｔｒａｙ」１７０３を、オプションの選択画面１７０２に表示することができるようになる。
【０１９５】
同様にして、ストアデバイスアプリ３０４の印刷設定部６０３は、ＵＩが起動されると、情報取得部６０２を用いて、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶された追加機種の情報を取得し、ＵＩ（第２の印刷設定画面）を表示することができる。
【０１９６】
このように、本実施形態によれば、機種共通のＶ４プリンタドライバを実行するクライアント装置１０に、新たな画像形成装置の機種に関する情報を追加することにより、利用可能な機種を追加することができるようになる。
【０１９７】
なお、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶された追加機種の情報は、プリンタドライバ３０３の設定制御部３２３、及び描画部３３３からも利用することができる。
【０１９８】
図１８は、第２の実施形態に係る描画処理の例を示すシーケンス図である。この処理は、プリンタドライバ３０３の描画部３３３が、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶された追加機種の情報を用いて印刷データを生成する処理の例を示している。なお、ここでは、描画部３３３が印刷データの生成に用いる追加機種の情報（例えば、カラーパレット、ディザ情報等）が、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶されているものとする。
【０１９９】
ディザ情報は、例えば、制限された色数でそれ以上の色調等を表現するディザリングに用いる情報であり、カラーパレットはカラー印刷に用いる色値情報である。ディザ情報、及びカラーパレットは、例えば、機種毎に固有の情報が用いられる追加機種の情報の一例である。
【０２００】
なお、ここでは、例えば、図１６ＡのステップＳ１６０１〜Ｓ１６１０の処理により、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に追加機種の情報が記憶された追加機種が選択されているものとする。また、基本的な処理は、例えば、図１１に示す第１の実施形態に係る情報の取得処理と同様なので、ここでは詳細な説明は省略する。
【０２０１】
ステップＳ１８０１において、プリンタドライバ３０３は、アプリケーション３０１等からの描画要求を、ＯＳ３０２を介して受付すると、ステップＳ１８０２以降の処理を実行する。
【０２０２】
ステップＳ１８０２において、プリンタドライバ３０３の描画部３３３は、選択されている機種のカラーパレット、ディザ情報等の取得を要求する。
【０２０３】
ステップＳ１８０３、Ｓ１８０４において、プリンタドライバ３０３の情報取得部６０１は、描画部３３３からの情報の取得要求を受付すると、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から、予約テーブル６３１を読出する。
【０２０４】
ステップＳ１８０５において、情報取得部６０１は、取得した予約テーブル６３１を用いて、カラーパレット、ディザ情報等の予約エントリ６３２を特定する。
【０２０５】
ステップＳ１８０６、Ｓ１８０７において、情報取得部６０１は、特定した予約エントリ６３２を読出することにより、選択されている機種のカラーパレット、ディザ情報等を取得する。
【０２０６】
ステップＳ１８０８において、プリンタドライバ３０３の情報取得部６０１は、取得したカラーパレット、ディザ情報等を、描画部３３３に通知する。
【０２０７】
ステップＳ１８０９において、プリンタドライバ３０３の描画部３３３は、取得したカラーパレット、ディザ情報等の情報を用いて、印刷データを生成する。
【０２０８】
例えば、このようにして、プリンタドライバ３０３の描画部３３３は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶された追加機種の情報を用いて、印刷データを生成することができる。
【０２０９】
また、プリンタドライバ３０３の設定制御部３２３においても、同様の手順で、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶された追加機種の情報を取得することができる。これにより、設定制御部３２３は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶された追加機種の情報を用いて、例えば、ＰｒｉｎｔＴｉｃｋｅｔや、ＰｒｉｎｔＣａｐａｂｉｌｉｔｙ等の印刷の設定情報を生成することができる。
【０２１０】
なお、第１、２の実施形態では、情報処理装置がクライアント装置１０であるものとして説明を行ったが、情報処理装置は、例えば、プリンタドライバ３０３がインストールされるサーバ装置３０等であっても良い。
【０２１１】
［第３の実施形態］
第３の実施形態では、設定制御部３２３による処理を含む印刷設定画面の表示処理、設定値の保存処理、印刷処理、及び能力情報の生成処理等について説明する。
【０２１２】
なお、第３の実施形態に係るクライアント装置１０の機能構成は、図１２に示す第２の実施形態に係るクライアント装置１０の機能構成と同様である。また、第３の実施形態においても、プリンタドライバ３０３の情報取得部６０１は、例えば、図６Ｂに示すように、拡張設定部３１３、設定制御部３２３、及び描画部３３３が、別々に有していても良い。
【０２１３】
（設定制御部について）
第３の実施形態に係る処理の流れについて説明する前に、設定制御部３２３に関する説明を補足する。
【０２１４】
設定制御部（禁則スクリプト）３２３は、主に、以下に示す３つの役割を持っている。
第１の役割は、Ｄｅｖｍｏｄｅ形式の設定情報と、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報とを相互に変換することである。
【０２１５】
プリンタドライバ３０３の印刷に関する設定情報には、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報（以下、ＰｒｉｎｔＴｉｃｋｅｔと呼ぶ）と、Ｄｅｖｍｏｄｅ形式の設定情報（以下、ＤｅｖＭｏｄｅと呼ぶ）とがある。ＰｒｉｎｔＴｉｃｋｅｔは、例えば、ＸＭＬ形式で表される設定情報であり、文字列等で記載されている。一方、ＤｅｖＭｏｄｅは、バイナリ形式の設定情報であり、ＯＳ３０２により、ＤＥＶＭＯＤＥ構造体に記憶して管理されている。
【０２１６】
プリンタドライバ３０３は、基本的にＰｒｉｎｔＴｉｃｋｅｔを用いて様々な処理を行うが、アプリケーション３０１によって、ＤｅｖＭｏｄｅで印刷の設定が行われる場合と、ＰｒｉｎｔＴｉｃｋｅｔで印刷の設定が行われる場合とがある。従って、プリンタドライバ３０３は、設定制御部３２３を用いて、ＤｅｖＭｏｄｅからＰｒｉｎｔＴｉｃｋｅｔへの変換、及びＰｒｉｎｔＴｉｃｋｅｔからＤｅｖＭｏｄｅへの変換を行う機能を有している。
【０２１７】
例えば、設定制御部３２３は、アプリケーション３０１やＯＳ３０２等からの要求に応じて、ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇからＤｅｖｍｏｄｅ形式の設定値を取得し、取得した設定値をＰｒｉｎｔＴｉｃｋｅｔに変換して返信する。
【０２１８】
また、設定制御部３２３は、アプリケーション３０１やＯＳ３０２等からの要求に応じて、ＰｒｉｎｔＴｉｃｋｅｔをＤｅｖＭｏｄｅに変換し、ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇに記憶する。ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇに記憶された設定情報は、ＯＳ３０２によって、ＤＥＶＭＯＤＥ構造体に反映される。
【０２１９】
設定制御部３２３の第２の役割は、プリンタドライバ３０３の能力情報（ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ）を生成することである。設定制御部３２３は、アプリケーション３０１やＯＳ３０２等からの要求に応じて、プリンタドライバ３０３が設定可能な機能の情報を示す能力情報（以下、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓと呼ぶ）を生成する。
【０２２０】
設定制御部３２３の第３の役割は、印刷設定の禁則設定の制御を行うことである。
設定制御部３２３は、例えば、ＰｒｉｎｔＴｉｃｋｅｔの中に、同時に設定することができない排他関係にある設定値が含まれている場合等に、排他関係を解消するように設定値を変更する。例えば、ＰｒｉｎｔＴｉｃｋｅｔに、用紙サイズ「Ｂ５」、給紙トレイ「トレイ２」が設定されており、トレイ２の用紙サイズが「Ａ４」である場合、設定制御部３２３は、能力情報に含まれるデフォルト設定値（例えば、「自動選択」）に設定値を変更する。
【０２２１】
設定制御部３２３は、印刷に関する設定情報を制御するスクリプト（禁則スクリプト）を実行することにより、上記の３つの機能を実現している。
【０２２２】
＜処理の流れ＞
続いて、第３の実施形態に係る処理の流れについて説明する。なお、ここでは、２の実施形態と同様の処理についての詳細な説明は省略し、第２の実施形態との相違点を中心に説明を行う。
【０２２３】
（印刷設定処理）
図１９は、第３の実施形態に係る印刷設定処理の例を示すシーケンス図である。この処理は、プリンタドライバ３０３が、アプリケーション３０１等からの要求に応じて、印刷設定画面を表示させる処理、及びユーザによって設定された設定情報を記憶する処理の例を示している。なお、図１９に示す処理の開始時点において、例えば、図１６Ａに示す処理により、情報追加ツール６２０で追加された追加機種が選択されているものとする。
【０２２４】
ステップＳ１９０１において、ＯＳ３０２は、例えば、デスクトップアプリ３２１から、印刷設定画面の起動要求を受付する。
【０２２５】
ステップＳ１９０２において、ＯＳ３０２は、印刷設定画面の起動要求に応じて、Ｄｅｖｍｏｄｅ形式の設定情報をＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報に変換する処理を、プリンタドライバ３０３の設定制御部３２３に要求する。例えば、ＯＳ３０２は、予め用意されたＡＰＩ（ｃｏｎｖｅｒｔＤｅｖＭｏｄｅＴｏＰｒｉｎｔＴｉｃｋｅｔ等）を用いて、プリンタドライバ３０３に、ＤｅｖＭｏｄｅからＰｒｉｎｔＴｉｃｋｅｔへの変換を要求する。
【０２２６】
ここでは、前述したように、情報追加ツール６２０で追加された追加機種が選択されているので、プリンタドライバ３０３は、ステップＳ１９０３〜１９０９の処理を実行して、追加機種の情報を取得する。
【０２２７】
ステップＳ１９０３において、設定制御部３２３は、情報取得部６０１に対して、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶されている追加機種の能力１２０３等の取得を要求する。
【０２２８】
なお、図６Ｂに示すように、拡張設定部３１３、設定制御部３２３、及び描画部３３３に、それぞれ、情報取得部６０１−１〜６０１−３が含まれる場合には、図１９の情報取得部６０１の処理は、要求元に含まれる情報取得部によって実行される。例えば、要求元が設定制御部３２３である場合、図１９の情報取得部６０１の処理は、情報取得部６０１−２によって実行される。また、要求元が拡張設定部３１３である場合、図１９の情報取得部６０１の処理は、情報取得部６０１−１によって実行される。
【０２２９】
ステップＳ１９０４、Ｓ１９０５において、情報取得部６０１の特定部６０４は、プリンタドライバ３０３の論理プリンタに対応するＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から、予約テーブル６３１を読出する。
【０２３０】
ステップＳ１９０６において、情報取得部６０１の特定部６０４は、取得した予約テーブル６３１を用いて、取得する情報（追加機種の能力１２０３等）の予約エントリ６３２を特定する。
【０２３１】
ステップＳ１９０７、Ｓ１９０８において、情報取得部６０１の取得部６０５は、特定部６０４が特定した予約エントリ６３２を読出することにより、追加機種の能力１２０３等の情報を取得する。
【０２３２】
ステップＳ１９０９において、情報取得部６０１は、取得した追加機種の能力１２０３等の情報を、設定制御部３２３に通知する。
【０２３３】
ステップＳ１９１０において、設定制御部３２３は、ステップＳ１９０３〜Ｓ１９０９で取得した追加機種の能力１２０３等の情報を用いて、ＤｅｖＭｏｄｅからＰｒｉｎｔＴｉｃｋｅｔへの変換を行うことにより、ＰｒｉｎｔＴｉｃｋｅｔを生成する。
【０２３４】
なお、取得した追加機種の能力１２０３には、例えば、追加した機種の能力情報（以下、機種能力情報と呼ぶ）、及び能力情報に応じたＤｅｖＭｏｄｅとＰｒｉｎｔＴｉｃｋｅｔとの間の変換に用いる変換情報（以下、変換テーブルと呼ぶ）等が含まれる。
【０２３５】
ここで、機種能力情報、及び変換テーブルについて説明する。設定制御部３２３が、ＤｅｖＭｏｄｅからＰｒｉｎｔＴｉｃｋｅｔへの変換を行う際に、例えば、機種能力情報、及び変換テーブル等が用いられる。
【０２３６】
図２１（ａ）は、第３の実施形態に係る機種能力情報の一例を示している。図２１（ａ）の例では、機種能力情報２１１０は、ＸＭＬ形式で記載されており、追加機種が有する「orientation」機能の定義２１１１、及び「layout」機能の定義２１１２が含まれている。なお、「orientation」機能、及び「layout」機能は、追加機種が有する独自の機能の一例である。
【０２３７】
「orientation」機能の定義２１１１において、「"feature" name="orientation"」の記述は、「orientation」機能に関する記述であることを示しており、「"type"="pickone"」の記述は設定値が択一式の選択肢を有することを示している。また、「pickone name="portrait"」と「pickone name"landscape」の記述により、選択肢が「portrait」と「landscape」であることが定義されている。
【０２３８】
好ましくは、「orientation」機能の定義２１１１には、「default="portrait"」の記述により、「orientation」機能のデフォルト値２１１３が「portrait」であることが定義されている。これにより、設定制御部３２３は、例えば、指定された設定値に「orientation」機能の定義２１１１に定義されていない設定値が指定されている等、設定値に矛盾がある場合、設定値をデフォルト値２１１３に変更することにより矛盾を解決することができる。
【０２３９】
また、「layout」機能の定義２１１２には、「bookletがoff 以外では設定できない」ことを示す「constraints=boot!=off"」の記述が含まれる。これにより、設定制御部３２３は、例えば、指定された設定値に「booklet=on」の設定が含まれているときに、設定値を「layout」機能のデフォルト値２１１４に設定することができる。別の一例として、設定制御部３２３は、指定された設定値に矛盾が含まれる場合、設定値を削除すること等により、矛盾を解決するものであっても良い。
【０２４０】
このように、機種能力情報２１１０には、追加された機種の能力（機能の有無、選択肢等）、デフォルト値、禁則処理（排他処理）に用いられる情報等が含まれる。ただし、図２１（ａ）に示す機種能力情報２１１０は一例であり、図２１（ａ）とは異なる形式、項目等を有していても良い。
【０２４１】
図２１（ｂ）は、第３の実施形態に係る変換テーブルの一例を示している。図２１（ｂ）の例では、ＪＳＯＮ（JavaScript Object Notation）形式で記載された変換テーブル２１２０の例が示されている。なお、ＪＳＯＮは、ＪａｖａＳｃｒｉｐｔ（登録商標）におけるオブジェクトの表記法をベースとしたデータ記述言語である。変換テーブル２１２０は、ＪＳＯＮとは異なる形式で記載されたものであっても良い。
【０２４２】
図２１（ｂ）に示されるように、変換テーブル２１２０には、設定情報に含まれる用語の、ＰｒｉｎｔＴｉｃｋｅｔにおける名前を示す「pt_name」２１２１と、ＤｅｖＭｏｄｅにおける名前を示す「dm_name」２１２２とが対応付けて記憶されている。設定制御部３２３は、この変換テーブル２１２０を用いて、各用語を、ＰｒｉｎｔＴｉｃｋｅｔとＤｅｖＭｏｄｅとの間で相互に変換することができる。なお、変換テーブル２１２０は、ＰｒｉｎｔＴｉｃｋｅｔとＤｅｖＭｏｄｅとの間の相互変換に用いられる方法の一例であり、設定制御部３２３は、変換テーブル２１２０とは異なる方法で相互変換を行うものであっても良い。
【０２４３】
図１９のステップＳ１９１０において、設定制御部３２３は、例えば、機種能力情報２１１０と、変換テーブル２１２０とを用いて、ＤｅｖＭｏｄｅをＰｒｉｎｔＴｉｃｋｅｔに変換することにより、ＰｒｉｎｔＴｉｃｋｅｔを生成する。
【０２４４】
ステップＳ１９１１において、設定制御部３２３は、生成したＰｒｉｎｔＴｉｃｋｅｔをＯＳ３０２に通知する。
【０２４５】
ステップＳ１９１２において、ＯＳ３０２は、プリンタドライバ３０３の拡張設定部３１３に、印刷設定画面の表示を要求する。なお、ステップＳ１９０１において、印刷設定画面の起動要求の要求元がストアアプリ３１１である場合、ＯＳ３０２は、拡張設定部３１３に代えて、ストアデバイスアプリ３０４に、印刷設定画面の表示を要求する。
【０２４６】
ステップＳ１９１３において、拡張設定部３１３は、情報取得部６０１に対して、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶されている追加機種の能力１２０３、及び追加機種の用語１２０２等の取得を要求する。
【０２４７】
ステップＳ１９１４、Ｓ１９１５において、情報取得部６０２の特定部６０４は、プリンタドライバ３０３の論理プリンタに対応するＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から、予約テーブル６３１を読出する。
【０２４８】
ステップＳ１９１６において、情報取得部６０２の特定部６０４は、情報取得部６０１の特定部６０４は、取得した予約テーブル６３１を用いて、取得する情報（追加機種の能力１２０３、及び追加機種の用語１２０２等）の予約エントリ６３２を特定する。
【０２４９】
ステップＳ１９１７、Ｓ１９１８において、情報取得部６０２の取得部６０５は、特定部６０４が特定した予約エントリ６３２を読出することにより、追加機種の能力１２０３、及び追加機種の用語１２０２等を取得する。
【０２５０】
ステップＳ１９１９において、情報取得部６０２は、取得した追加機種の能力１２０３、及び追加機種の用語１２０２等を、拡張設定部３１３に通知する。
【０２５１】
続いて、図２０のステップＳ２００１において、プリンタドライバ３０３の拡張設定部３１３は、通知された追加機種の能力１２０３、及び追加機種の用語１２０２等を用いて、印刷の設定情報の設定を行う印刷設定画面を表示装置１０２等に表示させる。
【０２５２】
図２２は、第３の実施形態に係る印刷設定画面の例を示す図である。図２２（ａ）は、既定の印刷設定画面２２１０の例を示している。また、図２２（ｂ）は、追加した機種に関する設定項目２２２１を含む印刷設定画面２２２０の例を示している。このように、本実施形態では、追加した機種に関する設定項目２２２１を含む印刷設定画面２２２０を表示させて、ユーザによる印刷の設定を受け付けることができるようになる。
【０２５３】
図２０に戻り、印刷設定処理のシーケンス図の説明を続ける。
ステップＳ２００２、Ｓ２００３において、拡張設定部３１３は、例えば、図２２（ｂ）に示すような印刷設定画面２２２０で受付した、ユーザによる設定内容を反映したＰｒｉｎｔＴｉｃｋｅｔをＯＳ３０２に通知する。
【０２５４】
ステップＳ２００４において、ＯＳ３０２は、通知されたＰｒｉｎｔＴｉｃｋｅｔの設定内容を記憶（保存）するため、ＰｒｉｎｔＴｉｃｋｅｔをＤｅｖＭｏｄｅに変換する処理を、プリンタドライバ３０３の設定制御部３２３に要求する。例えば、ＯＳ３０２は、予め用意されたＡＰＩ（ｃｏｎｖｅｒｔＰｒｉｎｔＴｉｃｋｅｔＴｏＤｅｖｍｏｄｅ等）を用いて、プリンタドライバ３０３に、ＰｒｉｎｔＴｉｃｋｅｔからＤｅｖＭｏｄｅへの変換を要求する。
【０２５５】
ステップＳ２００５において、設定制御部３２３は、情報取得部６０１に対して、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶されている追加機種の能力１２０３等の取得を要求する。
【０２５６】
なお、図６Ｂに示すように、拡張設定部３１３、設定制御部３２３、及び描画部３３３に、それぞれ、情報取得部６０１−１〜６０１−３が含まれる場合には、図２０の情報取得部６０１の処理は、要求元に含まれる情報取得部によって実行される。例えば、図２０の情報取得部６０１の処理は、情報取得部６０１−２によって実行される。
【０２５７】
ステップＳ２００６、Ｓ２００７において、情報取得部６０１の特定部６０４は、プリンタドライバ３０３の論理プリンタに対応するＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から、予約テーブル６３１を読出する。
【０２５８】
ステップＳ２００８において、情報取得部６０１の特定部６０４は、取得した予約テーブル６３１を用いて、取得する情報（追加機種の能力１２０３等）の予約エントリ６３２を特定する。
【０２５９】
ステップＳ２００９、Ｓ２０１０において、情報取得部６０１の取得部６０５は、特定部６０４が特定した予約エントリ６３２を読出することにより、追加機種の能力１２０３等の情報を取得する。
【０２６０】
ステップＳ２０１１において、情報取得部６０１は、取得した追加機種の能力１２０３等の情報を、設定制御部３２３に通知する。
【０２６１】
ステップＳ２０１２において、設定制御部３２３は、通知された追加機種の能力１２０３に含まれる機種能力情報２１１０と、変換テーブル２１２０とを用いて、ＰｒｉｎｔＴｉｃｋｅｔをＤｅｖＭｏｄｅに変換する。設定制御部３２３は、図１９のステップＳ１９１０で説明したＤｅｖＭｏｄｅからＰｒｉｎｔＴｉｃｋｅｔに変換する処理と同様にして、ＰｒｉｎｔＴｉｃｋｅｔをＤｅｖＭｏｄｅに変換する処理を行うことができる。
【０２６２】
ステップＳ２０１３、Ｓ２０１４において、設定制御部３２３は、生成されたＤｅｖＭｏｄｅ（Ｄｅｖｍｏｄｅ形式の設定情報）を、ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇに記憶（保存）し、完了通知をＯＳ３０２に通知する。
【０２６３】
ステップＳ２０１５において、ＯＳ３０２は、ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇに記憶された設定情報を、ＤＥＶＭＯＤＥ構造体に反映させる。
【０２６４】
上記の処理により、クライアント装置１０は、追加された機種に対する印刷設定画面をクライアント装置１０表示させて、ユーザによる印刷設定の変更を受付し、記憶することができるようになる。
【０２６５】
（印刷処理）
図２３は、第３の実施形態に係る印刷処理の例を示すシーケンス図である。この処理は、図１９、２０に示した印刷設定処理によって設定された追加された機種の印刷設定情報を用いて、印刷を実行する場合の処理の例を示している。
【０２６６】
なお、図２３に示す処理の開始時点において、例えば、図１６Ａに示す追加機種を選択する際の処理により、情報追加ツール６２０で追加された追加機種が選択されているものとする。また、例えば、図１９、２０に示した印刷設定処理により、追加された機種の印刷設定情報が設定されているものとする。
【０２６７】
ステップＳ２３０１において、ＯＳ３０２は、例えば、デスクトップアプリ３２１から、印刷要求を受付する。
【０２６８】
ステップＳ２３０２において、ＯＳ３０２は、印刷要求の受付に応じて、Ｄｅｖｍｏｄｅ形式の設定情報をＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報に変換する処理を、プリンタドライバ３０３の設定制御部３２３に要求する。
【０２６９】
なお、図６Ｂに示すように、拡張設定部３１３、設定制御部３２３、及び描画部３３３に、それぞれ、情報取得部６０１−１〜６０１−３が含まれる場合には、図２３の情報取得部６０１の処理は、要求元に含まれる情報取得部によって実行される。例えば、要求元が設定制御部３２３である場合、図２３の情報取得部６０１の処理は、情報取得部６０１−２によって実行される。また、要求元が描画部３３３である場合、図２３の情報取得部６０１の処理は、情報取得部６０１−３によって実行される。
【０２７０】
ステップＳ２３０３において、設定制御部３２３は、情報取得部６０１に対して、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶されている追加機種の能力１２０３等の取得を要求する。
【０２７１】
ステップＳ２３０４、Ｓ２３０５において、情報取得部６０１の特定部６０４は、プリンタドライバ３０３の論理プリンタに対応するＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から、予約テーブル６３１を読出する。
【０２７２】
ステップＳ２３０６において、情報取得部６０１の特定部６０４は、取得した予約テーブル６３１を用いて、取得する情報（追加機種の能力１２０３等）の予約エントリ６３２を特定する。
【０２７３】
ステップＳ２３０７、Ｓ２３０８において、情報取得部６０１の取得部６０５は、特定部６０４が特定した予約エントリ６３２を読出することにより、追加機種の能力１２０３等の情報を取得する。
【０２７４】
ステップＳ２３０９において、情報取得部６０１は、取得した追加機種の能力１２０３等の情報を、設定制御部３２３に通知する。この追加機種の能力１２０３には、図２１で説明した機種能力情報２１１０、変換テーブル２１２０等の情報が含まれる。
【０２７５】
ステップＳ２３１０において、設定制御部３２３は、ステップＳ２００３〜２００９で取得した追加機種の能力１２０３等の情報を用いて、ＤｅｖＭｏｄｅからＰｒｉｎｔＴｉｃｋｅｔへの変換を行うことにより、ＰｒｉｎｔＴｉｃｋｅｔを生成する。
【０２７６】
このとき、設定制御部３２３は、追加された機種の情報がないと、ＤｅｖＭｏｄｅからＰｒｉｎｔＴｉｃｋｅｔへの変換方法が判らないので、ステップＳ２３０３〜Ｓ２３０９の処理により、機種能力情報２１１０、変換テーブル２１２０を取得する。設定制御部３２３は、例えば、プリンタドライバ３０３の論理プリンタに対応するＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇからＤｅｖＭｏｄｅ形式の設定値を読出し、機種能力情報２１１０、変換テーブル２１２０を用いて、ＰｒｉｎｔＴｉｃｋｅｔに変換する。
【０２７７】
ステップＳ２３１１において、設定制御部３２３は、生成したＰｒｉｎｔＴｉｃｋｅｔをＯＳ３０２に通知する。
【０２７８】
ステップＳ２３１２において、ＯＳ３０２は、プリンタドライバ３０３の描画部３３３に印刷命令を出す。この印刷命令には、ステップＳ２３１１で通知されたＰｒｉｎｔＴｉｃｋｅｔが含まれる。
【０２７９】
ステップＳ２３１３において、プリンタドライバ３０３の描画部３３３は、情報取得部６０１に対して、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶されている追加機種の能力１２０３、及び追加機種の用語１２０２等の取得を要求する。
【０２８０】
ステップＳ２３１４、Ｓ２３１５において、情報取得部６０２の特定部６０４は、プリンタドライバ３０３の論理プリンタに対応するＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から、予約テーブル６３１を読出する。
【０２８１】
ステップＳ２３１６において、情報取得部６０２の特定部６０４は、情報取得部６０１の特定部６０４は、取得した予約テーブル６３１を用いて、取得する情報（追加機種の能力１２０３、及び追加機種の用語１２０２等）の予約エントリ６３２を特定する。
【０２８２】
ステップＳ２３１７、Ｓ２３１８において、情報取得部６０２の取得部６０５は、特定部６０４が特定した予約エントリ６３２を読出することにより、追加機種の能力１２０３、及び追加機種の用語１２０２等を取得する。
【０２８３】
ステップＳ２０１９において、情報取得部６０２は、取得した追加機種の能力１２０３、及び追加機種の用語１２０２等を、描画部３３３に通知する。
【０２８４】
ステップＳ２３２０において、描画部３３３は、印刷命令に含まれているＰｒｉｎｔＴｉｃｋｅｔと、取得した追加機種の能力１２０３、及び追加機種の用語１２０２等を用いて、印刷データを生成する。このとき、描画部３３３は、ステップＳ２３１３〜Ｓ１３１９で取得した追加機種の能力１２０３、及び追加機種の用語１２０２等を用いて、追加された機種に固有のコマンド等を利用することができる。
【０２８５】
ステップＳ２３２１において、描画部３３３は、生成した印刷データを、例えば、ＯＳ３０２を介して、画像形成装置２０に送信することにより、印刷を実行する。
【０２８６】
上記の処理により、クライアント装置１０は、追加された機種の固有のコマンドを用いて、印刷処理を実行することができるようになる。
【０２８７】
（能力情報の生成処理）
本発明は、設定制御部３２３が、プリンタドライバ３０３の能力情報（ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ等）を生成するときにも適用することができる。
【０２８８】
図２４は、第３の実施形態に係る能力情報の生成処理の例を示すシーケンス図である。例えば、アプリケーション３０１が、ＯＳ０３２にプリンタドライバ３０３の設定情報を要求したとき等に、ＯＳ３０２から設定制御部３２３にＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ形式の設定情報の作成（取得）が要求される。また、これ以外にも、印刷設定画面の起動時や、印刷時等にも、ＯＳ３０２から設定制御部３２３にＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ形式の設定情報の作成が要求される。このような場合、図２４に示す能力情報の生成処理が実行される。
【０２８９】
ステップＳ２４０１において、アプリケーション３０１が、ＯＳ３０２にプリンタドライバ３０３の能力情報の取得を要求する。
【０２９０】
ステップＳ２４０２において、ＯＳ３０２は、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ形式の能力情報の作成を、設定制御部３２３に要求する。
【０２９１】
ステップＳ２４０３において、設定制御部３２３は、情報取得部６０１に対して、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に記憶されている追加機種の能力１２０３等の取得を要求する。
【０２９２】
なお、図６Ｂに示すように、拡張設定部３１３、設定制御部３２３、及び描画部３３３に、それぞれ、情報取得部６０１−１〜６０１−３が含まれる場合には、図２４の情報取得部６０１の処理は、要求元に含まれる情報取得部によって実行される。例えば、図２４の情報取得部６０１の処理は、情報取得部６０１−２によって実行される。
【０２９３】
ステップＳ２４０４、Ｓ２４０５において、情報取得部６０１の特定部６０４は、プリンタドライバ３０３の論理プリンタに対応するＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０から、予約テーブル６３１を読出する。
【０２９４】
ステップＳ２４０６において、情報取得部６０１の特定部６０４は、取得した予約テーブル６３１を用いて、取得する情報（追加機種の能力１２０３等）の予約エントリ６３２を特定する。
【０２９５】
ステップＳ２４０７、Ｓ２４０８において、情報取得部６０１の取得部６０５は、特定部６０４が特定した予約エントリ６３２を読出することにより、追加機種の能力１２０３等の情報を取得する。
【０２９６】
ステップＳ２４０９において、情報取得部６０１は、取得した追加機種の能力１２０３等の情報を、設定制御部３２３に通知する。
【０２９７】
ステップＳ２４１０、Ｓ２４１１において、設定制御部３２３は、取得した追加機種の能力１２０３等の情報を用いて、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ形式の能力情報を生成し、ＯＳ３０２に通知する。
【０２９８】
ステップＳ２４１２において、ＯＳ３０２は、通知された能力情報を用いて、アプリケーション３０１にプリンタドライバ３０３の能力情報を通知する。
【０２９９】
上記の処理により、プリンタドライバ３０３の設定制御部３２３は、追加された機種の能力情報を生成することができるようになる。
【０３００】
以上、本発明の各実施形態によれば、Ｖ４プリンタドライバ、及び同様のアーキテクチャを持つプリンタドライバ３０３を実行するクライアント装置１０において、論理プリンタに対応する記憶領域に新たな情報を追加し、利用することができるようになる。
【符号の説明】
【０３０１】
１          情報処理システム
１０        クライアント装置（情報処理装置）
２０        画像形成装置（画像処理装置）
３０        サーバ装置
３０１      アプリケーション
３０２      ＯＳ
３０３      プリンタドライバ
３０４      ストアデバイスアプリ
３０５      ＵＩ部
３１１      ストアアプリ
３１３      拡張設定部（第１の印刷設定部）
３２１      デスクトップアプリ
３２３      設定制御部
３３３      描画部
４００      ＰｒｏｐｅｒｔｙＢａｇ
４２０      ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ（論理プリンタに対応する記憶領域）
６０１、６０２      情報取得部
６０４      特定部
６０５      取得部
６２０      情報追加ツール
６２１      記憶制御部
６２２      対応情報管理部
６３１      予約テーブル（対応情報）
６３２−１〜６３２−ｎ      予約エントリ
１０１１    情報の識別子（情報の識別情報）
１０２１、１０２２      予約エントリの情報
１７００      印刷設定画面
【先行技術文献】
【特許文献】
【０３０２】
【特許文献１】特開２０１４−１０６５６３号公報
【図１】
2018185779.tif 000003
【図２】
2018185779.tif 000004
【図３】
2018185779.tif 000005
【図４】
2018185779.tif 000006
【図５】
2018185779.tif 000007
【図６Ａ】
2018185779.tif 000008
【図６Ｂ】
2018185779.tif 000009
【図７】
2018185779.tif 000010
【図８】
2018185779.tif 000011
【図９】
2018185779.tif 000012
【図１０】
2018185779.tif 000013
【図１１】
2018185779.tif 000014
【図１２】
2018185779.tif 000015
【図１３】
2018185779.tif 000016
【図１４】
2018185779.tif 000017
【図１５】
2018185779.tif 000018
【図１６Ａ】
2018185779.tif 000019
【図１６Ｂ】
2018185779.tif 000020
【図１７】
2018185779.tif 000021
【図１８】
2018185779.tif 000022
【図１９】
2018185779.tif 000023
【図２０】
2018185779.tif 000024
【図２１】
2018185779.tif 000025
【図２２】
2018185779.tif 000026
【図２３】
2018185779.tif 000027
【図２４】
2018185779.tif 000028