JP4310172B2 - Information processing apparatus, method, system, control program - Google Patents

Information processing apparatus, method, system, control program Download PDF

Info

Publication number
JP4310172B2
JP4310172B2 JP2003382683A JP2003382683A JP4310172B2 JP 4310172 B2 JP4310172 B2 JP 4310172B2 JP 2003382683 A JP2003382683 A JP 2003382683A JP 2003382683 A JP2003382683 A JP 2003382683A JP 4310172 B2 JP4310172 B2 JP 4310172B2
Authority
JP
Japan
Prior art keywords
area
device driver
application
information
printer driver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003382683A
Other languages
Japanese (ja)
Other versions
JP2005148928A (en
Inventor
三雄 大木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003382683A priority Critical patent/JP4310172B2/en
Publication of JP2005148928A publication Critical patent/JP2005148928A/en
Application granted granted Critical
Publication of JP4310172B2 publication Critical patent/JP4310172B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

デバイスドライバを搭載可能な情報処理装置、方法、制御プログラム等に関するものである。   The present invention relates to an information processing apparatus, method, control program, and the like that can be equipped with a device driver.

アプリケーション及びデバイスドライバが読み書き可能なメモリ領域を公開領域として、デバイスドライバからは読み書き可能であるがアプリケーションからは直接読み書きできないメモリ領域を拡張領域として管理するオペレーティングシステムが存在していた。   There has been an operating system that manages a memory area that can be read and written by an application and a device driver as an open area, and manages a memory area that can be read and written by a device driver but cannot be directly read and written by an application as an extended area.

例えばオペレーティングシステムの一例であるWindows(登録商標)システムにおいてデバイスドライバの一例であるプリンタドライバの設定情報は、DEVMODE構造体に格納される。ここでDEVMODE構造体は公開領域の一例であるパブリック領域と固有領域の一例であるプライベート領域)2つから構成されている。(特許文献1参照。Windows(登録商標)は、マイクロソフト社の商標である。以下、単にWindows(登録商標)と記載するときは、マイクロソフト社の商品名を表す。)
ここでパブリック領域には用紙サイズ、印刷品位、オリエンテーションなど印刷設定の一般的な項目が保持されており、Windows(登録商標)システムにおいてその構造が公開されていることから、アプリケーションはそのプログラム内部で直接現在の設定を参照し、同時にアプリケーションから直接更新することが可能である。
For example, setting information of a printer driver that is an example of a device driver in a Windows (registered trademark) system that is an example of an operating system is stored in a DEVMODE structure. Here, the DEVMODE structure is composed of two (a public area which is an example of a public area and a private area which is an example of a specific area). (See Patent Document 1. Windows (registered trademark) is a trademark of Microsoft Corporation. Hereinafter, when simply referred to as Windows (registered trademark), it represents a trade name of Microsoft Corporation.)
Here, general items of print settings such as paper size, print quality, orientation, etc. are held in the public area, and the structure is made public in the Windows (registered trademark) system. It is possible to refer to the current settings directly and update directly from the application at the same time.

これに対し、PRIVATE領域には上記パブリック領域とは異なり、プリンタドライバの仕様に固有の情報が保持される、同時にWindows(登録商標)システムにおいては、プリンタドライバごとにその内部構造が異なると定義されている。アプリケーションは、PRIVATE領域の内部構造を知ることができない仕組みになっている。   On the other hand, unlike the public area, the PRIVATE area holds information specific to the printer driver specification. At the same time, in the Windows (registered trademark) system, the printer driver is defined as having different internal structures. ing. The application is structured such that the internal structure of the PRIVATE area cannot be known.

一方近年は、デバイスドライバ固有の情報をアプリケーションにおいて直接ハンドリングする要求が増えてきている。   On the other hand, in recent years, there has been an increasing demand for directly handling device driver-specific information in applications.

しかしながら、前述のとおり従来のシステムではアプリケーションがPRIVATE領域の内容を更新又は読み出す、つまりプリンタドライバ固有の設定を更新又は読み出す場合は、プリンタドライバに対してドライバの設定画面を開くよう促し、プリンタドライバを起動し、ユーザのデバイスドライバに対する直接のプリンタドライバへの入力等に応じて入力された設定値のDEVMODEを返却するよう命令を発行する術しかなかった。
特開2003−162388
However, as described above, in the conventional system, when the application updates or reads the contents of the PRIVATE area, that is, when the setting specific to the printer driver is updated or read, the printer driver is prompted to open the driver setting screen and the printer driver is The only way to start is to issue a command to return the DEVMODE of the set value input in response to the input to the printer driver directly to the user's device driver.
JP2003-162388

上述の例では、デバイスドライバ固有の設定情報を格納するための拡張領域を定義したのであるが、一方で、アプリケーションとデバイスドライバとが、固有領域を介して情報を授受することが困難という課題があった。   In the above example, the extended area for storing the setting information unique to the device driver is defined, but on the other hand, there is a problem that it is difficult for the application and the device driver to exchange information via the specific area. there were.

さらに、アプリケーションがプリンタドライバ固有の設定、つまりPRIVATE領域に保存されている設定を更新する場合は、必ずプリンタドライバの設定画面を表示するしか手段が無い。しかしながらこれはユーザに煩雑な操作を行わせる原因となるため、理想的にはアプリケーションの設定画面上にプリンタドライバの固有の設定項目がメニューとして表示したいという課題があった。   Further, when the application updates the setting specific to the printer driver, that is, the setting stored in the PRIVATE area, the only way to display the setting screen of the printer driver is. However, this causes the user to perform complicated operations. Therefore, there is a problem that the setting items unique to the printer driver are ideally displayed on the application setting screen as a menu.

さらに、デバイスドライバ固有の設定情報は、コアドライバを拡張する機能を持つ拡張モジュールからも固有領域を介して授受する必要があるが、これも実現されていなかった。   Furthermore, the setting information specific to the device driver needs to be exchanged via the specific area from the extension module having the function of extending the core driver, but this has not been realized.

本願発明は上述の少なくとも一つの課題を解決すべく、なされたものである。本願発明の一つの側面は、アプリケーションとデバイスドライバとの親和性を高めることにある。   The present invention has been made to solve at least one of the problems described above. One aspect of the present invention is to increase the affinity between an application and a device driver.

さらに本願発明のさらに別の側面は、アプリケーションとデバイスドライバとが、デバイスドライバ固有の情報を格納するための固有領域を介して情報を授受することを可能にするということにある。   Yet another aspect of the present invention is that it enables an application and a device driver to exchange information via a unique area for storing information unique to the device driver.

実施形態においては、拡張モジュールとコアモジュールを有するデバイスドライバを搭載した情報処理装置において、前記デバイスドライバは、アプリケーション及びデバイスドライバが読み書き可能なメモリ領域を公開領域として、前記拡張モジュールからは読み書き可能であるがアプリケーションからは直接読み書きできないメモリ領域を拡張領域として管理するオペレーティングシステムと協働可能なデバイスドライバであって、前記デバイスドライバは、前記オペレーティングシステムのインタフェースを用いて前記拡張領域の管理情報を取得する取得手段と、前記取得手段が取得した管理情報を用いて、前記拡張領域に記憶されたデバイスドライバ固有の設定情報を認識する認識手段と、前記認識手段が認識したデバイスドライバ固有の設定情報を、アプリケーションに対して通知する処理を制御する通知制御手段と、を有することを特徴とする情報処理装置、方法、システム制御プログラムなどが開示される。   In an embodiment, in an information processing apparatus equipped with a device driver having an extension module and a core module, the device driver can read and write from the extension module with a memory area that can be read and written by an application and a device driver as a public area. A device driver capable of cooperating with an operating system that manages a memory area that is directly readable and writable from an application as an extended area, and the device driver obtains management information of the extended area using an interface of the operating system Using the management information acquired by the acquisition unit, a recognition unit for recognizing setting information unique to the device driver stored in the extension area, and a device driver recognized by the recognition unit Configuration information Yes, the information processing apparatus characterized by comprising: a notification control means for controlling the process of notifying the application, the method and the system control program is disclosed.

本願発明の一つの側面によれば、アプリケーションとデバイスドライバとの親和性を高めることができる。   According to one aspect of the present invention, the affinity between an application and a device driver can be increased.

さらに本願発明のさらに別の側面によれば、アプリケーションとデバイスドライバとが、デバイスドライバ固有の情報を格納するための固有領域を介して情報を授受することを可能になる。   According to still another aspect of the present invention, an application and a device driver can exchange information via a specific area for storing information specific to the device driver.

以下、図面を参照して、本発明の実施の形態を詳細に説明する。実施形態では、Windows(登録商標)システムで定義されているプリンタドライバ命令(Device Driver Interface、略して以後DDIと呼ぶ)とは別に、独自のプリンタドライバ命令(以後拡張DDIと呼ぶ)を新たに定義し、アプリケーションはプリンタドライバに用意された拡張DDIを直接利用することで、プリンタドライバの設定画面を表示させることなしに、アプリケーションの設定画面上にプリンタドライバ固有の設定項目をメニューとして用意する手段を用いる。一方プリンタドライバ開発ベンダーが開発するプリンタドライバの提供形態においては、以下の2つの提供形態が存在する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the embodiment, a unique printer driver instruction (hereinafter referred to as extended DDI) is newly defined separately from a printer driver instruction (Device Driver Interface, hereinafter referred to as DDI for short) defined in the Windows (registered trademark) system. In addition, by directly using the extended DDI prepared in the printer driver, the application can prepare a setting item specific to the printer driver as a menu on the application setting screen without displaying the printer driver setting screen. Use. On the other hand, there are the following two forms of provision of printer drivers developed by printer driver development vendors.

1つはプリンタドライバ開発ベンダーが全てのプリンタドライバモジュールを開発提供する形態(以後モノリシックプリンタドライバと呼ぶ)である。もう1つはプリンタドライバ開発ベンダーが、UIプラグインモジュールとレンダリングプラグインモジュールのみを提供し、他のモジュールはWindows(登録商標)システムにて提供されているモジュールを利用する形態(以後ユニバーサルプリンタドライバと呼ぶ)。特にユニバーサルプリンタドライバの形態では、Windows(登録商標)システムで定義されたDDIでは、固有領域の一例であるUIプラグインモジュールのPRIVATE領域のアドレスはWindows(登録商標)システムにより提供されるが、本実施形態の手段である、Windows(登録商標)システムで定義されていない独自の拡張DDIを利用する場合はUIプラグインモジュールのPRIVATE領域を知る方法が提供されないため、UIプラグインモジュールはPRIVATE領域を更新することができない。   One is a form in which a printer driver development vendor develops and provides all printer driver modules (hereinafter referred to as a monolithic printer driver). The other is that the printer driver development vendor provides only the UI plug-in module and the rendering plug-in module, and the other modules use modules provided in the Windows (registered trademark) system (hereinafter referred to as universal printer driver). Called). In particular, in the form of the universal printer driver, in the DDI defined in the Windows (registered trademark) system, the address of the PRIVATE area of the UI plug-in module which is an example of the unique area is provided by the Windows (registered trademark) system. When a unique extended DDI that is not defined in the Windows (registered trademark) system, which is a means of the embodiment, is used, a method for knowing the PRIVATE area of the UI plug-in module is not provided, so the UI plug-in module sets the PRIVATE area. It cannot be updated.

