(57)【要約】【課題】      デバイスドライバのカスタマイズの操作性を向上させること。【解決手段】  印刷装置を制御するデバイスドライバを、プロパティの設定によりカスタマイズする情報処理装置は、複数のデバイスドライバを特定する特定部と、デバイスドライバのカスタマイズ指示に応じて、デバイスドライバに対するプロパティ情報を、特定部が特定した複数のデバイスドライバに設定する設定部とを備える。【選択図】    図１９
2006309724.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置を制御するデバイスドライバを、プロパティの設定によりカスタマイズする情報処理装置であって、
複数のデバイスドライバを特定する特定手段と、
前記特定手段が特定した複数のデバイスドライバに対してカスタマイズ操作がなされた後に入力されるカスタマイズ完了指示に応じて、デバイスドライバに対するプロパティ情報を、前記特定手段が特定した複数のデバイスドライバに対して設定する設定手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記設定手段は、前記複数のデバイスドライバに対するプロパティ情報が設定されているか判定し、当該プロパティ情報が設定されている場合に、当該プロパティ情報を前記情報ファイルに書き込むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記設定されたプロパティ情報に対応するデータに基づいて、カスタマイズしたユーザインタフェースを表示手段に表示させる表示制御手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記表示制御手段は、前記設定手段により設定されたプロパティ情報に基づいて、前記ユーザインタフェースにおける項目の有効表示、無効表示または非表示を制御することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記表示制御手段は、前記デバイスドライバの起動時において、前記デバイスドライバの情報ファイルを参照して得られるプロパティ情報に基づいて前記ユーザインタフェースを表示させることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記複数のデバイスドライバは、複数の機種にそれぞれ対応するものであって、かつ、同じデバイスドライバセットに含まれるものであり、前記複数のデバイスドライバが読み出し可能な設定ファイルに前記設定手段はプロパティ情報を書き込むことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記特定手段は、情報処理装置のメモリに記憶されたデータからデバイスドライバのリスト又は機種を読み込んで、前記設定手段がプロパティ情報を設定するためのデバイスドライバを特定することを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記特定手段は、外部からの選択指示により、前記設定手段がプロパティ情報を設定するためのデバイスドライバを特定することを特徴とする請求項１に記載の情報処理装置。
【請求項９】
印刷装置を制御するデバイスドライバを、プロパティの設定によりカスタマイズする情報処理装置の制御方法であって、
複数のデバイスドライバを特定する特定工程と、
前記特定手段が特定した複数のデバイスドライバに対してカスタマイズ操作がなされた後に入力されるカスタマイズ完了指示に応じて、デバイスドライバに対するプロパティ情報を、前記特定工程が特定した複数のデバイスドライバに設定する設定工程と
を備えることを特徴とする制御方法。
【請求項１０】
前記設定工程は、前記複数のデバイスドライバに対するプロパティ情報が設定されているか判定し、当該プロパティ情報が設定されている場合に、当該プロパティ情報を前記情報ファイルに書き込むことを特徴とする請求項９に記載の制御方法。
【請求項１１】
前記設定されたプロパティ情報に対応するデータに基づいて、カスタマイズしたユーザインタフェースを表示手段に表示させる表示制御工程を更に備えることを特徴とする請求項９に記載の制御方法。
【請求項１２】
前記表示制御工程は、前記設定工程により設定されたプロパティ情報に基づいて、前記ユーザインタフェースにおける項目の有効表示、無効表示または非表示を制御することを特徴とする請求項１１に記載の制御方法。
【請求項１３】
前記表示制御工程は、前記デバイスドライバの起動時において、前記デバイスドライバの情報ファイルを参照して得られるプロパティ情報に基づいて前記ユーザインタフェースを表示させることを特徴とする請求項１２に記載の制御方法。
【請求項１４】
前記複数のデバイスドライバは、複数の機種にそれぞれ対応するものであって、かつ、同じデバイスドライバセットに含まれるものであり、前記複数のデバイスドライバが読み出し可能な設定ファイルに前記設定工程はプロパティ情報を書き込むことを特徴とする請求項９に記載の制御方法。
【請求項１５】
前記特定工程は、情報処理装置のメモリに記憶されたデータからデバイスドライバのリスト又は機種を読み込んで、前記設定工程がプロパティ情報を設定するためのデバイスドライバを特定することを特徴とする請求項９記載の制御方法。
【請求項１６】
前記特定工程は、外部からの選択指示により、前記設定工程がプロパティ情報を設定するためのデバイスドライバを特定することを特徴とする請求項９に記載の制御方法。
【請求項１７】
印刷装置を制御するデバイスドライバを、プロパティの設定によりカスタマイズする情報処理装置の制御方法をコンピュータに実行させる制御プログラムを格納したコンピュータ読み取り可能な記憶媒体であって、
複数のデバイスドライバを特定する特定工程と、
前記特定手段が特定した複数のデバイスドライバに対してカスタマイズ操作がなされた後に入力されるカスタマイズ完了指示に応じて、デバイスドライバに対するプロパティ情報を、前記特定工程が特定した複数のデバイスドライバに設定する設定工程と
を備えることを特徴とする記憶媒体。
【請求項１８】
複数のデバイスドライバをインストールするためのドライバ情報を含むインストールセットを生成する情報処理装置であって、
カスタマイズすべき複数のデバイスドライバを特定する特定手段と、
前記特定手段が特定した複数のデバイスドライバに対する印刷設定をカスタマイズすることによりプロパティ情報を設定する設定手段と、
前記設定手段により設定されたプロパティ情報を有する複数のデバイスドライバを含むインストールセットを形成する形成手段と
を備えることを特徴とする情報処理装置。
【請求項１９】
カスタマイズプログラムに予め読み込ませたドライバ情報を用いて前記特定手段は複数のデバイスドライバを特定することを特徴とする請求項１８に記載の情報処理装置。
【請求項２０】
前記ドライバ情報は、前記設定手段により設定されたプロパティ情報を有する複数のデバイスドライバをインストールする際に用いられる情報であることを特徴とする請求項１８に記載の情報処理装置。
【請求項２１】
複数のデバイスドライバをインストールするためのドライバ情報を含むインストールセットを生成する情報処理方法であって、
カスタマイズすべき複数のデバイスドライバを特定する特定工程と、
前記特定工程が特定した複数のデバイスドライバに対する印刷設定をカスタマイズすることによりプロパティ情報を設定する設定工程と、
前記設定工程により設定されたプロパティ情報を有する複数のデバイスドライバを含むインストールセットを形成する形成工程と
を備えることを特徴とする情報処理方法。
【請求項２２】
カスタマイズプログラムに予め読み込ませたドライバ情報を用いて前記特定工程は複数のデバイスドライバを特定することを特徴とする請求項２１に記載の情報処理方法。
【請求項２３】
前記ドライバ情報は、前記設定工程により設定されたプロパティ情報を有する複数のデバイスドライバをインストールする際に用いられる情報であることを特徴とする請求項２１に記載の情報処理方法。
【請求項２４】
複数のデバイスドライバをインストールするためのドライバ情報を含むインストールセットを生成する情報処理方法をコンピュータに実行させる制御プログラムであって、
カスタマイズすべき複数のデバイスドライバを特定する特定工程と、
前記特定工程が特定した複数のデバイスドライバに対する印刷設定をカスタマイズすることによりプロパティ情報を設定する設定工程と、
前記設定工程により設定されたプロパティ情報を有する複数のデバイスドライバを含むインストールセットを形成する形成工程と
を備えること特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスドライバをカスタマイズする情報処理技術に関するものである。
【背景技術】
【０００２】
印刷装置を制御する印刷制御プログラム（プリンタドライバ）に関しては、従来から、印刷システムの導入環境に応じて、使用する印刷処理装置を制御するプリンタドライバのカスタマイズを行ないたいという要望があった。特に、近年は、印刷システムの導入先の多様化に伴い、顧客の使用態様も多様化し、プリンタドライバに対するカスタマイズ要望は増加傾向にある。
【０００３】
その要望に対応するため、従来における印刷処理装置のプリンタドライバにおいても、デフォルト設定値の変更や、プリンタドライバのユーザインタフェース（以下、単に「UI」と記す。）において、顧客の使用態様に応じて設定変更ができない項目を指定して、その項目に対する入力を受け付けないようにする入力制御(以下、「Disable処理」という)等が可能なカスタマイズ技術（カスタマイズシステム）を提供していた。
【０００４】
上述の先行技術として、例えば、特許文献１や特許文献２が存在する。
【特許文献１】特開平８−２７８８７１号公報
【特許文献２】特開２００３−２０８２７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しながら、従来のカスタマイズシステムでは、カスタマイズされたプリンタドライバのインストールセットを作成するためには、まず、カスタマイズの対象とするプリンタドライバを対象ＯＳにインストールする。そして、その環境においてカスタマイズプリンタドライバのインストールセットを作成するツールを起動する必要があった。
【０００６】
また、１つのドライバセットに入っている複数のプリンタドライバを、同時にカスタマイズしようとしても、カスタマイズを行なうプログラムが、1度に1つ（１機種分）のプリンタドライバしかカスタマイズすることができなかった。従って、複数のプリンタドライバをカスタマイズする場合、まず、１機種のプリンタドライバをカスタマイズし、カスタマイズしたドライバセットに対して、次のプリンタドライバドライバに対して同様のカスタマイズを行なう必要があった。
【０００７】
その理由としては、従来のカスタマイズツールは、ドライバを一旦情報処理装置に対してインストールした状態でしかカスタマイズできなかったからである。別のドライバをカスタマイズするためには、当該別のドライバをインストールして、カスタマイズドライバを再起動してドライバのカスタマイズをすることが必要であった。
【０００８】
複数の種類の印刷装置が存在しているネットワーク環境において、情報インフラ管理者がそれぞれの印刷装置に対応したカスタマイズドライバを作成しようとした場合、印刷装置の種類ごとに同様のカスタマイズ手順を繰り返し行なわなければならない。そのため、情報インフラ管理者にとっては負担が大きいものであり、作成効率もよくないものであった。
【０００９】
本発明は、上述の従来技術を鑑みてなされたものである。カスタマイズの操作性向上を目的とする。
【００１０】
更に、ひとつのカスタマイズの処理の中で、複数のプリンタドライバをカスタマイズすることを可能にする情報処理技術の提供を別の目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る情報処理装置は、
印刷装置を制御するデバイスドライバを、プロパティの設定によりカスタマイズする情報処理装置であって、
複数のデバイスドライバを特定する特定手段と、
前記特定手段が特定した複数のデバイスドライバに対してカスタマイズ操作がなされた後に入力されるカスタマイズ完了指示に応じて、デバイスドライバに対するプロパティ情報を、前記特定手段が特定した複数のデバイスドライバに対して設定する設定手段と
を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、複数のプリンタドライバをプリンタドライバのカスタマイズ操作の後の、１回のカスタマイズ完了指示により、同時にカスタマイズすることが可能になる。
【発明を実施するための最良の形態】
【００１３】
[第１実施形態]
以下、添付図面を参照して本発明の好適な実施形態を説明する。なお、本実施形態ではMicrosoft（登録商標）社製PC用ＯＳ（Operating System）であるWindows（登録商標）のプリンタドライバをカスタマイズする方法を例として説明する。
【００１４】
図１は、本発明の実施形態に係る印刷処理システムの構成を示すブロック図である。この印刷処理システムは、情報処理装置（以下、「ホストコンピュータ」ともいう）３０００と、このホストコンピュータ３０００より印刷データを受信して印刷を行なうプリンタ１５００を備えている。
【００１５】
ホストコンピュータ３０００において、ＣＰＵ１は、ＲＡＭ２に記憶されているプログラムに従って、システムバス４に接続される各デバイスを総括的に制御している。このＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等としても機能している。ＲＯＭ３は、各種プログラム及びデータを格納しており、各種フォントを記憶するフォントＲＯＭ３ａ、ブートプログラムやＢＩＯＳ等を記憶するプログラムＲＯＭ３ｂ、及び各種データを記憶するデータＲＯＭ３ｃに区分けして構成されている。
【００１６】
キーボードコントローラ（ＫＢＣ）５は、キーボード（ＫＢ）９や不図示のポインティングデバイス（マウス）からのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６は、ＣＲＴディスプレイ（ＣＲＴ）１０への表示を制御している。ディスクコントローラ（ＤＫＣ）７は、ハードディスクなどの外部メモリ１１へのアクセスを制御している。プリンタコントローラ（ＰＲＴＣ）８は、双方向性インターフェース２１を介してプリンタ１５００に接続され、プリンタ１５００との間で通信制御処理を行なう。
【００１７】
外部メモリ１１は、例えばハードディスク（ＨＤ）やＭＯ或はフロッピー(登録商標)ディスク（ＦＤ）等である。図示の如く、オペレーティングシステムプログラム（以下、ＯＳ）２０５をはじめ各種アプリケーション（例えば、図形、イメージ、文字、表等が混在した文書処理を行なう文書処理アプリケーションプログラム）２０１を記憶している。また、外部メモリ１１は、印刷処理関連プログラム２０４を記憶している他に、ユーザファイル、編集ファイル等も記憶している。印刷処理関連プログラム２０４は、ページ記述言語を用いて記述される印刷データを生成するプログラムであって、同系列の複数のプリンタに対して共通に利用され得る。この印刷処理関連プログラム２０４はプリンタ制御コマンド生成モジュール（以下、プリンタドライバ）２０４１、プリンタドライバＵＩ制御モジュール２０４２をも含んでいる。
【００１８】
外部メモリ１１に記憶された、本実施形態に係るカスタマイズツールプログラム（以下、単に、「カスタマイズツール」という。）を含むアプリケーション２０１は、ＲＡＭ２にロードされてＣＰＵ１により実行される。またＣＰＵ１は、例えば、ＲＡＭ２へのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧ（What You See Is What You Get）を可能としている。更に、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷設定画面（プリンタドライバＵＩ制御モジュール２０４２により制御される）を開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバ２０４１に対する印刷処理の設定を行なうことができる。
【００１９】
次にプリンタ１５００の構成について説明する。ＣＰＵ１２は、プリンタ１５００の全体の動作を制御している。ＲＡＭ１９は、ＣＰＵ１２の主メモリ、ワークエリア等として機能するとともに、出力情報展開領域、環境データ格納領域としても用いられる。またこのＲＡＭ１９は、ＮＶＲＡＭ（Ｎon-volatile  ＲＡＭ：不揮発性ＲＡＭ）領域も備えており、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。ＲＯＭ１３は、各種フォントを記憶するフォントＲＯＭ１３ａ、ＣＰＵ１２により実行される制御プログラム等を記憶するプログラムＲＯＭ１３ｂ、及び各種データを記憶するデータＲＯＭ１３ｃを備えている。入力部１８は、ホストコンピュータ３０００との間でデータの送受信を行なう。印刷部インターフェース（Ｉ／Ｆ）１６は、プリンタエンジンである印刷部１７とのインターフェースを制御している。
【００２０】
外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスが制御されており、オプションとして接続されるハードディスク（ＨＤ）、ＭＯ、フロッピー(登録商標)ディスク（ＦＤ）、ＩＣカード等を含んでいる。そして、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。尚、ハードディスク等の外部メモリ１４が接続されていない場合には、ＲＯＭ１３のデータＲＯＭ１３ｃに、ホストコンピュータ３０００で利用される情報等を記憶することになる。尚、この外部メモリ１４は１個に限らず複数備えるものであってもよく、例えば、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラム等を格納した外部メモリを複数接続できるように構成されていてもよい。
【００２１】
操作部１５０１には、ユーザによる操作を受け付ける操作パネルが設けられ、その操作パネルには操作のためのスイッチ及びＬＥＤ表示器等が配されている（不図示）。また、不図示のＮＶＲＡＭ（Ｎon-volatile  ＲＡＭ：不揮発性ＲＡＭ）を有し、操作パネルからのプリンタモード設定情報を記憶するようにしてもよい。
【００２２】
ＣＰＵ１２は、ＲＯＭ１３のプログラムＲＯＭ１３ｂに記憶された制御プログラム等に基づき、印刷部インターフェース１６を介して印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。また、ＣＰＵ１２は入力部１８を介してホストコンピュータ３０００との通信処理が可能である。ＣＰＵ１２はホストコンピュータ３０００から送信される印刷データを受信すると共に、プリンタ１５００内の情報等をホストコンピュータ３０００に通知可能に構成されている。
【００２３】
図２は、所定のアプリケーション及び印刷処理関連プログラムを起動して、ホストコンピュータ３０００のＲＡＭ２にプログラムやデータがロードされた状態でのＲＡＭ２のメモリマップを示す図である。
【００２４】
ＲＡＭ２には、図示の如く、ＢＩＯＳ２０６、ＯＳ２０５をはじめ、アプリケーション２０１、印刷処理関連プログラム２０４、及び関連データ２０３がロードされている。更に、空きメモリ領域２０２も確保されている。これにより、アプリケーション２０１及び印刷処理関連プログラム２０４が実行可能な状態となる。尚、印刷処理関連プログラム２０４におけるプリンタドライバＵＩ制御モジュール２０４２（図１）は、ユーザによる印刷設定指令に応じてＣＲＴ１０に印刷設定画面を表示し、ＫＢ９などを使用したユーザからの設定を可能にする。
【００２５】
図３は、カスタマイズツールのＵＩを例示する図であり、カスタマイズツールは、Windows （登録商標）2000/XP/Server 2003上で動作するものとする。Windows （登録商標）98/ME、Windows （登録商標）NT4.0、Windows （登録商標）2000/XP/Server 2003向けの各プリンタドライバをカスタマイズすることを、例としている。尚、本発明の趣旨は、必ずしもこれらのＯＳに限定されるものではない。プリンタドライバを実際にインストールすることなく、擬似ＡＰＩ（この内容は後に詳細に説明する）により、ＯＳに対応するＡＰＩの動作をシミュレートする内容は、個別の関数を動作させる引数の設定を変更、追加等することにより対応することは可能である。
【００２６】
図３において、ユーザがメニュー３０１の"開く"を指定すると、カスタマイズを行なうドライバセットのフォルダを指示するためのダイアログ(不図示)が表示されて、カスタマイズを行なうドライバの格納先を指示することができる。指示されたフォルダは、表示欄３０２に表示され、指示されたドライバセットの対応ＯＳが表示欄３０３に表示される。
【００２７】
１つのドライバセットのフォルダに、プリンタの機種に対応したプリンタドライバ（図１４乃至図１６では、「プリンタモデル」と示す）が複数個格納されている場合、カスタマイズドライバ作成時に複数個のプリンタドライバがリスト化される（図１９）。カスタマイズツールは、リスト化された各プリンタドライバにカスタマイズ用の情報（カスタマイズデータ）が設定されているか判定し、カスタマイズデータが設定されているプリンタドライバに対応するカスタマイズドライバを作成する。この処理は、図６のステップＳ６０８及び図１７のフローチャートで詳細に説明する。この処理は、擬似APIを用いることにより、カスタマイズしたいドライバをオペレーティングシステムに対してインストールして認識して動作可能な状態にさせることなく、ドライバを次々にカスタマイズすることができるようになったため、実現可能となる。図１９のリスト表示画面１９００には、プリンタドライバのリストが表示されている。各ドライバを選択して、白黒反転させ、１９０１乃至１９０３のボタンを押すことにより、ドライバをカスタマイズすることができる。１９０４のボタンを押下することで、リスト表示画面１９００にてカスタマイズされた複数のドライバが生成される。これにより、一回のカスタマイズボタン１９０４の押下によって、カスタマイズされた複数のドライバ群を含むインストールセットとしてカスタマイズツールは提供される。
【００２８】
尚、カスタマイズデータには様々なデータが含まれる。デバイスドライバのユーザインタフェースのコントロールの表示、非表示のための制御データや、図１８に示すようなデバイスドライバの設定値が含まれる。
【００２９】
図１８は、このデバイスモード（DEVMODE）のデータ構造の一例を示す図である。
【００３０】
ここでは、用紙向き（dmOrientation）、用紙サイズ（dmPaperSize）、用紙幅（dmPaperWidth）、部数（dmCopies）などが格納されている様子が記載されている。その他、このDEVMODEデータ構造体はレジストリに格納される。プリンタドライバ２０４１は、このレジストリに格納されたDEVMODEデータ構造体を読み書きすることで、デフォルトの印刷設定環境や、後述する「お気に入り」を読み込んでユーザインタフェースにも反映することができる。
【００３１】
ここで「お気に入り」とは、プリンタドライバ２０４１の複数の印刷設定を一纏まりにしたものである。ユーザは、この一纏まりの設定からなる「お気に入り」をプリンタドライバ２０４１のユーザインタフェースで指定することで所望の動作環境を得ることができる。例えば、スタンプとステイプルをよく用いるユーザの場合には、これらステイプルとスタンプ設定の組を「お気に入り」として登録することにより、この「お気に入り」を選択するだけで、複数の設定を所望の値に設定して印刷させることができる。このようなデータを、プロパティ情報の一例であるカスタマイズデータとして、カスタマイズツールが保持し、後述するGPDファイルに書き込む。
【００３２】
リストビュー３０５には、カスタマイズを行なうプリンタドライバの対応機種とカスタマイズを行った情報に対して識別表示「On」が表示されるようになっている。チェックボックス３１０をチェックすると、ボタン３１１が有効となる。ボタン３１１を押下するとカスタマイズ用のプリンタドライバＵＩ（図４）が表示され、印刷設定（ドキュメントプロパティ）の初期値設定、デバイスの設定（プリンタプロパティ）等の初期値設定を行なうことができる。
【００３３】
チェックボックス３２０をチェックすると、ボタン３２１が有効となる。ボタン３２１を押下すると、プリンタドライバＵＩ上のコントロールの表示方法をカスタマイズするためのＵＩ（図５）が表示され、カスタマイズ用のプリンタドライバＵＩ上におけるコントロールの表示方法を設定することができる。
【００３４】
図３のＵＩ画面において、設定ボタン３５０が押下されると、図４または図５のＵＩ画面から設定したカスタマイズに関する設定がアプリケーション（カスタマイズツール）内に、カスタマイズ情報（カスタマイズデータ）として保持される。カスタマイズツールは、例えば、後に図７で説明するプリンタドライバのインストール情報を記述するファイル（このファイルを「ｉｎｆファイル」という）にカスタマイズ情報を保持する。プリンタドライバが既にカスタマイズされているか、未だカスタマイズされていないかを識別情報により判定することができる。１つのドライバセット内に複数のプリンタドライバが格納されている状態を図１４〜図１６に示す。カスタマイズツールは、カスタマイズ情報の有無を判定し、カスタマイズ情報の準備ができているプリンタドライバに対して、カスタマイズを行なう（図６のステップＳ６０８、図１７）。
【００３５】
カスタマイズ情報は、図１４に示すように、プリンタモデル名（プリンタの機種に対応したプリンタドライバ）とカスタマイズ情報とが対になった形式で保持されている。なお、カスタマイズ情報は、図１５もしくは、図１６の形で保持されていてもよい。図１５の場合は、カスタマイズを行ったことを識別することが可能な識別情報（「済」または「未」）が、プリンタモデル名（プリンタドライバ）及びカスタマイズ情報と組み合わされて保持されている。
【００３６】
また、図１６に示すデータの保持形式では、未カスタマイズのプリンタモデル名に対応するデータには、未カスタマイズであることを示す識別情報（例えば、「０クリア」など）が保持されている。カスタマイズツールが、カスタマイズ情報保持エリアをｉｎｆファイル内に確保したときに、カスタマイズされていないプリンタモデルに関しては、設定ボタン３５０が押下されると、識別情報に代わりカスタマイズ情報が、保持されることになる。カスタマイズツールは、カスタマイズ情報保持エリアにおいて、識別情報が保持されているか、カスタマイズ情報が保持されているかにより、対応するプリンタモデルがカスタマイズされているか判別することができる。
【００３７】
ボタン３３０を押下することで、カスタマイズドライバの作成先を指定するためのダイアログ（不図示）が表示され、カスタマイズドライバの作成先を指定することができる。
【００３８】
各種設定を行った後、ボタン３４０を押下すると、設定に従ってカスタマイズされたプリンタドライバが作成される。
【００３９】
図４は、図３のＵＩにおいて、ボタン３１１を押下すると表示されるプリンタドライバ（以下、単に「ドライバ」ともいう）の初期設定値カスタマイズ用のプリンタドライバＵＩ（初期設定値カスタマイズＵＩ）である。
【００４０】
カスタマイズツールはＣＰＵ１の制御の下、情報処理装置の設定部として機能し、かかる設定部は、例えば、図４に示すＵＩ画面のような文書のプロパティ設定とデバイスのプロパティ設定を行なうための設定画面をＣＲＴ上に表示させる。
【００４１】
Windows（登録商標） NT4.0、Windows （登録商標）2000/XP/Server 2003のプリンタドライバでは、文書用の設定を行なうドキュメントプロパティのＵＩと、デバイスの設定を行なうプリンタプロパティのＵＩとが同時に１つのＵＩ画面中に表示されることは、通常のインストールによるプリンタドライバの設定に関するＵＩ画面では表示され得ない。しかしながら、本発明の実施形態にかかるカスタマイズ用のプリンタドライバＵＩは、カスタマイズツールがプリンタドライバのモジュールを利用して表示を行なう。そして、文書用の設定を行なうドキュメントプロパティのＵＩと、デバイスの設定を行なうプリンタプロパティのＵＩとを同時に１つのＵＩ画面（図４）として表示するようになっている。図４において、ドキュメントプロパティのＵＩとして、ページ設定４０１、仕上げ４０２、給紙４０３、印刷品質４０４の４種類のＵＩが表示可能であり、そして、プリンタプロパティのＵＩとしてデバイスの設定４０５が表示可能である。これらの各ＵＩ（４０１〜４０５）を介して、ドキュメントプロパティの初期値設定と、プリンタプロパティの初期値設定を行なうことができる。
【００４２】
また、カスタマイズ対象でない設定に関して、図４に示すＵＩは、例えば、参照番号４１０のようにグレイアウト表示により、ユーザによる設定の入力を受け付けないように構成されている。
【００４３】
図５は、ドキュメントプロパティ表示コントロール設定ＵＩを例示する図であり、図３でボタン３２１を押下した際に、ホストコンピュータ３０００のＣＲＴ１０上に表示される。図５に示す画面例では、ページ設定５０１、仕上げ５０２、給紙５０３、印刷品質５０４、共通５０５の５種類について、表示制御の設定が可能である。ページ設定５０１、仕上げ５０２、給紙５０３、印刷品質５０４は、それぞれ、図４のドキュメントプロパティのＵＩと対応する表示制御の設定を行なうことが可能であり、共通５０５は、これらの表示制御に共通の表示制御の設定を行なうことが可能である。
【００４４】
５０６は、コントロール項目「Ｊｏｂ  Ｏｐｅｒａｔｉｏｎｓ」の設定を具体的に示しており、有効表示(通常通りの表示)、無効表示(常にDisable表示)、非表示（Hide表示）を指定することができる。同様にその他の各コントロール項目について個別に、有効、無効、非表示の設定をすることでドキュメントプロパティのＵＩに関する表示をコントロールすることができる。これらの設定を入力すると、カスタマイズツールは、GPDファイルに書き込む。
【００４５】
カスタマイズツールはＣＰＵ１の制御の下、情報処理装置の表示制御部として機能する。表示制御部は設定された文書のプロパティ（コントロール項目を含む）に基づいて、ユーザインタフェース(ＵＩ)における項目の有効表示、無効表示または非表示を制御することができる。
【００４６】
次に、図６のフローチャートを用いて、カスタマイズツールの基本動作について説明する。尚、基本動作の実行においては、ホストコンピュータ３０００におけるＣＰＵ１により実行されるカスタマイズツールが動作の主体となるものとする。
【００４７】
まず、ステップＳ６０１において、ユーザがカスタマイズツールを起動すると、カスタマイズツールの初期化処理がなされ、ステップＳ６０２において、カスタマイズツールは、図３で説明したＵＩ画面をＣＲＴ１０上に表示する。ステップＳ６０３において、ユーザがカスタマイズを行なうプリンタドライバのインストールセットを図３のＵＩ画面から指示すると、ステップＳ６０４において、指示されたインストールセットのチェック処理を行なう。
【００４８】
カスタマイズツールは、インストールセットのチェック処理において、図７に示すプリンタドライバのインストール情報を記述するファイル（infファイル）の記述内容から判定を行う。インストール情報を記述するファイルの記述内容（図７の７０１、７１０、７２０）から、指示されたインストールセットに対応可能なＯＳか、指示されたプリンタドライバがカスタマイズツールによるカスタマイズに対応したプリンタドライバであるか判定する。
【００４９】
印刷装置を制御するデバイスドライバ（プリンタドライバ）を、プロパティ（文書用の設定を行なうドキュメントプロパティに関する初期値データと、デバイスの設定を行なうプリンタプロパティに関する初期値データ）の設定によりカスタマイズする情報処理装置は、複数のデバイスドライバを特定する特定部と、一回のデバイスドライバのカスタマイズの指示に応じて、文書のプロパティまたはデバイスのプロパティに対応するプロパティ情報を、特定部が特定した複数のデバイスドライバに設定する設定部とを備えることが好適である。この場合、情報処理装置において、上述の各部は、ＣＰＵ１の制御の下、カスタマイズツールを実行することにより、各部の処理が実行される。
【００５０】
ここで、図７は、プリンタドライバのインストール情報を記述するinfファイルの記述内容を例示する図である。このinfファイルには、モジュール記述情報が含まれており（不図示）、このモジュール記述情報に基づいて、カスタマイズツールはプリンタドライバのＵＩ処理を行っているモジュールを特定することができるものとする。図７において、700はWindows（登録商標）98/ME用のinfファイルの一部を示し、710はWindows（登録商標）NT4.0用のinfファイルの一部を示し、そして720はWindows（登録商標）2000/XP/Server2003用のinfファイルの一部を示している。ＣＰＵ１により実行されるカスタマイズツールは、infファイル７００中の「Signature」の設定７３０が、文字列リソース（"$CHICAGO$"）であれば、Windows（登録商標）98/ME用のプリンタドライバと判断する。
【００５１】
また、カスタマイズツールは、infファイル（７１０、７２０）中の「Signature」の設定（７４０、７５０）が、文字列リソース（"$Windows（登録商標）NT$"）である場合は、Windows（登録商標）NT4.0用または、Windows（登録商標）2000/XP/Server 2003用のドライバのいずれかであると判断する。更に、カスタマイズツールは、絞り込みを行なうために、infファイル（７１０、７２０）中にける「DISK1」（７６０、７７０）の設定文字列リソース内に「NT」が含まれている場合にはWindows(登録商標) NT4.0用と判断する。「NT」が含まれていない場合には、Windows (登録商標)2000/XP/Server 2003用と判断する。
【００５２】
カスタマイズに対応しているプリンタドライバは、そのことを示すための文字列リソースをinfファイル中に含んでいる。そのため、カスタマイズツールは、判別に際して、その文字列リソースがプリンタドライバのinfファイル中に含まれているかを判断することにより、カスタマイズに対応しているか判別することができる。
【００５３】
説明を図６に戻し、ステップＳ６０５において、プリンタドライバがカスタマイズに対応していないとカスタマイズツールにより判別される場合は（Ｓ６０５−ＮＯ）、処理をステップＳ６１０に進める。そして、エラー処理を行い、再度インストールセットの指示ステップ（Ｓ６０３）に戻る。
【００５４】
一方、ステップＳ６０５の判定において、プリンタドライバがカスタマイズに対応しているとカスタマイズツールにより判別される場合には（Ｓ６０５−ＹＥＳ）、処理をステップＳ６０６に進める。カスタマイズツールは、ＣＲＴＣ６を制御してＣＲＴ１０上に図３〜図５で説明したＵＩ画面を表示させてプリンタドライバのカスタマイズの設定を可能にする。
【００５５】
図３〜図５で入力される設定がカスタマイズデータとなる。カスタマイズデータは、プリンタドライバが読み出し可能なファイルであるGPDファイルに設定される。プリンタドライバは、インストールされ、稼動状態に設定されると、GPDファイル内の設定値を読み込む。そして、プリンタドライバは、GPDファイル内のカスタマイズされた値をプリンタドライバに反映する。例えば、よく使う印刷設定値（両面、２in１など）のプリセットをプリンタドライバに予め反映しておく。カスタマイズされたドライバをインストールするだけで、よく使う印刷設定値や、ドライバに対して操作前の状態に戻す指示があった場合にドライバに設定される、印刷設定のカスタマイズされたデフォルト値がプリンタドライバに設定された状態となる。
【００５６】
ステップＳ６０７において、カスタマイズドライバの作成指示がなされると、ステップＳ６０８において、カスタマイズドライバの作成処理を行なう。ここで、図１７は、ステップＳ６０８の処理の具体的な処理の内容を説明する図であり、１つのドライバセット内に存在する複数のプリンタドライバに対して、カスタマイズを一括して行なう処理の流れを説明するフローチャートである。
【００５７】
カスタマイズドライバの作成処理において、カスタマイズツールは、まず、カスタマイズ元のインストールセットをカスタマイズドライバ作成先にコピーする。その後（Ｓ１７０１）、カスタマイズツールが、カスタマイズデータを設定するためのデバイスドライバを特定するため、infファイルにリスト化されているプリンタドライバの順番をチェックする。例えば、図１４の場合、プリンタモデル３、プリンタモデル７、プリンタモデル１、プリンタモデル２の順番による。そして、カスタマイズデータが設定されているかチェックする（Ｓ１７０２）。カスタマイズデータの設定について、図１５及び図１６で説明した識別情報の有無により、カスタマイズツールは判別することが可能である。なお、カスタマイズツールは、ユーザなどの外部からの選択指示の入力を受けて、カスタマイズデータを設定するためのデバイスドライバを特定するようにしてもよい。その場合は、プリンタドライバ種類、カスタマイズデータの格納先などを、INFファイルに記載されている情報をユーザに入力させることになる。
【００５８】
カスタマイズデータが対応するプリンタドライバに設定されているときは（Ｓ１７０３−ＹＥＳ）、処理をステップＳ１７０４に進める。カスタマイズツールは、コピー先のインストールセットに含まれているドライバ情報ファイル(このファイルを「ＵＰＤファイル」ともいう)へカスタマイズデータを書き込むことで（Ｓ１７０４）、カスタマイズドライバを作成する（Ｓ１７０５）。ステップＳ１７０６において、リスト化された全てのプリンタドライバについて、チェックが終了していない場合は（Ｓ１７０６―ＮＯ）、処理をステップＳ１７０３に戻す。そして、次のプリンタドライバに関して、カスタマイズデータが設定されているかをチェックする（Ｓ１７０３）。設定されている場合、カスタマイズツールは、対応するプリンタドライバのＵＰＤファイルにカスタマイズデータの書き込み処理を繰り返し行なう。リスト化された全てのプリンタドライバに対するチェックが終了した場合は（Ｓ１７０６−ＹＥＳ）、図１７のフローチャートを終了し、図６のステップＳ６０８に処理を戻す。以上の処理により、１つのドライバセット内に存在する複数のプリンタドライバに対して、カスタマイズデータを反映させたカスタマイズドライバがカスタマイズツールにより作成される。
【００５９】
印刷装置を制御するデバイスドライバ（プリンタドライバ）を、プロパティ（文書用の設定を行なうドキュメントプロパティに関する初期値データと、デバイスの設定を行なうプリンタプロパティに関する初期値データ）の設定によりカスタマイズする情報処理装置は、複数のデバイスドライバを特定する特定部と、一回のデバイスドライバのカスタマイズの指示に応じて、文書のプロパティまたはデバイスのプロパティに対応するプロパティ情報を、特定部が特定した複数のデバイスドライバに設定する設定部とを備える。情報処理装置において、上述の各部は、ＣＰＵ１の制御の下、カスタマイズツールを実行することにより、各部の処理が実行される。
【００６０】
ここで、図９は、プリンタドライバを構成する１ファイルである、ドライバ情報ファイル(ＵＰＤファイル)のデータフォーマットを説明する図である。同図に示すように、ＵＰＤファイルはヘッダ９０１、ＩＤ定義９０２、データ９０３からなる。ＩＤ定義９０２には、データ９０３に格納されているデータのＩＤと、データの格納位置（アドレス）との組が格納されている。そして、その組がＩＤの数に相当する分のセットで格納されている。本実施形態に係るカスタマイズツールでは、カスタマイズ用に定義されたＩＤに対応するデータの値を変更している。尚、ＩＤ定義９０２に使用したいカスタマイズデータのＩＤが定義されていない場合は、そのカスタマイズデータに対応する新たなＩＤがＩＤ定義９０２に追加される。
【００６１】
カスタマイズされたプリンタドライバは、カスタマイズツールにより、カスタマイズデータが書き込まれたＵＰＤファイルを、インストール時又は初回の起動時に読み込む。そして、ＵＰＤファイルのＩＤ定義９０２の所定ＩＤに対応付けて格納されたデータ９０３を読み込むように実装される。例えば、カスタマイズツールにより作成されたＵＰＤファイルには、ＩＤ定義９０２内に「CUSTUMIZED」を示すＩＤと、そのデータ格納位置として番地Ｘが格納されているとする。
【００６２】
カスタマイズ対応のプリンタドライバは、インストール完了又は初回起動時において、ＩＤ定義９０２内に「CUSTUMIZED」を示すＩＤ情報が記憶されていた場合、その情報に対応する番地を読み出すように予め実装されている。よって、このプリンタドライバは、インストール完了時又は初回起動時には、ＵＰＤファイルのＩＤ定義９０２内に「CUSTUMIZED」を示すＩＤを含むとき、そのＩＤ定義から対応するデータの番地Ｘを読み出す。続いて、そのプリンタドライバは、この番地Ｘのデータ９０３から、実際のドライバ設定データであるデバイスモードのデータ構造を更に読み出す。尚、ここで番地Ｘは絶対アドレスであってもよく、或はヘッダ９０１にデータ９０３の先頭アドレスを格納しておき、番地Ｘにはこのデータ９０３の先頭番地からのオフセットアドレスをセットしてもよい。
【００６３】
カスタマイズツールはＣＰＵ１の制御の下、情報処理装置の表示制御部として機能する。係る表示制御部は、プリンタドライバの起動時において、プリンタドライバのドライバ情報ファイル（ＵＰＤファイル）を参照する。かかるＵＰＤファイルに設定されているカスタマイズデータに基づいてユーザインタフェースをCRT10に表示させることができる。
【００６４】
本実施形態において、カスタマイズツールは、カスタマイズデータとして、文書用の設定を行なうドキュメントプロパティに関する初期値データ（図４の４０１〜４０４により設定されるデータ）と、デバイスの設定を行なうプリンタプロパティに関する初期値データ（図４の４０５により設定される）、及び、ドキュメントプロパティに関するＵＩ上のコントロールの表示方法に関するデータ（図５のＵＩ画面より設定されたデータ）をＵＰＤファイルに対して書き込みを行なう。カスタマイズされたプリンタドライバは、インストール完了時又は初回起動時に、カスタマイズツールにより作成されたＵＰＤファイルを読み込み、カスタマイズ情報を元に動作する。これにより、カスタマイズされたプリンタドライバの動作環境を容易に構築することができる。
【００６５】
説明を図６に戻し、カスタマイズドライバが作成された後（Ｓ６０８）、ユーザから終了指示がなされる(Ｓ６０９)とカスタマイズツールの動作を終了する(Ｓ６１１)。
【００６６】
次に、図８のフローチャートを用いて、ＣＰＵ１により実行されるカスタマイズツールが、プリンタドライバのカスタマイズ用ＵＩを表示する処理について説明する。尚、本処理の実行においては、ホストコンピュータ３０００におけるＣＰＵ１により実行されるカスタマイズツールが動作の主体となるものとする。
【００６７】
図３のボタン３１１が押下されると、カスタマイズツールは、プリンタドライバのＵＩ処理を行っているモジュールをinfファイルに含まれているモジュール記述情報を元に特定する。そして、カスタマイズツールから呼び出しが可能なように、メモリにロードする(Ｓ８０１)。
【００６８】
次に、ステップＳ８０２において、プリンタドライバのモジュールがエクスポートしている関数のアドレスを取得する（Ｓ８０２）。そして、カスタマイズツールと、カスタマイズに対応しているプリンタドライバとの間で情報をやりとりするための構造体であるＣＳＰＬ構造体(不図示)を初期化する(Ｓ８０３)。ＣＳＰＬ構造体には、インストールされていなくてもプリンタドライバのＵＩ制御が可能なように各種の情報が保存される。
【００６９】
その後、ステップＳ８０４においてプロパティシート（カスタマイズ用のドライバＵＩ）の表示処理を行なう。このとき、図４で示したように、ドキュメントプロパティとプリンタプロパティを同時にカスタマイズできるように、両方のプロパティページが１つのＵＩ画面に表示されるようにプロパティシートの表示関数を呼び出す。
【００７０】
カスタマイズ用のドライバＵＩがユーザによって閉じられると、カスタマイズ用のドライバＵＩにて設定された情報がＣＳＰＬ構造体に保持される。そのため、カスタマイズツールは、その情報に対応するプリンタドライバの情報をＣＳＰＬ構造体（DeviceOption構造体、Devmode構造体を含む）から取得する(Ｓ８０５)。
【００７１】
カスタマイズツールは、ＣＰＵ１の制御の下、文書のプロパティまたはデバイスのプロパティに対応するプリンタドライバのデータを取得する取得部として機能する。かかる取得部は、プリンタドライバの設定に関するデータを保持し、データの受け渡しが可能なデータ保持部（ＣＳＰＬ構造体）とデータの受け渡しを行なうことにより、プリンタドライバの情報を取得することができる。この際、取得部はＵＩ画面（図３〜図５）により設定された文書のプロパティ又はデバイスのプロパティに対応するデータを、データ保持部（ＣＳＰＬ構造体）に保持させる。データ保持部（ＣＳＰＬ構造体）からこれらのプロパティに対応するプリンタドライバの情報をカスタマイズ用の設定情報として取得することができる。
【００７２】
カスタマイズツールは、このデータ保持部の内容を、後述するＧＰＤファイルに対して書き込む。プリンタドライバは、呼び出されたときに、カスタマイズされたＧＰＤファイルがあるかどうかを判定する。カスタマイズされたＧＰＤファイルがあるとプリンタドライバが判定した場合、カスタマイズされたＧＰＤファイルの中のカスタマイズされた印刷設定やＵＩ制御データなどをプリンタドライバが読み出す。そして、プリンタドライバはカスタマイズ設定される。
【００７３】
すなわち、このカスタマイズ用の設定情報に基づいて、表示制御部として機能するカスタマイズツールは、プリンタドライバのＵＩモジュールを呼び出す。呼び出されたプリンタドライバのＵＩモジュールは、後述する擬似APIを用いて、図３乃至図５のＵＩを介して設定されたカスタマイズ情報ＣＲＴ１０に表示させる。例えば、コントロールの表示制御の指定や、印刷設定情報のデフォルト値等を反映したカスタマイズされたユーザインタフェースをＣＲＴ１０に表示させる。
【００７４】
カスタマイズの設定情報として、プリンタプロパティの設定情報は、DeviceOption構造体(不図示)に、ドキュメントプロパティの設定情報は、Devmode構造体(不図示)に格納されている。カスタマイズツールは、これらに格納されている設定情報をカスタマイズの設定情報として取得する。
【００７５】
その後、ステップＳ８０６において、先のステップＳ８０１において、メモリにロードしたモジュールをアンロードして、カスタマイズ用ドライバＵＩの表示を終了する（Ｓ８０７）。
【００７６】
この処理フローについては、プリンタドライバの対応ＯＳによって若干処理は異なっている。例えば、Windows（登録商標） NT4.0とWindows（登録商標） 2000/XP/Server 2003は、ドライバＵＩの表示にCommon  Property  SheetUIというOSの仕組みを利用している。このため、必要な前処理をして、Common  Property  SheetUI関数の呼び出しを行っている。一方、Windows （登録商標）98/MEでは、必要な前処理をして、Property  Sheet関数を呼び出してＵＩの表示を行っている。ただし、基本的な処理フローについては図８で示したとおりである。
【００７７】
図１０Ａは、プリンタドライバが実装しているWindows（登録商標） API（ApplicationProgramming Interface：アプリケーション  プログラム  インターフェース）の呼び出しについて説明する図である。プリンタドライバがインストールされている場合は、プリンタドライバのＵＩ処理１０１０において、Windows （登録商標）API（図中では、単に「API」と示す）を呼び出し１０４０（通常の呼び出し時）、カスタマイズに対応したプリンタドライバがインストールされていない場合であって、カスタマイズツールからの呼び出しの場合は、疑似Windows （登録商標）API１０６０（図中では、単に「擬似API」と示す）を呼び出し（１０５０）、対応関係にあるWindows （登録商標）APIの処理を疑似Windows （登録商標）APIで擬似的にシミュレートして、その結果をプリンタドライバＵＩ処理１０１０に返す。
【００７８】
図１０Ｂに示す１０３０は、Windows （登録商標）APIと対応する疑似（登録商標） API名の関係を示す図であり（図中では、それぞれ「API」、「擬似API名」と示す）、この対応関係は、プリンタドライバに予め設定しておくことができるものとする。なお、通常、プリンタドライバのユーザインタフェースを制御するプログラムは、ドライバに対する入力に応じてWindows （登録商標）APIの呼び出しを行なう。本実施形態では、プリンタドライバをインストールしていない状態では、Windows（登録商標） APIを呼び出すことはできないが、擬似ＡＰＩを呼び出すことは出来るよう構成されている。
【００７９】
疑似Windows（登録商標） APIは、カスタマイズツールからの呼び出しの場合、疑似Windows （登録商標） APIがWindows （登録商標） APIの処理をシミュレートして処理をプリンタドライバＵＩ処理１０１０に返し、ＯＳにプリンタドライバがインストールされた後に通常のドライバＵＩとして呼び出された場合には、通常のWindows（登録商標） API１０２０の呼び出しを行って、処理をプリンタドライバＵＩ処理１０１０に返す。
【００８０】
図１１は、疑似Windows（登録商標） API（図中では、単に「擬似API」と示す）の呼び出しに関する処理の流れを説明するフローチャートである。尚、本処理の実行においては、ホストコンピュータ３０００におけるＣＰＵ１により実行されるカスタマイズツールが動作の主体となるものとする。
【００８１】
まず、ステップＳ１１１０において、カスタマイズツールは、疑似Windows （登録商標）APIの引数に含まれるプリンタハンドル（引数）が、カスタマイズツールからの呼び出し時に受け渡されるＣＳＰＬ構造体のアドレス情報（以下、単に「アドレス情報」ともいう）であるかを判定する。この判定方法は、ＣＳＰＬ構造体の先頭メンバはＣＳＰＬ構造体のサイズを示すようになっているので、渡されたプリンタハンドル（引数）をＣＳＰＬ構造体の先頭アドレスとして扱って参照し、ＣＳＰＬ構造体のサイズと一致している場合には、引数のプリンタハンドルはＣＳＰＬ構造体のアドレスであると判断する（Ｓ１１１０−ＹＥＳ）。プリンタドライバＵＩモジュールは、処理結果、たとえばＵＩを通して入力された印刷設定の各項目の値や、コントロールの表示の指定を、ハンドルで指定された構造体に保存し、処理を終了する。
【００８２】
引数のプリンタハンドルがＣＳＰＬ構造体のアドレスではない場合（Ｓ１１１０−ＮＯ）、通常のプリンタドライバの動作となる。この場合、そのまま、Windows （登録商標）API（図中では、単に「API」と示す）の呼び出しを行って(Ｓ１１２０)、処理を終了する。プリンタドライバＵＩモジュールは、処理結果、たとえばＵＩを通して入力された印刷設定の各項目の値や、コントロールの表示の指定を、ハンドルで指定された構造体に保存し、処理を終了する。
【００８３】
ステップＳ１１１０の判断において、引数のプリンタハンドルがＣＳＰＬ構造体のアドレスと一致する場合には（Ｓ１１１０−ＹＥＳ）、処理をステップＳ１１３０に進め、カスタマイズツールからの呼び出し、すなわち、プリンタドライバがインストールされていない状態で、Windows （登録商標）APIの呼び出しを行なう。この場合、プリンタドライバをインストールしていない状態では、Windows（登録商標） APIを呼び出すことはできないので、擬似Windows（登録商標） API によりWindows （登録商標）APIと同等の処理を行って(Ｓ１１３０)、その処理結果をプリンタドライバＵＩ処理１０１０に戻し、処理を終了する。
【００８４】
以上の処理により、カスタマイズツールはＣＰＵ１の制御の下、情報処理装置の選択部として機能する。係る選択部は、データ保持部（ＣＳＰＬ構造体）に保持されているアドレス情報（先頭アドレス）に基づいて、使用する（呼び出すべき）アプリケーションプログラムインタフェース（Windows （登録商標）API、又は疑似Windows （登録商標）API）を選択する。
【００８５】
図１２は疑似Windows （登録商標）APIの一例として、プリンタドライバからCSPL_GetVersionEx()関数（図１０Ｂの１０４０を参照）を呼び出す場合の処理の流れを示すフローチャートである。本処理の実行においては、ホストコンピュータ３０００におけるＣＰＵ１により実行されるカスタマイズツールにより、プリンタドライバＵＩが呼び出され、さらにCSPL_GetVersionEx()関数が呼び出される。同関数がシミュレートするWindows （登録商標）APIは、Windows （登録商標）GetVersionEx()であり（図１０Ｂの表１０３０を参照）、このWindows （登録商標）APIはホストコンピュータ上で動作しているＯＳのバージョンに関する情報をプリンタドライバＵＩ側の処理１０１０に返す処理を行なう。
【００８６】
まず、ステップＳ１２１０において、CSPL_GetVersionEx()関数は、関数の引数であるプリンタハンドルが、呼び出し時に受け渡されるＣＳＰＬ構造体のアドレスであるかを判定する。この判定方法は、図１１のステップＳ１１１０で説明した判定方法と同様である。ＣＳＰＬ構造体のアドレスでない場合は（Ｓ１２１０−ＮＯ）、処理をステップＳ１２２０に進め、通常のプリンタドライバとして動作するWindows（登録商標） APIである、GetVersionEx()関数１０４０を呼び出して(Ｓ１２２０)、処理を終了する。
【００８７】
一方、ステップＳ１２１０の判定において、関数の引数がＣＳＰＬ構造体のアドレスと一致する場合には（Ｓ１２１０−ＹＥＳ）、処理をステップＳ１２３０に進め、ＣＳＰＬ構造体の中に保持されているプリンタドライバに対応するＯＳの情報を元にGetVersionEx（）関数の処理を擬似的に処理（GetVersionEx（）関数の処理と同等の処理を実行）する(Ｓ１２３０)。CSPL_GetVersionEx()関数は、ステップＳ１２３０においても、GetVersionEx()関数と同じ処理結果をプリンタドライバＵＩモジュールに返す。これは他の関数についても同様である。
【００８８】
例えば、図３〜図５のＵＩ画面から設定された文書のプロパティ又はデバイスのプロパティに対応して呼び出されるアプリケーションプログラムインタフェース（擬似Windows （登録商標）API）は、設定された文書のプロパティまたはデバイスのプロパティに対するプリンタドライバにおける処理を擬似的に処理する(Windows （登録商標）APIの処理と同等の処理を実行する)。
【００８９】
ステップＳ１２３０、またはステップＳ１２２０の処理後、図１２のフローチャートの処理を終了する。
【００９０】
これにより、例えば、Windows（登録商標）98/MEのドライバモジュールのＵＩ制御に関する処理が、カスタマイズツールからの呼び出しによって行われる場合、実際に動作しているＯＳは、カスタマイズツールが対応しているWindows （登録商標）2000/XP/Server 2003なのであるが、ＣＳＰＬ構造体には、ドライバモジュールの対応ＯＳとして、Windows（登録商標） 98/MEであるという情報が含まれているので、ＯＳのバージョン情報として「Windows （登録商標）ME」であるという値を返して、Windows （登録商標）98/MEのドライバモジュールのＵＩ制御処理に破綻が生じないようにすることができる。
【００９１】
つまり、カスタマイズの対象はWindows（登録商標）98/MEのプリンタドライバとドライバ情報（例えば、ＩＮＦファイルやドライバユーザインタフェースモジュール）である。本実施形態ではカスタマイズツールはWindows （登録商標）2000/XP/Server 2003に対応しており、カスタマイズツールが実行される環境はこれらのいずれかのＯＳにより制御されるものとする。ＣＳＰＬ構造体は、図８のステップＳ８０３で初期化されるので、たとえばこのときにＣＳＰＬ構造体にＯＳのバージョンを示すデータとして、Windows（登録商標） 98/MEであるという情報が書き込まれる。これにより、ＣＳＰＬ構造体には、ドライバモジュールの対応ＯＳはWindows（登録商標） 98/MEであるという情報（ＯＳのバージョン情報）が含まれている。そこで、CSPL_GetVersionEx()関数は、ステップＳ１２３０において、ＣＳＰＬ構造体のＯＳのバージョン情報にアクセスし、「Windows （登録商標）ME」であるという値をコール元のプリンタドライバＵＩモジュールに返す。
【００９２】
これは、他の疑似Windows（登録商標） APIについても同様であり、実際にプリンタドライバがインストールされていないので本来、Windows（登録商標）APIの呼び出しにより、ドライバモジュールのＵＩ制御において不都合が発生してしまう場合でも、疑似関数（擬似API）内での処理により、Windows （登録商標）APIの処理をシミュレートすることで、Windows （登録商標）APIの動作を仮想的にＵＩ制御に反映させることが可能になる。
【００９３】
また、明示的に示していないが、Windows（登録商標）98/MEのプリンタドライバは本来、16bit環境で動作するモジュールである。よって、そのＵＩ処理も16bit環境で行われるようになっている。しかしながら、本実施形態の対象としているWindows（登録商標） 98/MEのプリンタドライバは、そのＵＩ処理において、16bit環境でわたってくるＵＩの処理をサンクアップというＯＳの機構を利用し、32bit環境にてＵＩの実処理を行っている。このため、本実施形態のカスタマイズツールからは、ＵＩの実処理を行っている32bit環境で動作するＵＩの処理関数を呼び出して、Windows（登録商標） 98/MEのＵＩ表示及び制御を行なうことが比較的容易に行なうことが可能である。
【００９４】
つまり、カスタマイズツールは、印刷設定を含むプロパティを取得する。そして、カスタマイズツールは、オペレーティングシステムにデバイスドライバを稼動可能に登録する。すなわち、オペレーティングシステムのアドミニストレータの権限を用いて、オペレーティングシステムが管理するレジストリ領域に登録してインストールすることなく、カスタマイズツールが取得した印刷設定を含むプロパティを、デバイスドライバが読み出し可能な状態になるように、デバイスドライバに設定することができる。なお、当該設定時、デバイスドライバは、オペレーティングシステムが管理するファイルシステムのユーザ領域に記憶された状態にある。
【００９５】
プロパティは、カスタマイズツールによりＵＰＤファイルに保存される。作成されたＵＰＤファイルは、カスタマイズ対象のプリンタドライバやプリンタドライバＵＩモジュール、およびｉｎｆファイルと共にインストールセットを構成する。作成されたインストールセットは、記録媒体や通信媒体を介してクライアントコンピュータに配布される。インストーラは、ｉｎｆファイルの記述に従ってインストールを実行する。インストーラは、ＵＰＤファイルから読み込んだ各設定項目に対応する値を、devmode構造体やdeviceOption構造体の該当する項目の値として複写する。プリンタドライバおよびプリンタドライバＵＩモジュールは、devmode構造体やdeviceOption構造体に保存された各項目の値を参照して動作する。
【００９６】
前述の処理は、アプリケーションプログラムの一例であるカスタマイズツールにより実行されるものである。カスタマイズツールは、さらに、デバイスドライバを介した情報の入力に対して、オペレーティングシステムに代理して前記デバイスドライバに応答する。
【００９７】
そして、このカスタマイズツールの擬似的な代理応答があるので、デバイスドライバはエラー処理に陥ることなく、前記アプリケーションからの応答を、オペレーティングシステムからの応答として認識し、その後のユーザからの入力による設定処理を続行する。
【００９８】
更に、カスタマイズツールは、プリンタドライバに対する擬似APIによって構成される。更に、カスタマイズツールは、複数種類のオペレーティングシステム用（例えば、Windows（登録商標）NT,Windows（登録商標）９５など）のデバイスドライバに対して、前記印刷設定を含むプロパティを設定できる。
【００９９】
尚、カスタマイズツールは、複数のデバイスドライバに対して、一度の指示でカスタマイズツールが取得した印刷設定に係わる情報を設定できる。
【０１００】
本実施形態における擬似APIとは、デバイスドライバに対して、オペレーティングを真似てカスタマイズツールが振舞うことで、オペレーティングシステムに稼動状態にインストールされている状態にあるとの錯覚をデバイスドライバに起こさせる。もし、擬似的にカスタマイズツールがデバイスドライバに応答しなければ、デバイスドライバはエラー処理に移行してしまう。これにより、デバイスドライバをインストールすることなく、カスタマイズツールによるカスタマイズ処理を続行させることができる。
【０１０１】
図１３は、カスタマイズに対応したプリンタドライバのプロパティ設定に関するＵＩ制御の処理の流れを説明するフローチャートである。本処理の実行においては、ホストコンピュータ３０００におけるＣＰＵ１により実行されるカスタマイズツールが動作の主体となるものとする。図１３の手順の中で、図１１や図１２に示す疑似ＡＰＩ関数がコールされ、プロパティシートの表示や、パラメータの取得、設定値の入力が実現される。
【０１０２】
まず、ステップＳ１３００において、ＵＩ制御の指示が入力されると、カスタマイズツールが起動する。そして、ステップＳ１３１０において、ＵＩの初期化処理が行なわれる。ステップＳ１３２０において、ＵＩ表示に関するカスタマイズ情報が、図９に示すドライバ情報ファイルにある場合には(Ｓ１３２０−ＹＥＳ)、処理をステップＳ１３３０に進める。その指示にＵＩ上の表示制御（Disable制御、Hide制御）を反映し、ユーザ操作待機状態にする（Ｓ１３４０）。一方、ドライバ情報ファイルがない場合には（Ｓ１３２０−ＮＯ）、ステップＳ１３３０の処理をスキップし、ユーザ操作待機状態にする（Ｓ１３４０）。
【０１０３】
その後、ユーザの操作が行われるまで待機する(Ｓ１３４０)。ＵＩを閉じる操作がなされた場合(Ｓ１３５０―ＹＥＳ)には、ＵＩの処理を終了(Ｓ１３７０)し、他の操作であった場合は（Ｓ１３５０−ＮＯ）、ユーザの操作に対応したＵＩ制御を行い(Ｓ１３６０)、処理をステップＳ１３２０に戻す。
【０１０４】
UIから入力されたプロパティ情報は、ＣＳＰＬ構造体を介して再度プリンタドライバ情報ファイル（ＵＰＤファイル）に保存される。このとき、図３のカスタマイズコード３５０をプリンタドライバ情報ファイルに、あらかじめ定めた識別コードとともに保存する。
【０１０５】
これにより、図５で指示されたコントロールの表示方法に関するカスタマイズデータは、図９で示したドライバ情報ファイル内に保持されているので、そのカスタマイズデータに従った、ＵＩコントロールの表示が可能である。
【０１０６】
本実施形態では、カスタマイズ情報をＵＰＤファイルというドライバ情報ファイルに書き出すようにしているが、プリンタドライバが参照可能であり、かつ、解析可能なファイルであれば、その形態はＵＰＤファイルに限定されるものではない。従って、次期Windows（登録商標）であるLonghornにおいてはプリンタドライバのドライバ情報ファイルとしてＧＰＤファイルが標準的なものとなっているが、このファイル内にカスタマイズ情報を組み込むようにしてもよい。
【０１０７】
本実施形態によれば、複数のプリンタドライバをプリンタドライバのカスタマイズ操作の後の、１回のカスタマイズ完了指示により、同時にカスタマイズすることが可能になる。
【０１０８】
プリンタドライバが、カスタマイズに対応していないＯＳ用のものであっても、ユーザの所望するカスタマイズを反映させたカスタマイズドライバを作成することが可能になる。
【０１０９】
また、プリンタドライバの初期設定値のカスタマイズにおいては、プリンタドライバのＵＩと同等のＵＩを用いて作業が可能であるので、カスタマイズにおける初期設定作業を容易に行なうことができる。かかるＵＩを利用して設定したカスタマイズの内容を反映させて、表示項目の有効表示、無効表示、非表示を制御することで、ユーザの作業効率、操作の利便性の向上を図ることが可能になる。
【０１１０】
カスタマイズドライバは、カスタマイズしていないドライバのインストールセットと同様の構成である。Microsoft（登録商標）社製、Windows（登録商標）オペレーティングシステム、又は次期ＯＳであるLonghornにおける、いわゆるPoint&Print環境においてもカスタマイズドライバとして動作することが可能である。これにより、カスタマイズドライバの汎用性を向上させることができる。
【０１１１】
[他の実施形態]
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給することによっても、達成されることは言うまでもない。また、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１１２】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１３】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１１４】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される。また、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態が実現される場合も含まれることは言うまでもない。
【０１１５】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図６、図８、図１１〜図１３、図１７）のフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１１６】
【図１】本発明の実施形態に係る印刷処理システムの構成を示すブロック図である。
【図２】所定のアプリケーション及び印刷処理関連プログラムを起動して、ホストコンピュータ  ３０００のＲＡＭ２にプログラムやデータがロードされた状態でのＲＡＭ２のメモリマップを示す図である。
【図３】カスタマイズツールのＵＩを例示する図である。
【図４】初期設定値カスタマイズ用のプリンタドライバＵＩを示す図である。
【図５】ドキュメントプロパティ表示コントロール設定ＵＩを例示する図である。
【図６】カスタマイズツールにおける基本動作の処理の流れを説明するフローチャートである。
【図７】プリンタドライバのインストール情報を記述するinfファイルの記述内容を例示する図である。
【図８】プリンタドライバのカスタマイズ用ＵＩを表示する処理の流れを説明するフローチャートである。
【図９】プリンタドライバを構成するＵＰＤファイルのデータフォーマットを説明する図である。
【図１０Ａ】プリンタドライバが実装しているアプリケーション  プログラム  インターフェース（ＡＰＩ）の呼び出しについて説明する図である。
【図１０Ｂ】APIと対応する疑似 APIの関係を示す図である。
【図１１】疑似Windows（登録商標） APIの呼び出しに関する処理の流れを説明するフローチャートである。
【図１２】疑似Windows （登録商標）APIの一例として、CSPL_GetVersionEx(  )関数を呼び出す場合の処理の流れを示すフローチャートである。
【図１３】カスタマイズに対応したプリンタドライバのプロパティ設定に関するＵＩ制御の処理の流れを説明するフローチャートである。
【図１４】カスタマイズ情報の保持形式を説明する図である。
【図１５】カスタマイズ情報の保持形式を説明する図である。
【図１６】カスタマイズ情報の保持形式を説明する図である。
【図１７】１つのドライバセット内に存在する複数のプリンタドライバに対して、カスタマイズを一括して行なう処理の流れを説明するフローチャートである。
【図１８】デバイスドライバのカスタマイズデータの一例を示す図である。
【図１９】複数ドライバをカスタマイズするツールのＵＩを例示する図である。
【図１】
2006309724.tif 000003
【図２】
2006309724.tif 000004
【図３】
2006309724.tif 000005
【図４】
2006309724.tif 000006
【図５】
2006309724.tif 000007
【図６】
2006309724.tif 000008
【図７】
2006309724.tif 000009
【図８】
2006309724.tif 000010
【図９】
2006309724.tif 000011
【図１０Ａ】
2006309724.tif 000012
【図１０Ｂ】
2006309724.tif 000013
【図１１】
2006309724.tif 000014
【図１２】
2006309724.tif 000015
【図１３】
2006309724.tif 000016
【図１４】
2006309724.tif 000017
【図１５】
2006309724.tif 000018
【図１６】
2006309724.tif 000019
【図１７】
2006309724.tif 000020
【図１８】
2006309724.tif 000021
【図１９】
2006309724.tif 000022