インストールによって構成されるコア部とインストール後に追加可能な拡張部とを含み、画像形成装置に印刷出力を実行させるための印刷制御情報を生成するための印刷制御プログラムであって、前記拡張部を起動するステップと、前記拡張部において実現される機能を動作させるための拡張機能動作情報を前記拡張部に要求するステップと、前記拡張機能動作情報の要求に応じて、前記拡張機能動作情報を暗号化して出力するステップと、前記暗号化して出力された拡張機能動作情報を復号するステップと、前記復号された拡張機能動作情報に基づき、前記拡張部において実現される機能を動作させて、前記画像形成装置に印刷出力を実行させるための印刷制御情報を生成するステップとを情報処理装置に実行させることを特徴とする印刷制御プログラム。前記拡張機能動作情報を要求するステップにおいては、前記暗号化された拡張機能動作情報において取得するべき範囲を指定して要求することを特徴とする請求項1に記載の印刷制御プログラム。前記拡張機能動作情報を要求するステップにおいては、前記暗号化された拡張機能動作情報において取得するべき範囲が記述された取得範囲指定情報に基づいて前記暗号化された拡張機能動作情報において取得するべき部分を指定して要求することを特徴とする請求項2に記載の印刷制御プログラム。前記拡張機能動作情報を要求するステップにおいては、前記印刷制御情報の生成に係る一連の動作におけるタイミングに応じて異なる前記取得範囲指定情報に基づいて前記暗号化された拡張機能動作情報において取得するべき部分を指定して要求することを特徴とする請求項3に記載の印刷制御プログラム。前記拡張機能動作情報を暗号化するステップにおいては、公開鍵暗号方式における秘密鍵を用いて前記拡張機能動作情報を暗号化することを特徴とする請求項1乃至4いずれか1項に記載の印刷制御プログラム。前記拡張機能動作情報を暗号化するステップが、前記拡張部として含まれる情報に従って実現されることを特徴とする請求項1乃至5いずれか1項に記載の印刷制御プログラム。前記暗号化された拡張機能動作情報を復号するステップが、前記コア部として含まれる情報に従って実現されることを特徴とする請求項1乃至6いずれか1項に記載の印刷制御プログラム。前記暗号化された拡張機能動作情報の取得に応じて、前記拡張機能動作情報を復号する機能を動作させるための復号機能動作情報を前記拡張部から取得するステップと、前記取得された復号機能動作情報に基づき、前記拡張部において実現される前記拡張機能動作情報を復号する機能を動作させて、前記暗号化された拡張機能動作情報を復号するステップとを情報処理装置に実行させることにより、前記暗号化された拡張機能動作情報を復号するステップが、前記拡張部として含まれる情報に従って実現されることを特徴とする請求項1乃至6いずれか1項に記載の印刷制御プログラム。インストールによって構成されるコア部とインストール後に追加可能な拡張部とを含み、画像形成装置に印刷出力を実行させるための印刷制御情報を生成するための印刷制御機能を実現する情報処理装置であって、前記拡張部を起動する起動処理部と、前記拡張部において実現される機能を動作させるための拡張機能動作情報を前記拡張部に要求する拡張機能動作情報要求部と、前記拡張機能動作情報の要求に応じて、前記拡張機能動作情報を暗号化して出力する拡張機能動作情報暗号化部と、前記暗号化して出力された拡張機能動作情報を復号する拡張機能動作情報復号部と、前記復号された拡張機能動作情報に基づき、前記拡張部において実現される機能を動作させて、前記画像形成装置に印刷出力を実行させるための印刷制御情報を生成する印刷制御情報生成部とを含むことを特徴とする情報処理装置。請求項1乃至8いずれか1項に記載の印刷制御プログラムと印刷装置とを含むことを特徴とする印刷システム。請求項1乃至8いずれか1項に記載の印刷制御プログラムが記憶された記憶部を含むことを特徴とする印刷装置。上述したような従来のプラグインの構成においては、図10に示すようなインターフェース関数テーブルが公開されているため、悪意のあるダミーDLLDynamicLinkLibraryに置き換えられてしまう可能性がある。図13は、図8に対応する図であり、正当なプラグインが悪意のあるダミーDLLに置き換えられてしまうことを概念的に示す図である。図13に示すように、正当なプラグイン120と同じインターフェース関数を持ち、そのプラグインとなるDLLファイルのファイル名を用いることにより、正当なプラグインが悪意のあるプラグインに乗っ取られる可能性がある。例えば、セキュリティ関係のプラグインが置き換えられて無効化されてしまった場合、文書に施されるべきセキュリティが施されないこととなり、情報の漏洩等の問題につながる。本発明は、上記実情を考慮してなされたものであり、画像形成装置に画像形成出力を実行させるための印刷制御プログラムの機能拡張に対応して追加で実装される機能のセキュリティを向上することを目的とする。上記課題を解決するために、本発明の一態様は、インストールによって構成されるコア部とインストール後に追加可能な拡張部とを含み、画像形成装置に印刷出力を実行させるための印刷制御情報を生成するための印刷制御プログラムであって、前記拡張部を起動するステップと、前記拡張部において実現される機能を動作させるための拡張機能動作情報を前記拡張部に要求するステップと、前記拡張機能動作情報の要求に応じて、前記拡張機能動作情報を暗号化して出力するステップと、前記暗号化して出力された拡張機能動作情報を復号するステップと、前記復号された拡張機能動作情報に基づき、前記拡張部において実現される機能を動作させて、前記画像形成装置に印刷出力を実行させるための印刷制御情報を生成するステップとを情報処理装置に実行させることを特徴とする。また、前記拡張機能動作情報を要求するステップにおいては、前記暗号化された拡張機能動作情報において取得するべき範囲を指定して要求することができる。また、前記拡張機能動作情報を要求するステップにおいては、前記暗号化された拡張機能動作情報において取得するべき範囲が記述された取得範囲指定情報に基づいて前記暗号化された拡張機能動作情報において取得するべき部分を指定して要求することができる。また、前記拡張機能動作情報を要求するステップにおいては、前記印刷制御情報の生成に係る一連の動作におけるタイミングに応じて異なる前記取得範囲指定情報に基づいて前記暗号化された拡張機能動作情報において取得するべき部分を指定して要求することができる。また、前記拡張機能動作情報を暗号化するステップにおいては、公開鍵暗号方式における秘密鍵を用いて前記拡張機能動作情報を暗号化することが好ましい。また、前記拡張機能動作情報を暗号化するステップが、前記拡張部として含まれる情報に従って実現されることが好ましい。また、前記暗号化された拡張機能動作情報を復号するステップは、前記コア部として含まれる情報に従って実現することができる。また、前記暗号化された拡張機能動作情報の取得に応じて、前記拡張機能動作情報を復号する機能を動作させるための復号機能動作情報を前記拡張部から取得するステップと、前記取得された復号機能動作情報に基づき、前記拡張部において実現される前記拡張機能動作情報を復号する機能を動作させて、前記暗号化された拡張機能動作情報を復号するステップとを情報処理装置に実行させることにより、前記暗号化された拡張機能動作情報を復号するステップが、前記拡張部として含まれる情報に従って実現されることが好ましい。他方、本発明の他の態様は、インストールによって構成されるコア部とインストール後に追加可能な拡張部とを含み、画像形成装置に印刷出力を実行させるための印刷制御情報を生成するための印刷制御機能を実現する情報処理装置であって、前記拡張部を起動する起動処理部と、前記拡張部において実現される機能を動作させるための拡張機能動作情報を前記拡張部に要求する拡張機能動作情報要求部と、前記拡張機能動作情報の要求に応じて、前記拡張機能動作情報を暗号化して出力する拡張機能動作情報暗号化部と、前記暗号化して出力された拡張機能動作情報を復号する拡張機能動作情報復号部と、前記復号された拡張機能動作情報に基づき、前記拡張部において実現される機能を動作させて、前記画像形成装置に印刷出力を実行させるための印刷制御情報を生成する印刷制御情報生成部とを含むことを特徴とする。また、本発明の更に他の態様は、印刷システムであって、上記印刷制御プログラムと印刷装置とを含むことを特徴とする。また、本発明の更に他の態様は、印刷装置であって、上記印刷制御プログラムが記憶された記憶部を含むことを特徴とする。本発明によれば、画像形成装置に画像形成出力を実行させるための印刷制御プログラムの機能拡張に対応して追加で実装される機能のセキュリティを向上することができる。以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、プリンタドライバがインストールされた情報処理装置であるPCPersonalComputerと、プリンタドライバによって生成される印刷ジョブに従って印刷出力を実行する画像形成装置であるプリンタとを含む印刷システムを例として説明する。尚、画像形成装置はプリンタでなくとも良く、PCにインストールされたプリンタドライバによって生成される印刷ジョブに基づいて画像形成出力を実行する装置であれば良い。図1は、本実施形態に係る印刷システムの機能構成を示すブロック図である。図1に示すように、本実施形態に係る印刷システムはPC1及びプリンタ8を含み、PC1とプリンタ8とは、ネットワーク9を介して接続されている。PC1においては、インストールされたアプリケーション2がOSOperationSystem上で動作することにより、文書作成や画像編集等の機能を提供し、ユーザの操作に応じて、印刷出力するべき画像の元となる情報を提供する。アプリケーション2は、ユーザの操作に応じてプリンタドライバ10のUIUserInterface部10aを起動し、UI部10aのGUIGraphicalUIを介して設定される印刷出力の設定情報をDEVMODE構造体と呼ばれる情報形式で取得する。そして、アプリケーション2若しくはアプリケーション2によって起動されたUI部10aに対してユーザの操作により印刷実行命令が入力されると、アプリケーション2は、GDIGraphicsDeviceInterface3を起動し、UI部10aを介して設定されたDEVMODE構造体及び出力するべき画像の情報を受け渡す。GDI3は、一般的に基本ソフトであるOSに組み込まれた描画エンジンである。GDI3は、DDIDeviceDriverInterfaceを介してプリンタドライバ10のグラフィック部10bを起動し、処理を受け渡す。プリンタドライバ10のグラフィック部10bは、GDI3によってOSの内部命令として出力された画像データを、印刷出力を実行させる対象のプリンタ8が処理可能なデータ形式であるPDLPageDescriptionLanguage形式のデータに変換する。PDL形式のデータは、プリンタ8に印刷を実行させるための印刷制御情報である。グラフィック部10bは、PDL形式に変換したデータを順次スプーラー4に受け渡す。スプーラー4は、グラフィック部10bによって生成されたPDL形式のデータを、スプールファイル5として記憶媒体に一次的に記憶させる。これにより、プリンタドライバ10においてグラフィック部10bがPDLデータを生成した後、プリンタ8がPDLデータを受け付けることが出来ない状態であったとしても、プリンタドライバ10は生成したPDLデータをスプーラー4に渡して次の処理にすぐに移ることができるため、処理を効率化することができる。スプールファイル5として記憶媒体に記憶されたPDLデータは、プリンタプロセッサ6によって再度スプーラー4に受け渡され、ポートモニタ7により、ネットワーク9を介してプリンタ8に送信される。次に、本実施形態に係るプリンタドライバ10の機能構成について、図2を参照して説明する。図2に示すように、プリンタドライバ10は、プリンタドライバ10のインストールによってPC1内に構成されるコア部であるコアドライバ11と、インストール後に追加可能な拡張部であるプラグイン22とに分かれており、コアドライバ11側からプラグイン22を呼び出すことによって機能が実現される。図10に示すように、コアドライバ11は、画面表示部12、設定保存部13、設定管理部14、描画部15及び関数テーブル復号化部16を含む。画面表示部12は、記憶媒体に格納されているレイアウト情報18に基づき、プリンタドライバ11のGUIをディスプレイモニタに表示する。また、画面表示部12は、記憶媒体に格納されているプラグイン情報18のうち、画面表示に関する情報に基づき、プラグイン22から対応する機能を取得して、プラグインに関するGUIをディスプレイモニタに表示する。設定保存部13は、記憶媒体に格納されている保存先情報19に基づき、GUIを介してユーザにより入力された設定を、上述したDEVMODE構造体として保存する。設定管理部14は、コアドライバ11の機能としてプリンタドライバのGUIに表示し、ユーザの操作に応じて設定値を取得するべき設定項目を、記憶媒体に格納されている機能情報20に基づいて管理する。また、設定管理部14は、プラグイン22の機能としてプリンタドライバのGUIに表示し、ユーザの操作に応じて設定値を取得するべき設定項目を、記憶媒体に格納されているプラグイン情報21に基づいて管理する。即ち、画面表示部12、設定保存部13、設定管理部14が、図1に示すUI部10aとして機能する。描画部15は、コアドライバ11の機能として備わっている描画機能を実行する。ここでいう描画機能とは、上述したPDL形式のデータを生成する機能である。また、描画部15は、プラグイン情報21に基づき、プラグイン22として実装された機能を動作させて描画を実行させる。即ち、描画部15が、図1に示すグラフィック部10bとして機能する。関数テーブル復号部16及び復号キー17については後述する。プラグイン22は、画面表示部23、設定管理部24、描画部25及び関数テーブル暗号化部26を含む。本実施形態においては、プラグイン22は1つのDLLファイルとして実現される。画面表示部23は、コアドライバ11の画面表示部12にプラグインとして追加される機能を提供する。設定管理部24は、コアドライバ11の設定管理部14にプラグインとして追加される機能を提供する。描画部25は、コアドライバ11の描画部15にプラグインとして追加される機能を提供する。関数テーブル暗号化部26は、画面表示部23、設定管理部24及び描画部25の夫々が、コアドライバ11側から呼び出すためにプラグイン22側から提供されるインターフェース関数テーブルを、記憶媒体に記憶されている暗号化キー27を用いて暗号化する。図4は、関数テーブル暗号化部26によって暗号化されたインターフェース関数テーブルのバイナリデータを示す図である。インターフェース関数テーブルとは、図10、図11に示すように、プラグイン22を構成するDLLファイルにおいて、画面表示部23、設定管理部24及び描画部25夫々を機能させるためのルールが記述された情報である。即ち、インターフェース関数テーブルとは、拡張機能を動作させるための拡張機能動作情報である。プラグイン22側において暗号化された上でコアドライバ11側に提供されたインターフェース関数テーブルは、関数テーブル復号部16により、記憶媒体に記憶されている復号キー17を用いて復号される。これにより、コアドライバ11は、プラグイン22として実装された各機能を動作させるためのインターフェースを取得する。尚、復号キー17及び暗号化キー27としては、例えば公開鍵方式を用いることが可能である。復号キー17及び暗号化キー27として公開鍵暗号方式を用いる場合、暗号化キー27が秘密鍵とされる。これにより、悪意のある第三者が悪意のあるDLLファイルを作成するとしても、DLLファイル内に実装するべき暗号化キー27が秘密であるため、悪意のあるDLLファイルが作成されることを防ぐことができる。他方、暗号化キー27を公開鍵としても良い、この場合、復号キー17が秘密鍵とされるため、悪意のある第三者によってインターフェース関数テーブルが読み取られてしまうことを防ぐことができる。尚、復号キー17と暗号化キー27とで別々の鍵を生成したとしても、いずれか一方を公開する必要はなく、一般的にはいずれも秘密の鍵として運用される。この他、共通鍵暗号方式を用いても良い。図3は、コアドライバ11側がプラグイン22の機能を用いる際のプラグインインターフェースを示す図である。図3に示すように、OpenPluginコマンド及びClosePluginコマンドは、図9に示す従来例と同様である。GetInterfaceコマンドも、図9と同様に、インターフェース関数テーブルをプラグイン22側から取得するためのコマンドであるが、その引数として、先頭ポインタ及びその情報を読み出す範囲を指定するファイルサイズが指定されている。図9に示す従来例においては、LPPLUGIN_IF_TBLtableのように、プラグイン120を構成するDLLファイル中に含まれるインターフェース関数テーブルのアドレスが引数として指定されていた。しかしながら、本実施形態においては、関数テーブル暗号化部26によってインターフェース関数テーブルが図4に示すように暗号化されているため、関数のアドレスによってインターフェース関数テーブルを指定することができない。このため、本実施形態に係るプラグインインターフェースにおいては、暗号化されたインターフェース関数テーブルの先頭のアドレスを示す先頭ポインタと、暗号化されたインターフェース関数テーブルのファイルサイズが引数として指定されている。換言すると、本実施形態に係るGetInterfaceコマンドにおいては、図4にしめすように暗号化されたバイナリデータのうち、データを取得するべき範囲が指定される。即ち、図3に示す先頭アドレス及びファイルサイズが取得範囲指定情報として用いられる。コアドライバ11は、これらの引数に従ってプラグイン22から暗号化されたインターフェース関数テーブルを取得する。このようにしてコアドライバ11側に提供された暗号化されたバイナリデータを関数テーブル復号部16が復号することにより、図10に示すようなインターフェース関数テーブルがコアドライバ11側に提供される。これにより、コアドライバ11は、図11に示すようなプラグイン22のインターフェース関数を用いて、プラグイン22の機能を動作させることが可能となる。図5は、本実施形態に係るコアドライバ11及びプラグイン22の動作を示すシーケンス図である。図5の例においては、図1に示すGDI3からグラフィック部10bに処理が受け渡された後の処理、即ち、画像データの描画処理におけるコアドライバ11及びプラグイン22の動作を説明する。図5に示すように、GDI3から処理を受け渡されたコアドライバ11実際には、コアドライバ11に従って演算を行う演算装置は、まずプラグイン22を起動するS501。即ち、コアドライバ11側の各モジュールが、起動処理部として機能する。S501の処理は、例えば、プラグイン22を構成するDLLファイルを作業領域である不揮発性記憶媒体に読み出す処理である。そして、コアドライバ11は、OpenPluginコマンドによりプラグイン処理を開始するS502。コアドライバからのOpenPluginコマンドに対して、プラグイン22は、HANDLEを返すS503。プラグイン処理を開始したコアドライバ11は、GetInterfaceコマンドにより、プラグイン22に対してインターフェース関数テーブルを要求するS504。即ち、コアドライバ11側の各モジュールが、拡張機能動作情報要求部として機能する。コアドライバ11からGetInterfaceコマンドを受けると、プラグイン22においては、関数テーブル暗号化部26が、インターフェース関数テーブルを暗号化しS505、暗号化されたインターフェース関数テーブルのバイナリデータをコアドライバ11に出力するS506。即ち、関数テーブル暗号化部26が、拡張機能動作情報暗号化部として機能する。コアドライバ11においては、関数テーブル復号部16が、プラグイン22側から出力された暗号化データを復号するS507。即ち、関数テーブル復号部16が、拡張機能動作情報復号部として機能する。これにより、コアドライバ11がインターフェース関数テーブルを取得し、プラグイン22のインターフェース関数を利用可能となる。そして、コアドライバ11は、DEVMODE構造体として設定保存部13により保存された設定値を引数として、NeedJimonコマンド及びNeedWatermarkコマンドにより、地紋や文字スタンプが必要か否かの判断をプラグイン22に実行させるS508、S510。これに対して、プラグイン22は、夫々の処理結果を通知するS509、S511。尚、S509及びS511の処理は、プラグイン22によって実現される機能や、実現の態様により異なる。例えば、NeedJimonコマンドによって実現される地紋印刷機能の場合、S509の処理は、地紋印刷が必要であることを判断してその判断結果を通知する処理や、コアドライバ11が最終的に生成するPDLに含める地紋印刷のためのコマンドを生成してコアドライバ11に通知する処理や、地紋を描画するためのベクターデータ、イメージデータを生成してコアドライバ11に通知する処理である。インターフェース関数テーブルに含まれるインターフェース関数についての処理が完了すると、コアドライバ11は、ClosePluginコマンドによりプラグイン処理の終了を宣言しS512、起動中のプラグインを終了するS513。その後、描画部15は、最終的にプリンタ8に送信するPDLデータを生成する。即ち、描画部15が、印刷制御情報生成部として機能する。このような処理により、本実施形態に係る描画処理におけるコアドライバ11及びプラグイン22の動作が完了する。このように、本実施形態に係るプリンタドライバ10においては、GetInterfaceコマンドにより取得されるデータは暗号化されたインターフェース関数である。従って、悪意のある第三者が容易にはインターフェース関数を取得することが出来ないようになっている。また、DLLファイルには、復号キー17に対応した暗号化キー27を含める必要があるため、プラグイン22を構成するDLLファイルを悪意のあるダミーDLLに置き換えることも困難となっている。このため、画像形成装置の機能拡張に対応して情報処理装置側に追加で実装される機能のセキュリティを向上することができる。尚、図1や、図2に示すような機能構成は、ソフトウェアとハードウェアとの組み合わせによって実現される。以下、本実施形態に係るPC1のハードウェア構成について図6を参照して説明する。図6に示すように、本実施形態に係るPC1は、一般的な情報処理端末と同様の構成を有する。即ち、本実施形態に係るPC1は、CPUCentralProcessingUnit30、RAMRandomAccessMemory31、ROMReadOnlyMemory32、HDDHardDiskDrive34及びI/F35がバス33を介して接続されている。また、I/F35にはLCDLiquidCrystalDisplay36及び操作部37が接続されている。CPU30は演算手段であり、PC1全体の動作を制御する。RAM31は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU30が情報を処理する際の作業領域として用いられる。ROM32は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。HDD34は、情報の読み書きが可能な不揮発性の記憶媒体であり、OSOperatingSystemや各種の制御プログラム、アプリケーションプログラム等が格納されている。I/F35は、バス34と各種のハードウェアやネットワーク等を接続し制御する。LCD36は、ユーザがPC1の状態を確認するための視覚的ユーザインタフェースである。操作部37は、キーボードやマウス等、ユーザがPC1に情報を入力するためのユーザインタフェースである。このようなハードウェア構成において、ROM32やHDD34若しくは図示しない光学ディスク等の記録媒体に格納されたプログラムがRAM31に読み出され、それらのプログラムに従ってCPU30が演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、図1、図2に示すような、本実施形態に係るPC1の機能を実現する機能ブロックが構成される。図2に示すようなプリンタドライバ10は、例えば光記憶媒体等に格納されたソフトウェアプログラムが、PC1のHDD34にインストールされることによって構成される。また、上述したように、プラグイン22は、追加で実装されるべき機能を実現するためのDLLファイルが、同じくPC1のHDD34に格納されると共に、そのDLLファイルに対応した図3に示すようなプラグインインターフェースの情報が、プラグイン情報21としてPC1のHDD34に格納されることにより構成される。しかしながら、図2に示すようなプリンタドライバ10をインストールするための方法は、記憶媒体に格納されたソフトウェアプログラムをPC1に読み出すことに限らず、例えば、ネットワークを介してPC1にソフトウェアプログラムをダウンロードすることによって実現することも可能である。そのような場合において、プリンタドライバ10をインストールするためのインストーラプログラムをプリンタ8に設けられた記憶媒体に記憶しておき、プリンタ8からPC1にインストーラプログラムをダウンロードすることによっても、PC1にプリンタドライバ10を構成することができる。即ち、本実施形態に係るプリンタドライバ10の流通形態として、プリンタドライバ10を記憶させた記憶媒体を含むプリンタ10としての流通形態が考えられる。また、上記実施形態においては、プラグイン22によって実現される機能として、図11に示すように、地紋印刷や文字スタンプ印刷等の描画部25としての機能を例として説明した。この他、例えば画面表示部23及び設定管理部24の機能としては、図1に示すアプリケーション部2によって起動されたUI部10aがプリンタドライバ10のGUIを表示する際、プラグイン22として提供される機能を設定するための部分を表示する機能や、GUIを介して入力された設定を管理する機能がある。上述したように、コアドライバ11側の画面表示部12、設定管理部14、描画部15は、図3において説明したプラグインインターフェースに基づいてプラグイン22側の画面表示部23、設定管理部24、描画部25を呼び出して動作させる。従って、画面表示部12、設定管理部14、描画部15夫々が異なる機能を、画面表示部23、設定管理部24、描画部25によって実現する場合、夫々異なるプラグインインターフェースに基づいてプラグイン22側を呼び出す。この際、最も異なるのは、GetInterfaceコマンドの引数として指定される先頭ポインタ及びファイルサイズである。即ち、プラグイン22を構成するDLLファイル内のインターフェース関数を関数テーブル暗号化部26が暗号化してバイナリデータを生成した上で、コアドライバ11側に出力するべき部分の指定を変えることで、画面表示部23、設定管理部24、描画部25夫々に対応したインターフェース関数が暗号化されたバイナリデータがコアドライバ11側に出力される。このように画面表示部12、設定管理部14、描画部15夫々毎に異なるプラグインインターフェースは、プラグイン情報21として記憶されている。即ち、画面表示部12、設定管理部14、描画部15は、プラグイン22を起動して動作させる際、プラグイン情報21として記憶媒体に格納されているプラグインインターフェースを参照して、夫々に対応したインターフェース関数を取得する。また、上記実施形態においては、プラグイン22が一のDLLファイルによって構成される場合を例として説明した。しかしながら、プラグイン22は、機能拡張のために追加されるものであるため、DLLファイルが複数になることもあり得る。また、図2に示す画面表示部23、設定管理部24、描画部25夫々が異なるDLLファイルによって実現される場合もあり得るし、描画部25として機能するDLLファイルが複数存在する場合もあり得る。このように複数のDLLファイルの存在を許容する場合、少なくとも夫々のDLLファイルに、拡張するべき機能を実現するための情報と、関数テーブル暗号化部26及び暗号化キー27とが含まれる。これは、コアドライバ11側からのGetInterfaceコマンドを受け取るのは夫々のDLLファイル実際には、DLLファイルに従って演算を行うCPUであるため、GetInterfaceコマンドに対して、DLLファイル内のインターフェース関数テーブルを暗号化するために、関数テーブル暗号化部26がDLLファイル内に実装されていることにより容易に暗号化処理を実行することが出来るからである。また、複数のDLLファイルの存在を許容する場合、図3に示すようなプラグインインターフェースには、インターフェース関数を取得する対象のDLLファイルを指定するための情報が含まれることになる。また、上記実施形態においては、関数テーブル復号部16がコアドライバ11の機能として実現されている場合を例として説明した。この場合、少なくとも関数テーブル復号部16がコアドライバ11側の機能として含まれるプリンタドライバ10をインストールする必要がある。しかしながら、関数テーブル復号部16をプラグイン22の機能として実現することにより、コアドライバとプラグインとに分かれている既存のプリンタドライバであれば、本実施形態に係る機能を実現することが可能となる。関数テーブル復号部16をプラグイン22の機能として実現する場合、図3に示すようなプラグインインターフェースとして、関数テーブル復号部16の機能を実現するDLLファイル内のインターフェース関数テーブルを取得するためのプラグインインターフェースを、プラグイン情報21として記憶媒体に格納する。この際、GetInterfaceコマンドの引数としては、図3に示すような暗号化されたバイナリデータ内の位置ではなく、図9において説明したような、インターフェース関数テーブルを指定する情報が用いられる。そして、関数テーブル復号部16の機能を実現するDLLファイル実際には、DLLファイルに従って演算を行うCPUは、GetInterfaceコマンドを受けると、上述したようなインターフェース関数テーブルの暗号化の処理を実行することなく、そのままインターフェース関数テーブルをコアドライバ11側に出力する。これにより、コアドライバ11側において、プラグイン22として構成された関数テーブル復号部16を動作させるためのインターフェース関数テーブルが取得され、関数テーブル復号部16の機能を用いて、暗号化されたインターフェース関数テーブルを復号することが可能となる。尚、コアドライバ11側が関数テーブル復号部16のインターフェース関数テーブルを要求するタイミングとしては、例えば、暗号化されたインターフェース関数テーブルを取得したタイミングである。