しかしながら本実施形態では、上記の問題を解決しつつ、2つのいずれのプリンタドライバ形態に対しても、拡張DDIを新たに定義しアプリケーションがプリンタドライバの設定画面を表示することなしに、アプリケーションが直接プリンタドライバ固有の設定項目を更新することが可能となる手法を提供する。   However, in this embodiment, while solving the above-described problem, the application can be directly applied to any of the two printer driver forms without newly defining an extended DDI and displaying the printer driver setting screen by the application. Provided is a method capable of updating setting items unique to a printer driver.

ホストコンピュータの構成を以下に示す。図1はホストコンピュータの概略を示す構成図である。ホストコンピュータ1−1は中央演算処理装置1−6、ハードディスク1−2、インタフェース1−3、記憶媒体装置1−4、揮発性記憶領域1−5、表示装置1−7、入力装置1−8で構成される。ハードディスク1−2は、オペレーティングシステムや文書や画像を作成もしくは編集するための各種アプリケーションプログラムを記憶する領域である。また、本ハードディスク1−2に対してプリンタドライバはインストールされる。インタフェース1−3は、ホストコンピュータ1−1から出力される印刷命令を印刷装置に送信するためのインタフェースである。具体的にはパラレルインタフェース、USBインタフェース、赤外線通信もしくはネットワークインタフェースなどである。記憶媒体読取装置1−4はCD−ROMやフロッピー(登録商標)ディスク等の記憶媒体に保存された内容を読み取る装置である。具体的にはCD−ROMドライブやフロッピー(登録商標)ディスクドライブなどである。揮発性記憶領域1−5は、一時的に情報を保持可能な領域であり、ハードディスク1−2に保存されているオペレーティングシステムや文書や画像を作成もしくは編集するための各種アプリケーションプログラムが中央演算処理装置1−6で実行する際に一時的に情報を保持する領域として利用される。プリンタドライバに関しても中央演算処理装置1−6で実行される際に揮発性記憶領域1−5が一時的に情報を保存する領域として利用される。中央演算処理装置1−6はソフトウエアプログラムに従いホストコンピュータ1−1の全体を制御する。表示装置1−7はCRTもしくは液晶ディスプレイなどつまりディスプレイを表し、アプリケーションソフトウエアの画面を表示したり、プリンタドライバの設定画面の現在の状態を表示したりすることが可能である。入力装置1−8はマウスやキーボードなどを表し、表示装置1−7で表示したインストールプログラムの画面や、プリンタドライバの設定画面などに対して各種入力するために利用される。   The configuration of the host computer is shown below. FIG. 1 is a configuration diagram showing an outline of a host computer. The host computer 1-1 includes a central processing unit 1-6, a hard disk 1-2, an interface 1-3, a storage medium device 1-4, a volatile storage area 1-5, a display device 1-7, and an input device 1-8. Consists of. The hard disk 1-2 is an area for storing an operating system, various application programs for creating or editing documents and images. A printer driver is installed in the hard disk 1-2. The interface 1-3 is an interface for transmitting a print command output from the host computer 1-1 to the printing apparatus. Specifically, a parallel interface, a USB interface, infrared communication, a network interface, or the like. The storage medium reading device 1-4 is a device that reads contents stored in a storage medium such as a CD-ROM or a floppy (registered trademark) disk. Specifically, it is a CD-ROM drive, a floppy (registered trademark) disk drive, or the like. The volatile storage area 1-5 is an area where information can be temporarily stored. Various operating programs stored in the hard disk 1-2 and various application programs for creating or editing documents and images are processed by central processing. It is used as an area for temporarily holding information when executed by the apparatus 1-6. Also for the printer driver, the volatile storage area 1-5 is used as an area for temporarily storing information when executed by the central processing unit 1-6. The central processing unit 1-6 controls the entire host computer 1-1 according to a software program. The display device 1-7 represents a CRT or a liquid crystal display, that is, a display, and can display a screen of application software or a current state of a printer driver setting screen. An input device 1-8 represents a mouse, a keyboard, and the like, and is used for various inputs on an installation program screen displayed on the display device 1-7, a printer driver setting screen, and the like.

プリンタドライバの構成を以下に示す。図2はプリンタドライバがホストコンピュータ2−1上にインストールされたのちの、印刷装置の構成要素としてのプリンタドライバを表す構成図である。ホストコンピュータ2−1と印刷装置2−5はインタフェース2−10で接続されている。具体的にはセントロニクスインタフェース、USBインタフェース、赤外線通信もしくはネットワークインタフェース等である。主に文書や画像を作成または編集可能なアプリケーション2−6より印刷命令2−2がオペレーティングシステムのアプリケーションプログラミングインタフェースの一例であるグラフィックスドライバインタフェース(以後GDI)2−7にGDI命令2−2として発行されると、GDI2−7はスプーラ2−4を経由してプリンタドライバ2−8が公開しているデバイスドライバインタフェース(以後DDI)命令発行される。DDI命令を受けたプリンタドライバ2−8はDDI命令を印刷コマンド命令に変換し、プスーラ2−4を経由し双方向通信制御部2−9へ渡す。双方向通信制御部2−9は、上記インタフェース2−10を利用し、印刷装置が判別可能な印刷命令を印刷装置2−11に送信する。印刷命令を受信した印刷装置2−5の双方向通信制御部2−11は、印刷命令を印刷制御部2−12に渡し、印刷制御部2−12は指定の用紙に印刷処理を実行する。   The configuration of the printer driver is shown below. FIG. 2 is a block diagram showing a printer driver as a component of the printing apparatus after the printer driver is installed on the host computer 2-1. The host computer 2-1 and the printing apparatus 2-5 are connected by an interface 2-10. Specifically, a Centronics interface, USB interface, infrared communication, network interface, or the like. A print command 2-2 is an example of an application programming interface of the operating system as a GDI command 2-2 as an application programming interface of the operating system from an application 2-6 that can mainly create or edit a document or an image. When issued, the GDI 2-7 issues a device driver interface (hereinafter DDI) command published by the printer driver 2-8 via the spooler 2-4. Upon receiving the DDI command, the printer driver 2-8 converts the DDI command into a print command command and passes it to the bidirectional communication control unit 2-9 via the pusher 2-4. The bidirectional communication control unit 2-9 uses the interface 2-10 to transmit a printing command that can be identified by the printing apparatus to the printing apparatus 2-11. The bidirectional communication control unit 2-11 of the printing apparatus 2-5 that has received the print command passes the print command to the print control unit 2-12, and the print control unit 2-12 executes print processing on the designated paper.

モノリシックプリンタドライバの構成例は以下のようになる。図3は、プリンタドライバ開発ベンダーが全てのプリンタドライバモジュールを開発提供する「モノリシックプリンタドライバ」という実装の一形態を表す構成図である。このモノリシックプリンタドライバは、図1のハードディスクに格納され、中央処理演算装置により読み出され実行される。また図4はモノリシックドライバにおけるDEVMODE構造体を表す構成図である。図4において、まずDEVMODE構造体とは、プリンタドライバが利用する印刷設定、例えば用紙サイズ、部数、印刷品質などの一般的な項目から、プリンタドライバの仕様に特化した情報、たとえばインクカートリッジの種類などを全て含めた全ての印刷設定値が保持される構造体である。またDEVMODE構造体はアプリケーションソフトウエア3−4において図1の揮発性記憶領域1−5に保持されるが、構成としてパブリック領域4−1とPRIVATE領域4−6の2つが揮発性記憶領域1−5に連続して配置される。   A configuration example of the monolithic printer driver is as follows. FIG. 3 is a configuration diagram showing an embodiment of a “monolithic printer driver” in which a printer driver development vendor develops and provides all printer driver modules. This monolithic printer driver is stored in the hard disk of FIG. 1, and is read and executed by the central processing unit. FIG. 4 is a block diagram showing a DEVMODE structure in the monolithic driver. In FIG. 4, first, the DEVMODE structure refers to information specific to printer driver specifications, such as the type of ink cartridge, from general items such as print settings used by the printer driver, such as paper size, number of copies, and print quality. This is a structure that holds all print setting values including all of the above. The DEVMODE structure is held in the volatile storage area 1-5 of FIG. 1 in the application software 3-4. As a configuration, the public area 4-1 and the PRIVATE area 4-6 are composed of the volatile storage area 1-5. 5 are arranged continuously.

ここでパブリック領域4−1は、主に、パブリック領域のサイズ4−3と、印刷設定のうち一般的な項目である用紙サイズ4−3、部数4−4、印刷品質4−5などが保持されている。またパブリック領域4−1のこれら内部構成はプリンタドライバの種類を問わず統一の構成と定義されており、同時にアプリケーションソフトウエアにも公開されていることから、アプリケーションソフトウエアが直接各項目にアクセスすることが可能である。   Here, the public area 4-1 mainly holds the size 4-3 of the public area, the paper size 4-3, the number of copies 4-4, the print quality 4-5, etc. which are general items in the print settings. Has been. The internal configuration of the public area 4-1 is defined as a unified configuration regardless of the type of printer driver, and since it is also disclosed to the application software, the application software directly accesses each item. It is possible.

一方PRIVATE領域4−6は、プリンタドライバ毎の固有の情報を保持する領域として定義されている。また同時にPRIVATE領域4−6の構成はプリンタドライバ毎に独自の構成を持つことが許されているため、アプリケーションソフトウエアはその構成を知ることができず、ゆえに直接各項目にアクセスすることができない。つまりPRIVATE領域の各項目にアクセスできるのは、内部構成を知っているプリンタドライバだけ可能となる。本実施例では例えば、拡張領域の一例であるPRIVATE領域4−6にプリンタドライバ固有の設定情報の一例であるインクカートリッジの種類4−7を保持することとする。   On the other hand, the PRIVATE area 4-6 is defined as an area for holding unique information for each printer driver. At the same time, since the configuration of the PRIVATE area 4-6 is allowed to have a unique configuration for each printer driver, the application software cannot know the configuration and therefore cannot directly access each item. . That is, only the printer driver that knows the internal configuration can access each item in the PRIVATE area. In the present embodiment, for example, an ink cartridge type 4-7, which is an example of setting information unique to the printer driver, is held in a PRIVATE area 4-6, which is an example of an expansion area.

ここで、プリンタドライバがPRIVATE領域4−6にアクセスするためには、PRIVATE領域の先頭アドレス4−9を知らなければならないが、PRIVATE領域の先頭アドレス4−9はアプリケーションから指定されたパブリック領域の先頭アドレス4−8より、パブリック領域のサイズ4−2を参照し、パブリック領域の先頭アドレス4−8のアドレスに、パブリック領域のサイズ4−9を追加することでPRIVATE領域の先頭アドレス4−10を求めることが可能である。   Here, in order for the printer driver to access the PRIVATE area 4-6, it is necessary to know the start address 4-9 of the PRIVATE area, but the start address 4-9 of the PRIVATE area is the public area specified by the application. By referring to the size 4-2 of the public area from the start address 4-8 and adding the size 4-9 of the public area to the address of the start address 4-8 of the public area, the start address 4-10 of the PRIVATE area Can be obtained.

図3の説明に戻る。まず図3においてモノリシックプリンタドライバ3−9は、主にモノリシックドライバUI3−6と、モノリシックドライバレンダリング3−7で構成されている。具体的にモノリシックドライバUI3−6とモノリシックドライバレンダリング3−7はダイナミックリンクライブラリ(DLL)の形態で構成され、2つのDLLはプリンタドライバベンダが全て開発及び提供する。一般的にアプリケーション3−4が印刷を実行する手順は、印刷設定を行う手順と印刷を開始する手順の2つに分けられる。まず印刷設定を行う手順を説明する。アプリケーション3−4は、印刷設定項目である用紙サイズやオリエンテーション、印刷品質などの全ての設定値をDEVMODE構造体として獲得し、揮発性記憶領域1−5に保持する必要がある。   Returning to the description of FIG. In FIG. 3, the monolithic printer driver 3-9 mainly includes a monolithic driver UI 3-6 and a monolithic driver rendering 3-7. Specifically, the monolithic driver UI 3-6 and the monolithic driver rendering 3-7 are configured in the form of a dynamic link library (DLL), and the two DLLs are all developed and provided by the printer driver vendor. Generally, the procedure for executing printing by the application 3-4 is divided into two steps: a procedure for performing print settings and a procedure for starting printing. First, a procedure for performing print settings will be described. The application 3-4 needs to acquire all setting values such as paper size, orientation, and print quality, which are print setting items, as a DEVMODE structure and store them in the volatile storage area 1-5.

そこでアプリケーション3−4は、図4におけるパブリック領域4−1上に存在する用紙サイズ4−3や部数4−4、印刷品質4−5などは内部構成を知っているのでアプリケーションソフトウエアが自身のソースコード上でDEVMODE構造体上の値を変更することが可能である。   Therefore, the application 3-4 knows the internal configuration of the paper size 4-3, the number of copies 4-4, the print quality 4-5, etc. existing on the public area 4-1 in FIG. It is possible to change the value on the DEVMODE structure on the source code.

その一方でアプリケーション3−4は、図4におけるPRIVATE領域4−1上に存在するインクカートリッジの種類4−7においてはPRIVATE領域4−1の構成を知らないためアプリケーション3−4が直接値を変更することはできない。そこで、アプリケーション3−4がPRIVATE領域4−1上の値を変更するためには、一般的にはモノリシックドライバUI3−6が公開するDDI命令郡3−5のうち、プリンタドライバに対して「設定画面を表示し、ユーザに設定を更新させ、結果をDEVMODE構造体として返却する」という命令を行うことで、モノリシックドライバUI自身に設定画面を表示させてその設定結果をDEVMODE構造体として獲得する手法を取る。   On the other hand, the application 3-4 does not know the configuration of the PRIVATE area 4-1 in the type 4-7 of the ink cartridge existing on the PRIVATE area 4-1 in FIG. I can't do it. Therefore, in order for the application 3-4 to change the value in the PRIVATE area 4-1, in the DDI command group 3-5 disclosed by the monolithic driver UI 3-6, generally, “setting” is set for the printer driver. A method of displaying a setting screen on the monolithic driver UI itself and acquiring the setting result as a DEVMODE structure by performing an instruction “display a screen, update setting by the user, and return the result as a DEVMODE structure” I take the.

次にアプリケーション3−4が印刷を開始する手順を説明する。前述の印刷設定を行う手順で揮発性記憶領域1−5に獲得したDEVMODE構造体をGDI3−2が公開する印刷開始命令のパラメータとして渡す。同時に印刷対象となる描画命令も渡す。GDI3−2はアプリケーション3−4から獲得したDEVMODE構造体を、渡された描画命令と共にモノリシックドライバレンダリング3−7に渡す。そして、モノリシックドライバレンダリング3−7は、渡された描画命令の内容を、別途渡されたDEVMODE構造体の印刷設定に従って印刷装置2−5の印刷制御部2−12が理解可能な印刷コマンドに変換し、その印刷コマンドをプリントスプーラ3−3に送信する。   Next, a procedure for the application 3-4 to start printing will be described. The DEVMODE structure acquired in the volatile storage area 1-5 by the above-described print setting procedure is passed as a parameter of a print start command published by the GDI 3-2. At the same time, a drawing command to be printed is also passed. The GDI 3-2 passes the DEVMODE structure acquired from the application 3-4 to the monolithic driver rendering 3-7 together with the passed drawing command. Then, the monolithic driver rendering 3-7 converts the contents of the passed drawing command into a print command that can be understood by the print control unit 2-12 of the printing apparatus 2-5 according to the print setting of the DEVMODE structure passed separately. Then, the print command is transmitted to the print spooler 3-3.

モノリシックプリンタドライバの拡張DDI実施例は以下のようになる。上記の説明は、定義された一般のアプリケーションの印刷について解説した。よってアプリケーション3−4が印刷設定を行う手順において、アプリケーション3−4自身が表示できる印刷設定画面は例えば図9の9−1のようなる。   An extended DDI embodiment of a monolithic printer driver is as follows. The above description describes the printing of a defined general application. Therefore, in the procedure in which the application 3-4 performs print settings, a print setting screen that can be displayed by the application 3-4 itself is, for example, 9-1 in FIG.

図9の9−1はアプリケーションの印刷設定画面の例だが、アプリケーションはDEVMODE構造体のうちのパブリック領域4−1しかアクセスできないため、パブリック領域4−1に存在する用紙サイズ4−3、部数4−4、印刷品質4−5をそれぞれメニューとして用紙サイズ9−2、部数9−3、印刷品位9−4として表示することしかできない。よってPRIVATE領域4−6に保持しているインクカートリッジの種類4−7を表示することはできない。インクカートリッジの種類4−7をユーザが変更するためには、別途3−5のDDI郡を用いてプリンタドライバの設定画面を新たに表示しなければならない。   9A is an example of the print setting screen of the application. Since the application can access only the public area 4-1 in the DEVMODE structure, the paper size 4-3 and the number of copies 4 existing in the public area 4-1 are shown. -4 and print quality 4-5 can be displayed as a paper size 9-2, number of copies 9-3, and print quality 9-4 as menus, respectively. Therefore, the type 4-7 of the ink cartridge held in the PRIVATE area 4-6 cannot be displayed. In order for the user to change the ink cartridge type 4-7, the printer driver setting screen must be newly displayed using the DDI group 3-5.

なお、上述の例ではインクカートリッジの例を掲げたが、カートリッジ,カートリッジ検知ボタンのON及びOFF、色調整に関する設定、印刷プレビューのON及びOFF、プリント時に立ち上がるドライバヘルプ表示アプリであるプリントアドバイザのON,OFFなど、出力用紙サイズ、印刷の種類、ふちなしはみ出し量、自動両面ユニットを使用するか否か、逆順印刷をするか否かの設定、スタンプ印刷をするか否かの設定、背景印刷に関する設定、イラストタッチの画像処理を行うか否かの設定、単色効果を適用するか否かの設定、鮮やかに写真を印刷するモードであるVIVIDフォトモードを適用するか否かの設定、イメージデータ補正に関する設定、デジカメノイズ除去に関する設定なども、カートリッジの種類4−7と同様に、プリンタドライバ固有の情報として拡張領域に管理される。これらの設定情報を読み出してアプリケーション側のユーザインタフェースに表示して、アプリケーションからの直接の設定及び表示が可能となる。   In the above example, an example of an ink cartridge has been described. However, ON / OFF of a cartridge and a cartridge detection button, settings relating to color adjustment, ON / OFF of a print preview, and ON of a print advisor which is a driver help display application that starts up at the time of printing , OFF, output paper size, type of printing, borderless protrusion, whether to use automatic duplex unit, whether to use reverse order printing, whether to perform stamp printing, and background printing Setting, setting whether to perform image processing for illustration touch, setting whether to apply a single color effect, setting whether to apply VIVID photo mode which is a mode for vividly printing a photo, image data correction Settings related to digital camera noise, etc. are the same as cartridge types 4-7. To be managed in the extension area as a printer driver specific information. These setting information can be read out and displayed on the user interface on the application side, and direct setting and display from the application can be performed.

しかしながらこれはユーザに煩雑な操作を行わせる原因となるため、理想的には図9の9−10に示す例のように、アプリケーションの設定画面上にプリンタドライバの固有の設定項目、つまりこの例ではインクカートリッジの種類9−11が追加されているが、このようにプリンタドライバの固有の設定項目もアプリケーションの印刷設定画面9−10上にメニューとして表示されているほうが望ましく理想的である。   However, this causes the user to perform complicated operations. Therefore, ideally, the setting items unique to the printer driver on the application setting screen, such as the example shown in 9-10 of FIG. In this case, the ink cartridge type 9-11 is added, but it is desirable and ideal that the setting items unique to the printer driver are also displayed as a menu on the print setting screen 9-10 of the application.

そこで、本実施形態では図9に示すようにアプリケーションの設定画面9−10にプリンタドライバの固有の設置項目であるPRIVATE領域の情報を更新させる手段を、一般的なドライバ命令として定義されているDDI命令とは別の、独自のプリンタドライバ命令(以後拡張DDIと呼ぶ)という手法を設ける。   Therefore, in the present embodiment, as shown in FIG. 9, means for updating information in the PRIVATE area, which is an installation item unique to the printer driver, on the application setting screen 9-10 is a DDI defined as a general driver instruction. A method called an original printer driver instruction (hereinafter referred to as extended DDI) is provided separately from the instruction.

まず図3において、モノリシックドライバUI3−6は、DDKで定義された標準のDDI命令郡3−5とは別に拡張DDI3−9をサポートする。具体的にはダイナミックリンクライブラリとして構成されるモノリシックドライバUI3−6が外部にexportする関数として拡張DDI3−9を用意する。ここでアプリケーション3−4は、図9の9−10に示すようにプリンタドライバ独自の設定であるインクカートリッジの種類9−11のメニューを表示するために、アプリケーション3−4は拡張DDI3−9に直接アクセスする構成を取る。   In FIG. 3, the monolithic driver UI 3-6 supports the extended DDI 3-9 separately from the standard DDI instruction group 3-5 defined by DDK. Specifically, an extended DDI 3-9 is prepared as a function that the monolithic driver UI 3-6 configured as a dynamic link library exports to the outside. Here, the application 3-4 displays the menu of the ink cartridge type 9-11, which is a setting unique to the printer driver, as indicated by 9-10 in FIG. Take direct access configuration.

以下にアプリケーションが拡張DDIを利用するフローを説明する。図11は、図3に示すアプリケーションが、図9の9−11に示すアプリケーションの印刷設定画面を初期化するための拡張DDI命令を処理するシーケンスのフローチャートである。なおこれらフローチャートの内容は、アプリケーションとして記憶媒体例えば図1のハードディスクに記録されており、ハードディスクから読み出されて図1の揮発性記憶領域1−5に一時的に保存され、中央演算処理装置1−6において実行される。ステップ11−1から開始し、ステップ11−2で、プリンタドライバが拡張DDI命令をサポートしているか、つまり拡張DDI命令でインクカートリッジの設定変更が可能であるかを判断し、サポートしている場合はステップ11−3において、インクカートリッジの種類メニューを可視状態とする。その後ステップ11−4に進む。一方ステップ11−2で拡張DDI命令でインクカートリッジの設定変更が不可と判断した場合はステップ11−4に進む。この場合インクカートリッジの種類メニューは可視状態とならない。ステップ11−4では、アプリケーションはDEVMODE構造体のパブリック領域である用紙サイズメニューを表示しステップ11−5に進む。ステップ11−5ではパブリック領域の部数メニューを表示しステップ11−6へ進む。ステップ11−6ではパブリック領域の印刷品質メニューを表示しステップ11−7へ進み終了する。   A flow in which the application uses the extended DDI will be described below. FIG. 11 is a flowchart of a sequence in which the application shown in FIG. 3 processes an extended DDI command for initializing the print setting screen of the application shown in 9-11 of FIG. The contents of these flowcharts are recorded as an application on a storage medium such as the hard disk in FIG. 1, read from the hard disk, temporarily stored in the volatile storage area 1-5 in FIG. Executed at -6. Starting from step 11-1, if it is determined in step 11-2 that the printer driver supports the extended DDI command, that is, it is possible to change the setting of the ink cartridge by the extended DDI command In step 11-3, the ink cartridge type menu is made visible. Thereafter, the process proceeds to Step 11-4. On the other hand, if it is determined in step 11-2 that the setting of the ink cartridge cannot be changed by the extended DDI command, the process proceeds to step 11-4. In this case, the ink cartridge type menu is not visible. In step 11-4, the application displays a paper size menu which is a public area of the DEVMODE structure, and proceeds to step 11-5. In step 11-5, a public area copy menu is displayed, and the flow advances to step 11-6. In step 11-6, the print quality menu of the public area is displayed, and the process proceeds to step 11-7 and ends.

このフローにおいてステップ11−4、ステップ11−5、ステップ11−6では、アプリケーションはDEVMODE構造体のパブリック領域の構造を知っているために、拡張DDI命令を利用することは無い。   In step 11-4, step 11-5, and step 11-6 in this flow, since the application knows the structure of the public area of the DEVMODE structure, the extended DDI instruction is not used.

またステップ11−10から11−15は、ステップ11−3のインクカートリッジの種類メニューを表示するために拡張DDI命令を利用する詳細なシーケンスのフローチャートである。ステップ11−10から開始し、ステップ11−11にてアプリケーションは拡張DDIにて現在プリンタドライバで選択できるインクカートリッジの種類を列挙しステップ11−12へ進む。ステップ11−12では前記列挙したインクカートリッジの内容で、メニューであるコンボボックス内のリストを更新し、ステップ11−13へ進む。ステップ11−13では、次にコンボボックスのどの項目を選択状態とするかを判断するために、拡張DDIにてインクカートリッジの現在の値を取得し、ステップ11−14へ進む。ステップ11−14では、ステップ11−13で取得した現在の値に合致したコンボボックス内の項目を表示状態とし、11−15で終了する。このフロー手順により、アプリケーションは拡張DDIを利用して項目メニューの初期化が可能となる。   Steps 11-10 to 11-15 are a flowchart of a detailed sequence for using the extended DDI command to display the ink cartridge type menu in step 11-3. Starting from step 11-10, in step 11-11, the application lists the types of ink cartridges that can be selected by the printer driver in the extended DDI, and proceeds to step 11-12. In step 11-12, the list in the combo box which is a menu is updated with the contents of the enumerated ink cartridge, and the process proceeds to step 11-13. In step 11-13, in order to determine which item of the combo box is to be selected next, the current value of the ink cartridge is acquired by the extended DDI, and the process proceeds to step 11-14. In step 11-14, the item in the combo box that matches the current value acquired in step 11-13 is displayed, and the process ends in 11-15. By this flow procedure, the application can initialize the item menu using the extended DDI.

図12は、図3に示すアプリケーションが、図9に示すアプリケーションの印刷設定画面において、インクカートリッジの種類9−11のメニューでインクカートリッジの種類を変更し印刷開始する場合のシーケンスを表すフローチャートである。ステップ12−10から開始し、ステップ12−11にて、ユーザがインクカートリッジのコンボボックスを変更した場合、ステップ12−12にて、アプリケーションは、ユーザが変更したインクカートリッジ種類を表すIDを拡張DDIにて指定する。次にステップ12−13にて、拡張DDIの出力情報として、ステップ12−12で指定した新しいインクカートリッジの種類にPRIVATE領域が更新されたDEVMODE構造体を取得する。アプリケーションは次にステップ12−14にて、取得したDEVMODE構造体を印刷開始命令のパラメータとして印刷処理を開始する。これにより、アプリケーションは拡張DDIを利用して、アプリケーション自身がその構造を知らないPRIVATE領域に保持されたインクカートリッジの種類をアプリケーション自身が持つメニューで更新することができ、結果としてユーザにプリンタドライバの設定画面を表示することなしにインクカートリッジの種類を更新して印刷を開始することが可能となる。   FIG. 12 is a flowchart showing a sequence when the application shown in FIG. 3 changes the ink cartridge type in the ink cartridge type 9-11 menu and starts printing on the print setting screen of the application shown in FIG. . Starting from step 12-10, if the user changes the combo box of the ink cartridge in step 12-11, in step 12-12, the application sets the ID indicating the ink cartridge type changed by the user to the extended DDI. Specify with. In step 12-13, a DEVMODE structure in which the PRIVATE area is updated to the new ink cartridge type specified in step 12-12 is acquired as output information of the extended DDI. Next, in step 12-14, the application starts print processing using the acquired DEVMODE structure as a parameter of the print start command. As a result, the application can use the extended DDI to update the type of the ink cartridge held in the PRIVATE area where the application itself does not know the structure using the menu of the application itself. It is possible to start printing by updating the type of the ink cartridge without displaying the setting screen.

拡張DDIの入力及び出力情報を以下に説明する。図10は、それぞれ図11及び図12に示した、アプリケーションが拡張DDIを利用する場合における、拡張DDI命令のアプリケーション側からの入力情報及び、アプリケーション側への出力情報のフォーマットを表す図である。   The extended DDI input and output information is described below. FIG. 10 is a diagram showing the format of input information from the application side of the extended DDI instruction and output information to the application side when the application uses the extended DDI shown in FIGS. 11 and 12, respectively.

10−1から10−5は、アプリケーションが特定の項目の値を列挙する場合、つまり図11のステップ11−11で現在選択可能なインクカートリッジの種類を列挙する場合のアプリケーション側からの入力及びアプリケーションへの出力情報である。具体的にはアプリケーションは項目ID10−1と現在のDEVMODE構造体10−2を拡張DDIに入力し、拡張DDIが返却する列挙の結果として列挙個数10−3と、列挙されたインクカートリッジの値IDを10−4から10−5で取得する。これにより拡張DDIにて値の列挙が可能となる。   Reference numerals 10-1 to 10-5 denote an input from the application side and an application when the application enumerates values of specific items, that is, when the types of ink cartridges currently selectable at step 11-11 in FIG. Output information to Specifically, the application inputs the item ID 10-1 and the current DEVMODE structure 10-2 to the extended DDI, and the enumeration number 10-3 as a result of enumeration returned by the extended DDI and the value ID of the enumerated ink cartridge Are acquired from 10-4 to 10-5. As a result, it is possible to enumerate values in the extended DDI.

また10−10から10−12は、アプリケーションが特定の項目の現在の値を取得する場合、つまり図11のステップ11−13で現在のインクカートリッジの種類を獲得する場合のアプリケーション側からの入力及びアプリケーションへの出力情報である。具体的にはアプリケーションは項目ID10−10と現在のDEVMODE構造体10−11を拡張DDIに入力し、拡張DDIが返却する現在値として値ID10−12を取得する。これにより拡張DDIにて現在値の取得が可能となる。   10-10 to 10-12 are input from the application side when the application acquires the current value of a specific item, that is, when the current ink cartridge type is acquired in step 11-13 in FIG. Output information to the application. Specifically, the application inputs the item ID 10-10 and the current DEVMODE structure 10-11 to the extended DDI, and acquires the value ID 10-12 as the current value returned by the extended DDI. As a result, the current value can be acquired by the extended DDI.

また10−20から10−23は、アプリケーションが特定の項目に対し新しい値へ更新する場合、つまり図11のステップ11−14で新しいインクカートリッジの種類へ値を更新するばあいのアプリケーション側からの入力及びアプリケーションへの出力情報である。具体的にはアプリケーションは項目ID10−20と、変更先の値ID10−21と、現在のDEVMODE構造体10−22を拡張DDIに入力し、拡張DDIが返却するPRIVATE領域が更新されたDEVMODE構造体10−23を取得する。これにより拡張DDIにて特定の項目の値を更新し、更新後のDEVMODEを獲得することが可能となる。   10-20 to 10-23 are input from the application side when the application updates to a new value for a specific item, that is, when the value is updated to a new ink cartridge type in step 11-14 in FIG. And output information to the application. Specifically, the application inputs the item ID 10-20, the change destination value ID 10-21, and the current DEVMODE structure 10-22 to the extended DDI, and the DEVMODE structure in which the PRIVATE area returned by the extended DDI is updated. Get 10-23. As a result, the value of a specific item can be updated in the extended DDI, and the updated DEVMODE can be acquired.

モノリシックプリンタドライバ側の拡張DDI処理フローを以下に示す。図13は、図3に示すモノリシックドライバUI3−6が、アプリケーション3−4から拡張DDI命令にてインクカートリッジの値の変更を受けた場合の拡張DDI内部の処理を表すフローチャートである。つまり図11におけるステップ11−14においてアプリケーションがインクカートリッジの値の変更である拡張DDI命令を発行したときのプリンタドライバ側の拡張DDI命令内部の処理フローである。この場合前述したとおり、図10の10−20から10−22の入力情報がアプリケーションから拡張DDIに入力される。またこのときの入力情報10−22のDEVMODE構造体の構成は図4で確認することができる。   The extended DDI processing flow on the monolithic printer driver side is shown below. FIG. 13 is a flowchart showing processing in the extended DDI when the monolithic driver UI 3-6 shown in FIG. 3 receives a change in the ink cartridge value from the application 3-4 in response to the extended DDI command. That is, this is a processing flow inside the extended DDI instruction on the printer driver side when the application issues an extended DDI instruction that changes the value of the ink cartridge in step 11-14 in FIG. In this case, as described above, the input information 10-20 to 10-22 in FIG. 10 is input from the application to the extended DDI. The configuration of the DEVMODE structure of the input information 10-22 at this time can be confirmed in FIG.

ステップ13−1から開始し、ステップ13−2において、アプリケーションから指定されたDEVMODE構造体のパブリック領域の先頭アドレスから、パブリック領域のサイズを参照しステップ13−3へ進む。ステップ13−3では、パブリック領域の先頭アドレスに、ステップ13−2で獲得したパブリック領域のサイズを加算し、PRIVATE領域の先頭アドレスを算出する。これにより拡張DDI内部で、入力情報として渡されたDEVMODE構造体のPRIVATE領域の先頭アドレスを獲得できる。次にステップ13−4へ進み、PRIVATE領域に保持されているインクカートリッジの値が保持された領域を参照する。次にステップ13−5にて、アプリケーションから入力情報として渡された、新しいインクカートリッジのIDで、PRIVATE領域のインクカートリッジの値を更新する。次にステップ13−6へ進み、新しいインクカートリッジのIDで更新されたDEVMODE構造体全体を、アプリケーションに拡張DDIの出力情報として返却する。このフローにより、プリンタドライバは拡張DDIによって、アプリケーションが特定の項目のIDを新しいIDに変更したい場合、PRIVATE領域に保持している情報を正しく更新し、更新したDEVMODE構造体全てをアプリケーションに返却することが可能となる。   Starting from step 13-1, in step 13-2, the size of the public area is referred to from the start address of the public area of the DEVMODE structure designated by the application, and the process proceeds to step 13-3. In Step 13-3, the size of the public area acquired in Step 13-2 is added to the start address of the public area to calculate the start address of the PRIVATE area. As a result, the head address of the PRIVATE area of the DEVMODE structure passed as input information can be acquired in the extended DDI. Next, the process proceeds to step 13-4, and an area in which the value of the ink cartridge held in the PRIVATE area is held is referred to. Next, in step 13-5, the value of the ink cartridge in the PRIVATE area is updated with the ID of the new ink cartridge passed as input information from the application. In step 13-6, the entire DEVMODE structure updated with the new ink cartridge ID is returned to the application as output information of the extended DDI. According to this flow, when the application wants to change the ID of a specific item to a new ID by the extended DDI, the printer driver correctly updates the information held in the PRIVATE area and returns all the updated DEVMODE structures to the application. It becomes possible.

前述の実施形態と異なる箇所を中心に説明する。ユニバーサルプリンタドライバの構成例を以下に示す。図5はプリンタドライバ開発ベンダーが一部のプリンタドライバモジュールを開発提供する「ユニバーサルプリンタドライバ」という形態を表す構成図である。図5において図1のハードディスクに記憶され、中央処理演算装置に読み出し実行されるユニバーサルプリンタドライバ5−1は、ユニドライバUI5−6と、UIプラグイン5−7と、ユニドライバレンダリング5−8と、レンダリングプラグイン5−9で構成される。ここでプリンタベンダが開発できるモジュールは図のUIプラグイン5−7と、レンダリングプラグイン5−9のみであり、具体的にはUIプラグイン5−7とレンダリングプラグイン5−9はダイナミックリンクライブラリリ(DLL)の形態で構成される。他のユニドライバUI5−6や、ユニドライバレンダリング5−8はWindows(登録商標) OSに用意されたモジュールをそのまま加工せずに利用する必要がある。   A description will be given centering on differences from the above-described embodiment. A configuration example of the universal printer driver is shown below. FIG. 5 is a configuration diagram showing a form of “universal printer driver” in which a printer driver development vendor develops and provides some printer driver modules. In FIG. 5, the universal printer driver 5-1 stored in the hard disk of FIG. 1 and read and executed by the central processing unit is a unidriver UI5-6, a UI plug-in 5-7, a unidriver rendering 5-8, And a rendering plug-in 5-9. Here, the modules that can be developed by the printer vendor are only the UI plug-in 5-7 and the rendering plug-in 5-9 shown in the figure. Specifically, the UI plug-in 5-7 and the rendering plug-in 5-9 are dynamic link libraries. (DLL) form. Other unidriver UIs 5-6 and unidriver rendering 5-8 need to be used without modifying modules prepared in the Windows (registered trademark) OS.

また図7はユニバーサルプリンタドライバにおけるDEVMODE構造体を表す構成図である。図7においてユニバーサルプリンタドライバのDEVMODE構造体の構成は、前記図4で示したモノリシックプリンタドライバのDEVMODE構造体とは異なることがわかる。具体的にはパブリック領域7−1はモノリシックプリンタドライバのパブリック領域4−1同じだが、PRIVATE領域がユニドライバUIのPRIVATE領域7−6と、UIプラグインのPRIVATE領域7−7の2つで構成されている点が特に異なる。そして、インクカートリッジの種類7−8などプリンタドライバに固有の情報はUIプラグインのPRIVATE領域7−7に保持される。これらの領域7−1,7−6、7−7は、図1の中央処理演算装置が参照可能なハードディスク又は揮発性領域1−5をメモリ空間にマップした領域とすると好適である。   FIG. 7 is a block diagram showing a DEVMODE structure in the universal printer driver. In FIG. 7, it can be seen that the DEVMODE structure of the universal printer driver is different from the DEVMODE structure of the monolithic printer driver shown in FIG. Specifically, the public area 7-1 is the same as the public area 4-1 of the monolithic printer driver, but the PRIVATE area is composed of the PRIVATE area 7-6 of the unidriver UI and the PRIVATE area 7-7 of the UI plug-in. This is particularly different. Information specific to the printer driver, such as the ink cartridge type 7-8, is held in the PRIVATE area 7-7 of the UI plug-in. These areas 7-1, 7-6, and 7-7 are preferably areas in which the hard disk or the volatile area 1-5 that can be referred to by the central processing unit of FIG.

またここで、Windows(登録商標)のDDKでは図7の7−7に示すユニドライバUIのPRIVATE領域の内容は公開されていない。つまりUIプラグインにとってユニドライバUIのPRIVATE領域7−7の内部構成を知ることができず、UIプラグインのPRIVATE領域7−7の内部構成しか理解できないこととなる。   Also, in the Windows (registered trademark) DDK, the contents of the PRIVATE area of the unidriver UI indicated by 7-7 in FIG. 7 are not disclosed. In other words, the UI plug-in cannot know the internal configuration of the private area 7-7 of the unidriver UI, and can understand only the internal configuration of the PRIVATE area 7-7 of the UI plug-in.

図5の解説に戻る。まずアプリケーション5−4が印刷設定を行う手順を説明する。アプリケーション5−4はは、印刷設定項目である用紙サイズやオリエンテーション、印刷品質などの全ての設定値をDEVMODE構造体として獲得し、揮発性記憶領域1−5に保持する必要がある。   Returning to the explanation of FIG. First, a procedure for the application 5-4 to perform print setting will be described. The application 5-4 needs to acquire all setting values such as paper size, orientation, and print quality, which are print setting items, as a DEVMODE structure and store them in the volatile storage area 1-5.

そこでアプリケーション5−4は、図7におけるパブリック領域7−1上に存在する用紙サイズ7−3や部数7−4、印刷品質7−5などは内部構成を知っているため、アプリケーションソフトウエアが自身のソースコード上でDEVMODE構造体上の値を変更することが可能となる。   Therefore, the application 5-4 knows the internal configuration of the paper size 7-3, the number of copies 7-4, the print quality 7-5, etc. existing on the public area 7-1 in FIG. It is possible to change the value on the DEVMODE structure on the source code.

その一方でアプリケーション5−7は、図7におけるUIプラグインのPRIVATEE領域7−7上に存在するインクカートリッジの種類7−8においてはUIプラグインのPRIVATE領域7−7の構成を知らないためアプリケーション5−4が直接値を変更することはできない。そこで、アプリケーション5−4がUIプラグインのPRIVATE領域7−7上の値を変更するためには、一般的にはユニドライバUI5−6が公開するDDI命令郡5−5のうち、プリンタドライバに対して「設定画面を表示し、ユーザに設定を更新させ、結果をDEVMODE構造体として返却する」という命令を行う。するとユニドライバUI5−6は、UIプラグイン5−7が公開するDDI命令の同じ命令を呼び出す。   On the other hand, the application 5-7 does not know the configuration of the PRIVATE area 7-7 of the UI plug-in in the type 7-8 of the ink cartridge existing on the PRIVATEE area 7-7 of the UI plug-in in FIG. 5-4 cannot change the value directly. Therefore, in order for the application 5-4 to change the value in the PRIVATE area 7-7 of the UI plug-in, in general, the printer driver in the DDI command group 5-5 disclosed by the unidriver UI 5-6 is used. On the other hand, an instruction “display setting screen, let user update setting, and return result as DEVMODE structure” is issued. Then, the unidriver UI 5-6 calls the same instruction as the DDI instruction published by the UI plug-in 5-7.

このとき、UIプラグインには、パブリック領域の先頭アドレス7−9と同時に、プラグインPRIVATE領域の先頭アドレス7−10がユニドライバUI5−6からパラメータとして渡される。   At this time, the head address 7-10 of the plug-in PRIVATE area is passed as a parameter from the unidriver UI 5-6 to the UI plug-in simultaneously with the head address 7-9 of the public area.

呼び出されたUIプラグイン5−7はUIプラグイン独自の設定画面を表示して、その設定画面にインクカートリッジの種類メニューを表示し、その設定結果をUIプラグインのPRIVATE領域7−7上のインクカートリッジの種類7−8に記載しDEVMODE全体をユニドライバUI5−6に返却する。   The called UI plug-in 5-7 displays a setting screen unique to the UI plug-in, displays an ink cartridge type menu on the setting screen, and displays the setting result on the PRIVATE area 7-7 of the UI plug-in. The entire DEVMODE described in the ink cartridge type 7-8 is returned to the unidriver UI 5-6.

次にDEVMODE全体を返却されたユニドライバUI5−6は、アプリケーション5−4にそのDEVMODEを返却する。これによりアプリケーション5−4はプリンタ独自の設定項目が更新されたDEVMODE構造体を取得する手法を取る。   Next, the unidriver UI 5-6 that has returned the entire DEVMODE returns the DEVMODE to the application 5-4. As a result, the application 5-4 takes a method of acquiring a DEVMODE structure in which setting items unique to the printer are updated.

次にアプリケーション5−4が印刷を開始する手順を説明する。前述の印刷設定を行う手順で揮発性記憶領域1−5に獲得したDEVMODE構造体をGDI5−2が公開する印刷開始命令のパラメータとして渡す。同時に印刷対象となる描画命令も渡す。GDI5−2はアプリケーション5−4から獲得したDEVMODE構造体を、渡された描画命令と共にユニドライバレンダリング5−8に渡す。DEVMODE構造体を描画命令と共に渡されたユニドライバレンダリング5−8は、その情報をレンダリングプラグイン5−9に渡す。そして、レンダリングプラグイン5−9は渡された描画命令の内容を、別途渡されたDEVMODE構造体の印刷設定に従って印刷装置2−5の印刷制御部2−12が理解可能な印刷コマンドに変換し、その印刷コマンドをユニドライバレンダリング5−8経由でプリントスプーラ5−3へ送信する。   Next, a procedure for the application 5-4 to start printing will be described. The DEVMODE structure acquired in the volatile storage area 1-5 by the above-described print setting procedure is passed as a parameter of a print start command published by the GDI5-2. At the same time, a drawing command to be printed is also passed. The GDI 5-2 passes the DEVMODE structure acquired from the application 5-4 to the unidriver rendering 5-8 together with the passed drawing command. The unidriver rendering 5-8 having passed the DEVMODE structure together with the drawing command passes the information to the rendering plug-in 5-9. Then, the rendering plug-in 5-9 converts the contents of the passed drawing command into a print command that can be understood by the print control unit 2-12 of the printing apparatus 2-5 according to the print setting of the DEVMODE structure passed separately. The print command is transmitted to the print spooler 5-3 via the unidriver rendering 5-8.

ユニバーサルプリンタドライバの拡張DDIにおける実施例を以下に示す。図6はユニバーサルプリンタドライバ形態において拡張DDIの構成を表す構成図である。図6においてプリンタ開発ベンダが開発できるモジュールはUIプラグイン6−7とレンダリングプラグイン6−9のみであることから、UIプラグイン6−7にてDDKで定義された標準のDDI命令郡とは別に拡張DDI6−10をサポートする。具体的にはダイナミックリンクライブラリとして構成されるUIプラグイン6−7が外部にexportする関数として拡張DDI6−10を用意する。ここでアプリケーション6−4は、図9の9−10に示すようにプリンタドライバ独自の設定であるインクカートリッジの種類9−11のメニューを表示するために、アプリケーション6−4は拡張DDI6−10に直接アクセスする構成を取る。図9の表示画面は、図1の表示装置1−7に後述するフローチャートに従って表示される。   An example in the extended DDI of the universal printer driver is shown below. FIG. 6 is a configuration diagram showing the configuration of the extended DDI in the universal printer driver form. In FIG. 6, only the UI plug-in 6-7 and the rendering plug-in 6-9 can be developed by the printer development vendor. Therefore, the standard DDI instruction group defined by DDK in the UI plug-in 6-7 is as follows. Separately, extended DDI6-10 is supported. Specifically, an extended DDI 6-10 is prepared as a function that the UI plug-in 6-7 configured as a dynamic link library exports to the outside. Here, as shown in 9-10 of FIG. 9, the application 6-4 displays a menu of the ink cartridge type 9-11 which is a setting unique to the printer driver. Take direct access configuration. The display screen in FIG. 9 is displayed on the display device 1-7 in FIG.

ユニバーサルプリンタドライバの拡張DDIの問題点を以下に示す。図6の構成にてユニバーサルプリンタドライバで拡張DDIをサポートする場合に問題がある。図6のようにアプリケーション6−4が拡張DDI6−10の命令を直接呼び出すことになり、この場合図7に示すユニバーサルプリンタドライバのDEVMODE構造体のうち、アプリケーションからはパブリック領域の先頭アドレス7−9は指定されるが、プラグインPRIVATE領域の先頭アドレス7−10が指定されない。この原因は、図6においてユニドライバUIのPRIVATE領域7−6のサイズを唯一把握しているユニドライバUI6−6を経由せずに直接アプリケーション6−4とUIプラグイン6−7が情報のやりとりを行うためである。   The problems of the extended DDI of the universal printer driver are shown below. There is a problem when the extended DDI is supported by the universal printer driver in the configuration of FIG. As shown in FIG. 6, the application 6-4 directly calls the instruction of the extended DDI 6-10, and in this case, from the DEVMODE structure of the universal printer driver shown in FIG. Is specified, but the start address 7-10 of the plug-in PRIVATE area is not specified. This is because the application 6-4 and the UI plug-in 6-7 directly exchange information without going through the unidriver UI 6-6, which only knows the size of the private area 7-6 of the unidriver UI in FIG. Is to do.

ゆえにアプリケーションから直接拡張DDI命令を受けるUIプラグイン6−7は、DEVMODE構造体のうちインクカートリッジなどプリンタドライバ固有の情報が保持されるUIプラグインのPRIVATE領域の先頭アドレスを知ることができず、ゆえにインクカートリッジの種類7−8の位置を確認できず、拡張DDIの処理を行うことができなくなる。   Therefore, the UI plug-in 6-7 that receives the extended DDI command directly from the application cannot know the start address of the PRIVATE area of the UI plug-in that holds information specific to the printer driver such as an ink cartridge in the DEVMODE structure. Therefore, the position of the ink cartridge type 7-8 cannot be confirmed, and the extended DDI process cannot be performed.

前記問題点を解決するために、本実施形態においては、図8に示すようにユニバーサルプリンタドライバのDEVMODE構造体において、ユニドライバUIのPRIVATE領域の先頭に、ユニドライバPRIVATE領域のサイズ8−7を配置し、その構造をUIプラグイン6−9に公開する。   In order to solve the above-described problem, in this embodiment, as shown in FIG. 8, in the DEVMODE structure of the universal printer driver, the size 8-7 of the unidriver PRIVATE area is set at the head of the PRIVATE area of the unidriver UI. Deploy and publish the structure to UI plug-in 6-9.

このユニドライバPRIVATE領域のサイズ8−7の具体的な構成は、例えば、8−20に記載するような、UNIPRIVATEHEADER構造体を新規に儲け、その中にUNIPRIVATEHEADER構造体を含むユニドライバUIのPRIVATE領域全体のサイズを示すdwSizeフィールドを設ける。そしてこのUNIPRIVATEHEADER構造体をユニドライバUIのPRIVATE領域の先頭に必ず配置することとし、同時にUNIPRIVATEHEADER構造体の構造をUIプラグイン6−9にDDKとして公開してもよい。   The specific configuration of the size 8-7 of the unidriver PRIVATE region is as follows. For example, as described in 8-20, a UNIPRIVATEHEADER structure is newly provided, and a UNIPRIVATEHEADER structure including a UNIPRIVATEHEADER structure therein A dwSize field indicating the entire size is provided. The UNIPRIVATEHEADER structure may be necessarily placed at the head of the PRIVATE area of the unidriver UI, and at the same time, the structure of the UNIPRIVATEHEADER structure may be disclosed to the UI plug-in 6-9 as DDK.

その結果図6に示す拡張DDIの実施例においても、UIプラグイン6−7が正しくUIプラグインのPRIVATE領域8−8上に存在するインクカートリッジ8−9の位置を参照することが可能とする手段を用いる。   As a result, also in the embodiment of the extended DDI shown in FIG. 6, the UI plug-in 6-7 can correctly refer to the position of the ink cartridge 8-9 existing on the PRIVATE area 8-8 of the UI plug-in. Use means.

本実施形態におけるユニバーサルプリンタドライバ側の拡張DDI処理フローを以下に示す。図14は、図6に示すUIプラグイン6−7が、アプリケーション6−4から拡張DDI命令にてインクカートリッジの値の変更を受けた場合の拡張DDI内部の処理を表すフローチャートである。つまり図11におけるステップ11−14においてアプリケーションがインクカートリッジの値の変更である拡張DDI命令を発行したときのプリンタドライバ側の拡張DDI命令内部の処理フローである。この場合前述したとおり、図10の10−20から10−22の入力情報がアプリケーションから拡張DDIに入力される。またこのときの入力情報10−22のDEVMODE構造体の構成は図8で確認することができる。   The extended DDI processing flow on the universal printer driver side in this embodiment is shown below. FIG. 14 is a flowchart showing the internal processing of the extended DDI when the UI plug-in 6-7 shown in FIG. 6 receives a change in the ink cartridge value from the application 6-4 in response to the extended DDI command. That is, this is a processing flow inside the extended DDI instruction on the printer driver side when the application issues an extended DDI instruction that changes the value of the ink cartridge in step 11-14 in FIG. In this case, as described above, the input information 10-20 to 10-22 in FIG. 10 is input from the application to the extended DDI. The configuration of the DEVMODE structure of the input information 10-22 at this time can be confirmed in FIG.

図14のフローを、図8のDEVMODE構造体の構成に照らし合わせて解説する。ステップ14−1から開始し、ステップ14−2において、アプリケーションから指定されたDEVMODE構造体のパブリック領域の先頭アドレスから、パブリック領域のサイズを参照しステップ14−3へ進む。ステップ14−3では、パブリック領域の先頭アドレスに、ステップ14−2で獲得したパブリック領域のサイズを加算し、ユニドライバPRIVATE領域の先頭アドレスを算出する。これによりまずユニドライバUIのPRIVATE領域の先頭アドレス8−12を獲得できる。次にステップ14−4にて、ユニドライバUIのPRIVATE領域の先頭に保持されたユニドライバPRIVATE領域のサイズ8−7を参照しステップ14−5に進む。ステップ14−5ではユニドライバPRIVATE領域の先頭アドレス8−12に、ステップ14−4で獲得したユニドライバPRIVATE領域のサイズ8−13を加算し、UIプラグインPRIVATE領域の先頭アドレス8−14を獲得できる。これにより、拡張DDI内部でUIプラグインのPRIVATE領域の先頭アドレスを獲得でき、UIプラグインのPRIVATE領域を参照することが可能となる。次にステップ14−6に進み、UIプラグインのPRIVATE領域8−8に保持されているインクカートリッジの種類8−9が保持された領域を参照する。次にステップ14−7にて、アプリケーションから入力情報として渡された、新しいインクカートリッジのIDで、UIプラグインのPRIVATE領域のインクカートリッジの種類8−9を更新する。次にステップ14−8へ進み、新しいインクカートリッジのIDで更新されたDEVMODE構造体全体を、アプリケーションに拡張DDIの出力情報として返却する。   The flow of FIG. 14 will be described in light of the configuration of the DEVMODE structure of FIG. Starting from step 14-1, in step 14-2, the size of the public area is referred to from the start address of the public area of the DEVMODE structure designated by the application, and the process proceeds to step 14-3. In step 14-3, the size of the public area acquired in step 14-2 is added to the start address of the public area to calculate the start address of the unidriver PRIVATE area. As a result, first, the leading address 8-12 of the PRIVATE area of the unidriver UI can be acquired. Next, in step 14-4, the size 8-7 of the unidriver PRIVATE area held at the head of the PRIGATE area of the unidriver UI is referred to, and the process proceeds to step 14-5. In step 14-5, the size 8-13 of the unidriver PRIVATE area acquired in step 14-4 is added to the start address 8-12 of the unidriver PRIVATE area to obtain the start address 8-14 of the UI plug-in PRIVATE area. it can. As a result, the start address of the PRIVATE area of the UI plug-in can be acquired inside the extended DDI, and the PRIVATE area of the UI plug-in can be referred to. Next, the process proceeds to step 14-6, and an area in which the ink cartridge type 8-9 held in the PRIVATE area 8-8 of the UI plug-in is held is referred to. Next, in step 14-7, the ink cartridge type 8-9 in the PRIVATE area of the UI plug-in is updated with the ID of the new ink cartridge passed as input information from the application. In step 14-8, the entire DEVMODE structure updated with the new ink cartridge ID is returned to the application as output information of the extended DDI.

このフローにより、ユニバーサルプリンタドライバの拡張DDIの構成によっても、アプリケーションが特定の項目のIDを新しいIDに変更したい場合、PRIVATE領域に保持している情報を正しく更新し、更新したDEVMODE構造体全てをアプリケーションに返却することが可能となる。   According to this flow, even if the application wants to change the ID of a specific item to a new ID even by the configuration of the extended DDI of the universal printer driver, the information stored in the PRIVATE area is correctly updated, and all the updated DEVMODE structures are updated. It can be returned to the application.

拡張モジュールの一例であるレンダリングプラグイン又はUIプラグインモジュールと、コアモジュールの一例であるユニドライバレンダリング又はユニドライバUIモジュールを有するデバイスドライバの一例であるプリンタドライバを搭載したホストコンピュータ1−1において、プリンタドライバは、アプリケーション及びデバイスドライバが読み書き可能なメモリ領域を公開領域(パブリック領域)として、前記拡張モジュールからは読み書き可能であるがアプリケーションからは直接読み書きできないメモリ領域を拡張領域(UIプラグインのプライベート領域)として管理するオペレーティングシステム(GDI)と協働可能なプリンタドライバである。   In the host computer 1-1 having a rendering plug-in or UI plug-in module which is an example of an extension module and a printer driver which is an example of a device driver having a unidriver rendering or unidriver UI module which is an example of a core module, The printer driver uses a memory area that can be read and written by the application and the device driver as a public area (public area), and a memory area that can be read and written by the extension module but cannot be directly read and written by the application. This is a printer driver capable of cooperating with an operating system (GDI) managed as an area.

UIプラグインモジュールは、オペレーティングシステムのインタフェースであるGDIを用いて前記UIプラグインのプライベート領域の管理情報を取得する。   The UI plug-in module acquires management information of the private area of the UI plug-in using GDI, which is an interface of the operating system.

図1のハードディスクに記憶され、中央処理演算装置により読み出されたUIプラグインモジュールは、取得した管理情報の一例であるパブリック領域のサイズとユニドライバUIのプライベート領域のサイズを用いて、UIプラグインのプライベート領域8−8(図1のハードディスク又は不揮発性領域の一部)に記憶されたデバイスドライバ固有の設定情報の一例であるカートリッジ種類を示す情報情報を認識する。そして、UIプラグインは、このインクカートリッジを示す情報を、アプリケーションに対して通知すべく、オペレーティングシステムのAPIをコールする。   The UI plug-in module stored in the hard disk of FIG. 1 and read out by the central processing unit uses the size of the public area and the size of the private area of the unidriver UI as an example of the acquired management information. The information information indicating the cartridge type, which is an example of the setting information unique to the device driver, stored in the private area 8-8 of IN (a part of the hard disk or the nonvolatile area in FIG. 1) is recognized. Then, the UI plug-in calls an API of the operating system to notify the application of information indicating the ink cartridge.

さらに、オペレーティングシステムのインタフェースの一例であるGDIは、前記デバイスドライバとアプリケーションとの間でデバイスドライバに固有の設定情報をやり取りするための拡張インタフェースであることを示した。   Further, GDI, which is an example of an interface of the operating system, indicates that it is an extended interface for exchanging setting information unique to the device driver between the device driver and the application.

さらにUIプラグインは、パブリック領域のサイズとユニドライバのプライベート領域のサイズを用いて拡張領域の一例であるUIプラグインのプライベート領域の先頭アドレスを計算する。そして、UIプラグインが管理する構造体を参照し、該先頭アドレスのオフセットを認識してデバイスドライバ固有の設定情報の一例であるインクカートリッジ種別を示す情報を読み出す。さらに、UIプラグインは、前記アプリケーションの機能が表示制御する表示画面に表示させるべく、前記設定情報を前記アプリケーションに通知するようオペレーティングシステムのAPIをコールする。   Further, the UI plug-in calculates the start address of the private area of the UI plug-in, which is an example of the extension area, using the size of the public area and the size of the private area of the unidriver. Then, referring to the structure managed by the UI plug-in, the offset of the head address is recognized, and information indicating the ink cartridge type, which is an example of setting information unique to the device driver, is read. Further, the UI plug-in calls an API of the operating system so as to notify the application of the setting information so as to be displayed on a display screen controlled by the function of the application.

さらに、アプリケーションから、オペレーティングシステムのインタフェースを用いてデバイスドライバに対してカートリッジの種別を示す情報を通知し、前記デバイスドライバは、前記取得手段が取得した管理情報を用いて、UIプラグインモジュールのプライベート領域に対してアプリケーションから通知されたデバイスドライバ固有の設定情報の一例であるインクカートリッジの種別を示す情報を書き込むべくOSのAPIをコールする。   In addition, the application notifies the device driver of information indicating the type of cartridge using the operating system interface, and the device driver uses the management information acquired by the acquisition unit to store the private information of the UI plug-in module. The API of the OS is called to write information indicating the type of the ink cartridge, which is an example of setting information unique to the device driver notified from the application to the area.

さらに、UIプラグインモジュールは、ユニドライバ用プライベート領域のサイズを含むものであってもよい。   Furthermore, the UI plug-in module may include the size of the unidriver private area.

以上まとめると、アプリケーションソフトウエア、プリンタドライバ、印刷装置で構成される印刷システムであって、印刷装置における構成要素であるプリンタドライバのうち、Windows(登録商標)システムで予め定義されている標準DDIとは別に、独自に定義した拡張DDIを実装した特徴を持つプリンタドライバであって、なおかつ拡張DDIとして定義された手順により、プリンタドライバがPRIVATE領域に保有する、プリンタドライバ固有の設定項目の操作が可能かどうかをアプリケーションに返却することが可能な特徴を持つプリンタドライバであると好適である。   In summary, the printing system is composed of application software, a printer driver, and a printing apparatus, and the standard DDI defined in advance in the Windows (registered trademark) system among the printer drivers that are components of the printing apparatus. Apart from this, it is a printer driver with a feature that implements the extended DDI that is defined uniquely, and it is possible to operate the setting items specific to the printer driver that the printer driver has in the PRIVATE area by the procedure defined as extended DDI. It is preferable that the printer driver has a feature that can be returned to the application.

さらに、拡張DDIとして定義された手順により、プリンタドライバがPRIVATE領域に保有する、プリンタドライバ固有の設定項目であり、現在選択できる設定値のリストをアプリケーションに返却することが可能な特徴をもつプリンタドライバであると好適である。   In addition, the printer driver is a setting item unique to the printer driver that is stored in the PRIVATE area by the procedure defined as extended DDI, and has a feature that a list of currently selectable setting values can be returned to the application. Is preferable.

さらに、拡張DDIとして定義された手順により、プリンタドライバがPRIVATE領域に保有する、プリンタドライバ固有の設定項目であり、その設定項目の現在の設定値をアプリケーションに返却することが可能な特徴をもつプリンタドライバであるようにすると好適である。   Further, the printer driver is a setting item unique to the printer driver that is stored in the PRIVATE area by the procedure defined as the extended DDI, and has a feature that can return the current setting value of the setting item to the application. It is preferable to be a driver.

さらに、拡張DDIとして定義された手順により、プリンタドライバがPRIVATE領域に保有する、プリンタドライバ固有の設定項目であり、その設定項目の現在値をアプリケーションが指定した新しい値に更新し、更新したDEVMODE構造体をアプリケーションに返却することが可能な特徴をもつプリンタドライバであると好適である。   Further, by the procedure defined as the extended DDI, the printer driver has a setting item unique to the printer driver that is stored in the PRIVATE area. The current value of the setting item is updated to a new value designated by the application, and the updated DEVMODE structure It is preferable that the printer driver has a feature capable of returning the body to the application.

さらに、拡張DDIの手法をモノリシックプリンタドライバの構成で実現することが可能であるプリンタドライバであって、拡張DDIの手法を、ユニドライバUIのPRIVATE領域に、ユニドライバUIのPRIVATE領域のサイズを現すフィールドを設けることで、ユニバーサルプリンタドライバの構成で実現することが可能であるプリンタドライバであると好適である。   Further, the printer driver is capable of realizing the extended DDI technique with the configuration of the monolithic printer driver, and the extended DDI technique represents the size of the PRIVATE area of the unidriver UI in the PRIVATE area of the unidriver UI. By providing the field, it is preferable that the printer driver can be realized by the configuration of the universal printer driver.

さらに、アプリケーションソフトウエアにおいて、決められた手順でプリンタドライバに実装された拡張DDIを利用することで、アプリケーションソフトウエアの画面に、プリンタドライバの固有の設定項目を保有することを特徴するアプリケーションソフトウエアであって、アプリケーションソフトウエアの画面上でプリンタドライバ固有の設定項目を更新することで、プリンタドライバの設定画面を表示する必要なしに、プリンタドライバの固有の設定項目を更新した印刷が可能な特徴を持つ印刷システムであると好適である。   In addition, in the application software, by using the extended DDI installed in the printer driver according to a predetermined procedure, the application software has a setting item unique to the printer driver on the screen of the application software. In addition, by updating the setting items specific to the printer driver on the application software screen, it is possible to perform printing by updating the setting items specific to the printer driver without having to display the setting screen of the printer driver. It is preferable that the printing system has

(他の実施形態)
本実施形態における図11乃至図14に示す処理が、図1のハードディスクに記憶されたそれぞれのプリンタドライバ等のプログラムにより、外部からインストールされるプログラムによって、図1のホストコンピュータ1−1(コンピュータ)の中央処理演算装置1−6(CPU)により遂行される。そして、その場合、CD−ROMやフラッシュメ9モリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群をホストコンピュータに供給される場合でも本発明は適用されるものである。
(Other embodiments)
The processing shown in FIGS. 11 to 14 in the present embodiment is performed by a program installed from the outside by a program such as each printer driver stored in the hard disk of FIG. Is executed by the central processing unit 1-6 (CPU). In this case, the present invention is applied even when an information group including a program is supplied to a host computer from a storage medium such as a CD-ROM, a flash memory, or an FD, or from an external storage medium via a network. Is.

以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、又は、外部サーバ(図示省略)からダウンロードすることで、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。   As described above, the system or apparatus can be obtained by supplying the storage medium storing the program code of the software that implements the functions of the above-described embodiments to the system or apparatus, or downloading the storage medium from an external server (not shown). It goes without saying that the object of the present invention can also be achieved by the computer (or CPU or MPU) reading and executing the program code stored in the storage medium.

この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィーディスク、ハードディスク、光ディスク、光磁気ディスク、DVD、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM等を用いることができる。   In this case, the program code itself read from the storage medium realizes the novel function of the present invention, and the storage medium storing the program code constitutes the present invention. As a storage medium for supplying the program code, for example, a floppy disk, hard disk, optical disk, magneto-optical disk, DVD, CD-ROM, magnetic tape, nonvolatile memory card, ROM, EEPROM, or the like can be used.

また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) or the like running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included. Further, after the program code read from the storage medium is written to a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the case where the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

ホストコンピュータを表す概略図である。It is the schematic showing a host computer. 印刷装置の構成要素としてのプリンタドライバを表す構成図である。FIG. 2 is a configuration diagram illustrating a printer driver as a component of a printing apparatus. モノリシックプリンタドライバのモジュール構成図である。It is a module block diagram of a monolithic printer driver. モノリシックプリンタドライバの標準DDIおよび拡張DDI時のDEVMODE構造体を表す構成図である。It is a block diagram showing the DEVMODE structure at the time of standard DDI and extended DDI of a monolithic printer driver. ユニバーサルプリンタドライバのモジュール構成図である。2 is a module configuration diagram of a universal printer driver. FIG. ユニバーサルプリンタドライバの拡張DDIの構成図である。It is a block diagram of extended DDI of a universal printer driver. ユニバーサルプリンタドライバの標準DDI時のDEVMODE構造体を表す構成図である。It is a block diagram showing the DEVMODE structure at the time of standard DDI of a universal printer driver. ユニバーサルプリンタドライバの拡張DDI時のDEVMODE構造体を表す構成図である。It is a block diagram showing the DEVMODE structure at the time of extended DDI of a universal printer driver. 標準DDI及び、拡張DDIを利用したアプリケーションの印刷設定画面例を表す図である。It is a figure showing the example of a print setting screen of the application using standard DDI and extended DDI. 拡張DDI命令の入力情報、出力情報を表す図である。It is a figure showing the input information and output information of an extended DDI command. 拡張DDIを利用したアプリケーションの印刷画面の初期化処理フローチャートである。It is an initialization process flowchart of the print screen of the application using extended DDI. 拡張DDIを利用したアプリケーションが、拡張DDIで項目を変更し、印刷を開始する処理のフローチャートである。10 is a flowchart of processing in which an application using an extended DDI changes an item using the extended DDI and starts printing. モノリシックプリンタドライバの拡張DDI内部の処理を表すフローチャートである。It is a flowchart showing the process inside the extended DDI of the monolithic printer driver. ユニバーサルプリンタドライバの拡張DDI内部の処理を表すフローチャートである。It is a flowchart showing the process inside extended DDI of a universal printer driver.

Claims (9)

拡張モジュールとコアモジュールを有するデバイスドライバを搭載した情報処理装置において、
前記デバイスドライバは、アプリケーション及びデバイスドライバが読み書き可能なメモリ領域を公開領域として、前記コアモジュールからは読み書き可能であるが前記アプリケーションからは読み書きできないメモリ領域を第一拡張領域として、前記拡張モジュールからは読み書き可能であるがアプリケーションからは読み書きできないメモリ領域を第二拡張領域として管理するオペレーティングシステムと協働可能なデバイスドライバであって、
前記デバイスドライバを実行して、前記公開領域のメモリサイズを示す情報、及び、第一拡張領域のメモリサイズを示す情報に基づき、前記オペレーティングシステムのインタフェースを呼び出し、前記第二拡張領域の先頭アドレスを示す情報を含む管理情報を導出させる導出手段と、
前記導出手段が導出させた先頭アドレスを示す情報を含む管理情報を用いて、前記拡張領域に記憶されたデバイスドライバ固有の設定情報を認識する認識手段と、
前記認識手段が認識したデバイスドライバ固有の設定情報を、前記デバイスドライバの固有の設定情報に基づく設定が可能な設定画面の表示において使用させるべく、前記デバイスドライバからアプリケーションに対して通知する処理を制御する通知制御手段と、
を有することを特徴とする情報処理装置。
In an information processing apparatus equipped with a device driver having an expansion module and a core module,
The device driver has a memory area that can be read and written by the application and the device driver as a public area, a memory area that can be read and written from the core module but cannot be read and written by the application as a first extension area, and A device driver capable of cooperating with an operating system that manages a memory area that is readable and writable but not readable and writable by an application as a second extension area,
Based on the information indicating the memory size of the public area and the information indicating the memory size of the first extension area, the interface of the operating system is invoked and the start address of the second extension area is set. Deriving means for deriving management information including information to be shown ;
Recognizing means for recognizing device driver-specific setting information stored in the extension area, using management information including information indicating a head address derived by the deriving means ;
Controls the process for notifying the application from the device driver so that the setting information unique to the device driver recognized by the recognition means can be used in the display of a setting screen that can be set based on the setting information unique to the device driver. Notification control means for
An information processing apparatus comprising:
前記オペレーティングシステムのインタフェースは、前記デバイスドライバとアプリケーションとの間でデバイスドライバに固有の設定情報を授受するための拡張インタフェースであることを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the interface of the operating system is an extended interface for exchanging setting information unique to the device driver between the device driver and an application. 前記公開領域、第一拡張領域、第二拡張領域は、この順で所定のメモリマップ上に配置されており、前記導出手段は、前記公開領域のメモリサイズと前記第一拡張領域のメモリサイズの和により、前記第二拡張領域の先頭アドレスを示す情報を導出させる請求項1又は2に記載の情報処理装置。   The public area, the first extension area, and the second extension area are arranged on a predetermined memory map in this order, and the derivation unit is configured to determine a memory size of the public area and a memory size of the first extension area. The information processing apparatus according to claim 1, wherein information indicating a head address of the second extension area is derived by summation. アプリケーションから、前記オペレーティングシステムのインタフェースを用いてデバイスドライバに対してデバイスドライバ固有の設定情報を通知し、前記デバイスドライバは、前記導出手段が導出した管理情報を用いて、前記第二拡張領域に対して前記アプリケーションから通知されたデバイスドライバ固有の設定情報を書き込む処理を制御する書き込み制御手段をさらに備えることを特徴とする請求項1乃至3のいずれかに記載の情報処理装置。 From an application, the notifies the device driver-specific configuration information to the device driver with an operating system interface, the device driver by using the management information which the deriving means is derived, relative to the second extension region 4. The information processing apparatus according to claim 1, further comprising a writing control unit that controls a process of writing setting information unique to the device driver notified from the application. 5. 拡張モジュールとコアモジュールを有するデバイスドライバを搭載した情報処理装置における方法おいて、In an information processing apparatus equipped with a device driver having an extension module and a core module,
前記デバイスドライバは、アプリケーション及びデバイスドライバが読み書き可能なメモリ領域を公開領域として、前記コアモジュールからは読み書き可能であるが前記アプリケーションからは読み書きできないメモリ領域を第一拡張領域として、前記拡張モジュールからは読み書き可能であるがアプリケーションからは読み書きできないメモリ領域を第二拡張領域として管理するオペレーティングシステムと協働可能なデバイスドライバであって、The device driver has a memory area that can be read and written by the application and the device driver as a public area, a memory area that is readable and writable from the core module but cannot be read and written by the application as a first extension area, and from the extension module. A device driver capable of cooperating with an operating system that manages a memory area that can be read and written but cannot be read and written from an application as a second extension area,
前記デバイスドライバを実行して、前記公開領域のメモリサイズを示す情報、及び、第一拡張領域のメモリサイズを示す情報に基づき、前記オペレーティングシステムのインタフェースを呼び出し、前記第二拡張領域の先頭アドレスを示す情報を含む管理情報を導出させる導出工程と、Based on the information indicating the memory size of the public area and the information indicating the memory size of the first extension area, the interface of the operating system is invoked and the start address of the second extension area is set. A derivation step for deriving management information including information to be shown;
前記導出工程が導出させた先頭アドレスを示す情報を含むを用いて、前記拡張領域に記憶されたデバイスドライバ固有の設定情報を認識する認識工程と、Recognizing device driver-specific setting information stored in the extension area using information indicating a head address derived by the derivation step; and
前記認識工程が認識したデバイスドライバ固有の設定情報を、前記デバイスドライバの固有の設定情報に基づく設定が可能な設定画面の表示において使用させるべく、前記デバイスドライバからアプリケーションに対して通知する処理を制御する通知制御工程と、Controls processing for notifying the application from the device driver so that the setting information unique to the device driver recognized in the recognition step can be used in the display of a setting screen that can be set based on the setting information unique to the device driver A notification control process,
を有することを特徴とする情報処理方法。An information processing method characterized by comprising:
前記オペレーティングシステムのインタフェースは、前記デバイスドライバとアプリケーションとの間でデバイスドライバに固有の設定情報を授受するための拡張インタフェースであることを特徴とする請求項5に記載の情報処理方法。6. The information processing method according to claim 5, wherein the interface of the operating system is an extended interface for exchanging setting information unique to the device driver between the device driver and an application. 前記公開領域、第一拡張領域、第二拡張領域は、この順で所定のメモリマップ上に配置されており、前記導出工程は、前記公開領域のメモリサイズと前記第一拡張領域のメモリサイズの和により、前記第二拡張領域の先頭アドレスを示す情報を導出させる請求項5又は6に記載の情報処理方法。   The public area, the first extension area, and the second extension area are arranged on a predetermined memory map in this order, and the derivation step includes the memory size of the public area and the memory size of the first extension area. The information processing method according to claim 5 or 6, wherein information indicating a head address of the second extension area is derived by summation. アプリケーションから、前記オペレーティングシステムのインタフェースを用いてデバイスドライバに対してデバイスドライバ固有の設定情報を通知し、前記デバイスドライバは、前記導出工程が導出した管理情報を用いて、前記第二拡張領域に対して前記アプリケーションから通知されたデバイスドライバ固有の設定情報を書き込む処理を制御する書き込み制御工程をさらに備えることを特徴とする請求項5乃至7のいずれかに記載の情報処理方法。An application notifies the device driver of setting information specific to the device driver using the operating system interface, and the device driver uses the management information derived in the deriving step to notify the second extension area. The information processing method according to claim 5, further comprising a write control step of controlling a process of writing setting information unique to the device driver notified from the application. 請求項5乃至8のいずれかの方法をコンピュータのCPUに実行させることを特徴とする制御プログラム。A control program for causing a CPU of a computer to execute the method according to claim 5.
JP2003382683A 2003-11-12 2003-11-12 Information processing apparatus, method, system, control program Expired - Fee Related JP4310172B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003382683A JP4310172B2 (en) 2003-11-12 2003-11-12 Information processing apparatus, method, system, control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003382683A JP4310172B2 (en) 2003-11-12 2003-11-12 Information processing apparatus, method, system, control program

Publications (2)

Publication Number Publication Date
JP2005148928A JP2005148928A (en) 2005-06-09
JP4310172B2 true JP4310172B2 (en) 2009-08-05

Family

ID=34691682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003382683A Expired - Fee Related JP4310172B2 (en) 2003-11-12 2003-11-12 Information processing apparatus, method, system, control program

Country Status (1)

Country Link
JP (1) JP4310172B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10412244B2 (en) 2017-06-19 2019-09-10 Canon Kabushiki Kaisha Information processing apparatus, computer-readable medium and information processing system
US10944877B2 (en) 2019-03-29 2021-03-09 Canon Kabushiki Kaisha Image processing system, image processing apparatus, and image processing method

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4874859B2 (en) 2006-05-31 2012-02-15 株式会社リコー Information processing apparatus, information processing system, program, and recording medium thereof
JP4969324B2 (en) * 2006-09-14 2012-07-04 株式会社リコー Information processing apparatus, program, and recording medium thereof
JP5037271B2 (en) * 2007-09-05 2012-09-26 株式会社リコー Image forming apparatus, information processing method, and information processing program
JP5157541B2 (en) * 2008-03-11 2013-03-06 株式会社明電舎 Driver software notification function setting method
JP5700938B2 (en) * 2010-02-17 2015-04-15 キヤノン株式会社 Information processing apparatus, information processing method, and program
JP5532317B2 (en) 2010-05-17 2014-06-25 ブラザー工業株式会社 Data structure of image formation control program, image formation program, and image formation setting information
JP5719198B2 (en) * 2011-03-07 2015-05-13 キヤノン株式会社 Print system, information processing apparatus, control method, and program
JP5919930B2 (en) * 2012-03-21 2016-05-18 株式会社リコー Program, information processing apparatus, storage medium
JP6331910B2 (en) 2013-09-17 2018-05-30 株式会社リコー Information processing apparatus, information processing system, and program
US11140296B2 (en) 2019-11-11 2021-10-05 Canon Kabushiki Kaisha Image reading apparatus
JP7358217B2 (en) 2019-11-29 2023-10-10 キヤノン株式会社 Image processing device, image processing system, control method and program for image processing device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10412244B2 (en) 2017-06-19 2019-09-10 Canon Kabushiki Kaisha Information processing apparatus, computer-readable medium and information processing system
US10944877B2 (en) 2019-03-29 2021-03-09 Canon Kabushiki Kaisha Image processing system, image processing apparatus, and image processing method

Also Published As

Publication number Publication date
JP2005148928A (en) 2005-06-09

Similar Documents

Publication Publication Date Title
JP4863450B2 (en) Information processing apparatus for customizing device driver program and device driver program customization method
JP4310172B2 (en) Information processing apparatus, method, system, control program
US7739608B2 (en) Storage medium storing installation package for installing application program on computer
JP4799206B2 (en) Print control program, print control apparatus, and print control method
US8705089B2 (en) Printer driver, storage medium, and information processing apparatus
US20050190399A1 (en) Image output device and image output system
JP4273024B2 (en) Information processing apparatus, image forming apparatus, method and system in the apparatus
US8269994B2 (en) Information processing apparatus and control method thereof, and computer-readable storage medium
US10104249B2 (en) Information processing apparatus using a plurality of setting screens, information processing method using the same, and information processing system using the same
JP7500657B2 (en) PROGRAM AND INFORMATION PROCESSING APPARATUS
US20120120443A1 (en) Information processing apparatus, information processing system, and storage medium
JP2023001176A (en) Information processing device and program
JP2008310495A (en) Print control unit, print control method, and storage medium
US8407727B2 (en) Method and apparatus for driving printer driver according to a determined application and method and apparatus for installing the printer driver
US20080244567A1 (en) Portable printer driver
KR101279438B1 (en) Method and apparatus for installing printer driver of image forming apparatus in printing environment which used Universal Printer Driver
JP2009205694A (en) Information processing apparatus, method, and device driver
WO2004021164A1 (en) Printing controller, printing control method, printing control program, medium on which printing control program is recorded, image processor, and image processing computer
JP6080683B2 (en) Function description creation program and function description creation system
US20090319696A1 (en) Method and apparatus for configuring and controlling client device
US20240036775A1 (en) Information processing apparatus and storage medium
JP3817500B2 (en) Information processing apparatus, control method, and control program
JP3817499B2 (en) Information processing apparatus, control method, and control program
US20240034070A1 (en) Storage medium, information processing method, and information processing apparatus
US10606528B2 (en) Information processing apparatus, information processing system, information processing method, and non-transitory computer-readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090428

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090511

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4310172

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140515

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees