JP2015060337A - Information processing device, device driver, and customization program - Google Patents

Information processing device, device driver, and customization program Download PDF

Info

Publication number
JP2015060337A
JP2015060337A JP2013192566A JP2013192566A JP2015060337A JP 2015060337 A JP2015060337 A JP 2015060337A JP 2013192566 A JP2013192566 A JP 2013192566A JP 2013192566 A JP2013192566 A JP 2013192566A JP 2015060337 A JP2015060337 A JP 2015060337A
Authority
JP
Japan
Prior art keywords
function
unit
setting value
functional
device 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.)
Granted
Application number
JP2013192566A
Other languages
Japanese (ja)
Other versions
JP6167788B2 (en
Inventor
益田 哲也
Tetsuya Masuda
哲也 益田
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2013192566A priority Critical patent/JP6167788B2/en
Publication of JP2015060337A publication Critical patent/JP2015060337A/en
Application granted granted Critical
Publication of JP6167788B2 publication Critical patent/JP6167788B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To enable a set value before customization to be taken over and referenced even when the functional objects of a device driver are recombined.SOLUTION: A customization tool 30 for customizing a device driver by recombining the functional objects incorporated into the device driver has: a functional object alteration unit 31 for recombining, on the basis of instruction operation by a user, at least one functional object incorporated into the device driver into a new functional object; and a takeover processing unit 32 which, following the recombination of functional objects, reads out, from management information 10 pre-generated by the device driver, a set value at a preservation destination designated in the functional object before being recombined and preserves the set value at a preservation destination designated in the recombined functional object.

Description

本発明は、情報処理装置、デバイスドライバ及びカスタマイズプログラムに関し、特に情報処理装置にインストールされているデバイスドライバの機能をカスタマイズする技術に関する。   The present invention relates to an information processing apparatus, a device driver, and a customization program, and more particularly to a technique for customizing a function of a device driver installed in the information processing apparatus.

従来、カスタマイズツールを用いて、プリンタドライバなどのデバイスドライバの初期値設定や設定項目の表示/非表示の切り替え設定などをユーザーがカスタマイズできるようにした技術が知られている(例えば特許文献1)。この従来技術では、カスタマイズツールを用いることにより、印刷設定などの各種設定を編集することができる。カスタマイズツールによってカスタマイズされた情報は、ファイルに保存される。そしてインストーラーがデバイスドライバをアップデートするときには、インストーラーがカスタマイズされたデバイスドライバであるか否かを判定し、カスタマイズされたデバイスドライバであれば、ファイルに保存されている情報をアップデート後のデバイスドライバに書き込むことにより、カスタマイズされた情報を引き継ぐようにしている。つまり、この従来技術は、インストーラーがデバイスドライバのアップデートのために再インストールするときに、アップデート前にカスタマイズされた情報をアップデート後に引き継ぐようにするものである。   2. Description of the Related Art Conventionally, a technique is known in which a user can customize an initial value setting of a device driver such as a printer driver or a setting item display / non-display switching setting using a customization tool (for example, Patent Document 1). . In this prior art, various settings such as print settings can be edited by using a customization tool. Information customized by the customization tool is stored in a file. When the installer updates the device driver, it determines whether the installer is a customized device driver, and if it is a customized device driver, writes the information stored in the file to the updated device driver. By doing so, the customized information is taken over. That is, according to the conventional technology, when the installer reinstalls for updating the device driver, the information customized before the update is taken over after the update.

特開2006−309726号公報JP 2006-309726 A

ところで、近年ではプリンタドライバなどのデバイスドライバの開発効率を向上させるため、例えば様々なデバイスに共通する基本的な機能部分だけをドライバ共通部として作成し、個々のデバイスにユニークな機能に対応する設定項目などの部分をドライバ共通部に組み込む機能オブジェクトとして作成する開発手法が採用されている。そのため、近年のデバイスドライバは、ドライバ共通部と、そのドライバ共通部に組み込まれる複数の機能オブジェクトとによって構成される。機能オブジェクトは、機能ごとに設けられ、各機能についての設定項目や設定項目の表示/非表示、設定項目を表示するときの表示位置、設定項目についてユーザーが選択可能な選択肢などを定義するものである。このような機能オブジェクトは、各設定項目についてのデフォルトの設定値やユーザーによって設定された設定値などの保存先として、DEVMODE構造体やレジストリのアドレスを指定している。そのため、ドライバ共通部は、デバイスドライバに組み込まれている各機能オブジェクトで定義された各種情報を参照することにより、ユーザーインタフェースとなる表示画面に機能ごとの設定項目などを表示することができる。さらにこのとき、ドライバ共通部は、各機能オブジェクトによって指定されている保存先から各機能の設定項目ごとの設定値を読み出すことにより、表示画面に表示する各設定項目にデフォルトの設定値やユーザーが過去に設定した設定値などを反映させて表示する。したがって、ユーザーは、機能ごとの各設定項目についてデフォルトの設定値や現在の設定値を参照しながらプリント出力などの設定操作を行うことができるようになる。   By the way, in recent years, in order to improve the development efficiency of device drivers such as printer drivers, for example, only basic function parts common to various devices are created as driver common parts, and settings corresponding to functions unique to individual devices are created. A development method is adopted in which a part such as an item is created as a function object that is incorporated in the driver common part. Therefore, a recent device driver is configured by a driver common unit and a plurality of functional objects incorporated in the driver common unit. A function object is provided for each function, and defines the setting items for each function, the display / non-display of the setting items, the display position when displaying the setting items, the options that the user can select for the setting items, and the like. is there. Such a function object designates a DEVMODE structure or a registry address as a storage destination of default setting values and setting values set by the user for each setting item. Therefore, the driver common unit can display setting items for each function on a display screen serving as a user interface by referring to various types of information defined by each function object incorporated in the device driver. Further, at this time, the driver common unit reads the setting value for each setting item of each function from the storage location specified by each function object, so that the default setting value or the user can set the setting value to be displayed on the display screen. Displays the setting values that have been set in the past. Therefore, the user can perform setting operations such as print output while referring to the default setting value and the current setting value for each setting item for each function.

上記のように機能オブジェクトが組み込まれるデバイスドライバの場合、ユーザーによって各機能に対するカスタマイズ操作が行われると、デバイスドライバに組み込まれている機能オブジェクトがカスタマイズによって指定された新規な機能オブジェクトに組み替えられることがある。このとき、ユーザーがカスタマイズ可能な範囲は、各機能についての設定項目の追加や削除、表示位置の変更や、表示/非表示の切り替えといった表示画面上でユーザーが視認できる部分だけでなく、各設定項目についての設定値の保存先についてもカスタマイズして変更することができる。そのため、例えば、組み替え前の機能オブジェクトが設定値の保存先としてDEVMODE構造体を指定していたにもかかわらず、それと組み替えられた新規な機能オブジェクトが設定値の保存先としてレジストリを指定していることが起こり得る。   In the case of a device driver in which a function object is embedded as described above, when a user performs a customization operation for each function, the function object embedded in the device driver may be reconfigured to a new function object specified by customization. is there. At this time, the range that can be customized by the user is not only the part that can be visually recognized on the display screen, such as adding or deleting setting items for each function, changing the display position, and switching between display / non-display, but also each setting. It is possible to customize and change the storage location of setting values for items. Therefore, for example, even though the function object before recombination specified the DEVMODE structure as the setting value storage destination, the new function object recombined with it specifies the registry as the setting value storage destination. Can happen.

しかし、機能オブジェクトの組み替えによって設定値の保存先が変わってしまうと、カスタマイズの前後においてドライバ共通部が設定値を読み出す際の参照先が変わることになる。その結果、カスタマイズ後にデバイスドライバが起動し、ドライバ共通部が新規な機能オブジェクトにおいて指定されている保存先から設定値を読み出そうとしてもカスタマイズ前に保存されていた設定値を読み出すことができず、表示画面を正常に表示することができなくなる。これを防止するためには、機能オブジェクトを新規な機能オブジェクトに組み替えた場合には、デバイスドライバを再インストールすることにより、新規な機能オブジェクトによって指定されている保存先にデフォルトの設定値などを格納することが必要となり、利便性が悪いという問題がある。   However, if the storage location of the setting value changes due to the rearrangement of the function object, the reference destination when the driver common unit reads the setting value before and after customization changes. As a result, the device driver starts after customization, and even if the driver common unit tries to read the setting value from the storage location specified in the new function object, the setting value saved before customization cannot be read. The display screen cannot be displayed normally. To prevent this, if the function object is reconfigured to a new function object, the default setting values are stored in the storage location specified by the new function object by reinstalling the device driver. It is necessary to do this, and there is a problem that convenience is bad.

そこで本発明は、上記問題点を解決すべくなされたものであり、機能オブジェクトを組み替えてもカスタマイズ前の設定値を引き継いで参照できるようにした情報処理装置、デバイスドライバ及びカスタマイズプログラムを提供することを目的とするものである。   Accordingly, the present invention has been made to solve the above-described problems, and provides an information processing apparatus, a device driver, and a customization program that can refer to setting values before customization even if functional objects are rearranged. It is intended.

上記目的を達成するため、請求項1に係る発明は、情報処理装置であって、ユーザーが設定可能な機能ごとに設けられ、各機能の設定値の保存先を指定する複数の機能オブジェクトが組み込まれたデバイスドライバと、前記デバイスドライバに組み込まれた機能オブジェクトをカスタマイズするカスタマイズツールと、を備え、前記デバイスドライバは、前記複数の機能オブジェクトのそれぞれにおいて指定された保存先から各機能の設定値を読み出して表示すると共に、ユーザーによる各機能に対する設定操作に基づき、当該設定操作が行われた機能に対応する機能オブジェクトにおいて指定されている保存先の設定値を変更するユーザーインタフェース部と、前記複数の機能オブジェクトのそれぞれによって指定されている保存先の設定値をミラーリングして管理情報として管理する設定値管理部と、を有し、前記カスタマイズツールは、ユーザーによる指示操作に基づいて前記デバイスドライバに組み込まれている少なくとも1つの機能オブジェクトを新規な機能オブジェクトに組み替える機能オブジェクト変更部と、前記機能オブジェクト変更部によって機能オブジェクトの組み替えが行われることに伴い、組み替え後の機能オブジェクトにおいて指定されている保存先が変更された場合、前記管理情報から組み替え前の機能オブジェクトにおいて指定されていた保存先の設定値を読み出し、該設定値を組み替え後の機能オブジェクトにおいて指定されている保存先に保存する引継処理部と、を有することを特徴とする構成である。   In order to achieve the above object, the invention according to claim 1 is an information processing apparatus, which is provided for each function that can be set by a user, and incorporates a plurality of function objects that specify storage destinations of setting values of the respective functions. And a customization tool for customizing a function object incorporated in the device driver, wherein the device driver obtains a setting value of each function from a storage destination specified in each of the plurality of function objects. A user interface unit that reads out and displays and changes a setting value of a storage destination specified in a function object corresponding to the function for which the setting operation is performed based on a setting operation for each function by the user; Setting the storage location specified by each function object And a setting value management unit that manages the information as management information, and the customization tool converts at least one function object incorporated in the device driver into a new function object based on an instruction operation by a user. When the storage destination specified in the functional object after the rearrangement is changed by the functional object changing unit to be rearranged and the functional object changing by the functional object changing unit, the function before the rearrangement from the management information And a takeover processing unit that reads the setting value of the storage destination specified in the object and stores the setting value in the storage destination specified in the functional object after the rearrangement.

請求項2に係る発明は、請求項1に記載の情報処理装置において、前記設定値管理部は、前記引継処理部によって組み替え後の機能オブジェクトにおいて指定されている保存先に設定値が保存された後に、前記管理情報を更新することを特徴とする構成である。   According to a second aspect of the present invention, in the information processing apparatus according to the first aspect, the setting value management unit stores the setting value in a storage destination specified in the functional object after the rearrangement by the handover processing unit. The management information is updated later.

請求項3に係る発明は、請求項1又は2に記載の情報処理装置において、デバイスごとに設けられた複数の前記デバイスドライバを備えており、前記機能オブジェクト変更部は、前記複数のデバイスドライバのそれぞれに組み込まれている機能オブジェクトを組み替え可能であり、前記引継処理部は、前記複数のデバイスドライバのうち、前記機能オブジェクト変更部によって機能オブジェクトの組み替えが行われたデバイスドライバの前記設定値管理部が管理している前記管理情報から組み替え前の機能オブジェクトにおいて指定されていた保存先の設定値を読み出すことを特徴とする構成である。   The invention according to claim 3 is the information processing apparatus according to claim 1 or 2, further comprising a plurality of the device drivers provided for each device, wherein the function object changing unit includes the plurality of device drivers. The function objects incorporated in each of the device drivers can be rearranged, and the takeover processing unit is the set value management unit of the device driver in which the functional object is rearranged by the functional object change unit among the plurality of device drivers. The setting value of the storage destination specified in the functional object before the rearrangement is read out from the management information managed by.

請求項4に係る発明は、請求項1乃至3のいずれかに記載の情報処理装置において、前記設定値管理部は、前記複数の機能オブジェクトのそれぞれに関する情報を前記管理情報に記録して管理し、前記引継処理部は、前記機能オブジェクト変更部によって機能オブジェクトの組み替えが行われることに伴い、組み替え後の機能オブジェクトに関する情報が前記管理情報に記録されている組み替え前の機能オブジェクトに関する情報と異なる場合に、組み替え後の機能オブジェクトにおいて指定されている保存先が変更されたことを検知することを特徴とする構成である。   According to a fourth aspect of the present invention, in the information processing apparatus according to any one of the first to third aspects, the setting value management unit records and manages information related to each of the plurality of functional objects in the management information. When the function object changing unit performs the rearrangement of the functional objects, the information regarding the functional objects after the rearrangement is different from the information regarding the functional objects before the rearrangement recorded in the management information. In addition, the configuration is characterized in that it is detected that the storage destination specified in the functional object after the rearrangement is changed.

請求項5に係る発明は、請求項4に記載の情報処理装置において、前記設定値管理部は、前記機能オブジェクト変更部によって前記デバイスドライバに組み込まれている少なくとも1つの機能オブジェクトが新規な機能オブジェクトに組み替えられることに伴い、前記管理情報に記録されている機能オブジェクトに関する情報を更新することを特徴とする構成である。   According to a fifth aspect of the present invention, in the information processing apparatus according to the fourth aspect, the setting value management unit is a functional object in which at least one functional object incorporated in the device driver by the functional object changing unit is a new functional object. The information related to the functional object recorded in the management information is updated with the rearrangement.

請求項6に係る発明は、請求項1乃至5のいずれかに記載の情報処理装置において、前記機能オブジェクト変更部は、前記デバイスドライバに組み込まれている少なくとも1つの機能オブジェクトに対応する既存の機能定義データを取得する機能定義データ取得部と、前記機能定義データ取得部によって取得された機能定義データをユーザーによる指示操作に基づいて編集する機能定義データ編集部と、前記機能定義データ編集部によって編集された機能定義データに基づき、新規な機能オブジェクトを生成する機能オブジェクト生成部と、を有することを特徴とする構成である。   The invention according to claim 6 is the information processing apparatus according to any one of claims 1 to 5, wherein the function object changing unit corresponds to at least one function object incorporated in the device driver. A function definition data acquisition unit that acquires definition data, a function definition data editing unit that edits the function definition data acquired by the function definition data acquisition unit based on an instruction operation by a user, and an edit by the function definition data editing unit And a function object generation unit that generates a new function object based on the function definition data.

請求項7に係る発明は、請求項1乃至6のいずれかに記載の情報処理装置において、前記設定管理部は、前記ユーザーインタフェース部によって各機能オブジェクトにおいて指定されている保存先の設定値が変更される都度、該保存先の設定値をミラーリングして前記管理情報を更新することを特徴とする構成である。   The invention according to claim 7 is the information processing apparatus according to any one of claims 1 to 6, wherein the setting management unit changes a setting value of a storage destination specified in each functional object by the user interface unit. Each time, the management information is updated by mirroring the setting value of the storage destination.

請求項8に係る発明は、ユーザーが設定可能な機能ごとに設けられた複数の機能オブジェクトが組み込まれており、各機能オブジェクトにおいて機能ごとの設定値の保存先が指定されると共に、前記複数の機能オブジェクトのうちの任意の機能オブジェクトを組み替えることによってカスタマイズが可能なデバイスドライバであって、情報処理装置を、前記複数の機能オブジェクトのそれぞれにおいて指定された保存先から各機能の設定値を読み出して表示すると共に、ユーザーによる各機能に対する設定操作に基づき、当該設定操作が行われた機能に対応する機能オブジェクトにおいて指定されている保存先の設定値を変更するユーザーインタフェース部、及び、前記複数の機能オブジェクトのそれぞれによって指定されている保存先の設定値をミラーリングして管理情報として管理する設定値管理部、として機能させることを特徴とする構成である。   The invention according to claim 8 incorporates a plurality of function objects provided for each function that can be set by a user, and specifies a storage location of a setting value for each function in each function object. A device driver that can be customized by recombining any of the functional objects, and the information processing apparatus reads the setting value of each function from the storage destination specified in each of the plurality of functional objects A user interface unit for displaying and changing a setting value of a storage destination specified in a function object corresponding to the function for which the setting operation has been performed based on a setting operation for each function by the user, and the plurality of functions The storage location specified by each object A configuration for causing the function setting value management unit mirroring a value is managed as management information, as.

請求項9に係る発明は、情報処理装置にインストールされているデバイスドライバに組み込まれた機能オブジェクトをカスタマイズするためのカスタマイズプログラムであって、前記情報処理装置を、ユーザーによる指示操作に基づいて前記デバイスドライバに組み込まれている少なくとも1つの機能オブジェクトを新規な機能オブジェクトに組み替える機能オブジェクト変更部、及び、前記機能オブジェクト変更部によって機能オブジェクトの組み替えが行われることに伴い、組み替え後の機能オブジェクトにおいて指定されている保存先が変更された場合、前記デバイスドライバにおいて管理されている管理情報から組み替え前の機能オブジェクトにおいて指定されていた保存先の設定値を読み出し、該設定値を組み替え後の機能オブジェクトにおいて指定されている保存先に保存する引継処理部、として機能させることを特徴とする構成である。   The invention according to claim 9 is a customization program for customizing a function object incorporated in a device driver installed in an information processing apparatus, wherein the information processing apparatus is connected to the device based on an instruction operation by a user. It is specified in the functional object after recombination in accordance with the functional object changing unit that rearranges at least one functional object incorporated in the driver into a new functional object, and the functional object changing by the functional object changing unit. When the storage destination is changed, the setting value of the storage destination specified in the function object before the rearrangement is read from the management information managed in the device driver, and the function object after the rearrangement is read out. A construction which is characterized in that to function as the takeover processing unit, which stores the destination specified in the transfected.

本発明によれば、機能オブジェクトを組み替えることによってデバイスドライバがカスタマイズされた場合であっても、カスタマイズ前の設定値を引き継いで参照することができるようになるため、カスタマイズ後においてもデバイスドライバを正常に起動することができる。   According to the present invention, even when the device driver is customized by rearranging the functional objects, the setting value before customization can be taken over and referenced, so that the device driver can be normally operated even after customization. Can be started.

情報処理装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of information processing apparatus. CPUがデバイスドライバとして機能する場合の詳細な機能構成の一例を示す図である。It is a figure which shows an example of a detailed functional structure in case CPU functions as a device driver. レジストリ及びDEVMODE構造体のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of a registry and a DEVMODE structure. UI処理部によって表示される印刷設定画面の一例を示す図である。6 is a diagram illustrating an example of a print setting screen displayed by a UI processing unit. FIG. 設定値管理部によって管理される管理情報の一例を示す図である。It is a figure which shows an example of the management information managed by the setting value management part. 管理情報に含まれる機能オブジェクト情報、レジストリ管理情報及びDEVMODE構造体管理情報の一例を示す図である。It is a figure which shows an example of the functional object information, registry management information, and DEVMODE structure management information contained in management information. デバイスドライバによって行われる処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence performed by a device driver. CPUがカスタマイズツールとして機能する場合の詳細な機能構成の一例を示す図である。It is a figure which shows an example of a detailed functional structure in case CPU functions as a customization tool. 機能定義データ取得部、機能定義データ編集部、機能オブジェクト生成部及び組替処理部のそれぞれにおける処理の概念を説明する図である。It is a figure explaining the concept of the process in each of a function definition data acquisition part, a function definition data edit part, a function object production | generation part, and a rearrangement process part. 機能オブジェクトの組み替えが行われたデバイスドライバの一構成例を示す図である。It is a figure which shows the example of 1 structure of the device driver by which the rearrangement of the functional object was performed. データ構造更新部によって更新されたレジストリ及びDEVMODE構造体のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the registry and DEVMODE structure which were updated by the data structure update part. カスタマイズツールによって行われる処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence performed by the customization tool. データ引継処理の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of a data transfer process.

以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する部材には同一符号を付しており、それらについての重複する説明は省略する。   Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. In the embodiments described below, members that are common to each other are denoted by the same reference numerals, and redundant descriptions thereof are omitted.

図1は、本発明の一実施形態に関する情報処理装置1のハードウェア構成の一例を示す図である。この情報処理装置1は、CPU2と、メモリ3と、表示部4と、操作入力部5と、通信インタフェース6と、記憶装置7とを備えており、例えば一般的なパーソナルコンピュータ(PC)によって構成される。   FIG. 1 is a diagram illustrating an example of a hardware configuration of an information processing apparatus 1 according to an embodiment of the present invention. The information processing apparatus 1 includes a CPU 2, a memory 3, a display unit 4, an operation input unit 5, a communication interface 6, and a storage device 7. For example, the information processing device 1 is configured by a general personal computer (PC). Is done.

CPU2は、記憶装置7に予めインストールされている各種プログラムを実行するものである。メモリ3は、CPU2が各種プログラムを実行する際に一時的なデータなどを記憶するものである。表示部4は、例えばカラー液晶ディスプレイなどによって構成され、ユーザーに対して各種の情報を表示する。操作入力部5は、キーボードやマウスによって構成され、ユーザーによる各種の入力操作を受け付けて操作情報をCPU2へ出力する。通信インタフェース6は、情報処理装置1をLAN(Local Area Network)などのネットワークに接続して外部デバイスと通信を行うものである。記憶装置7は、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)によって構成される不揮発性の記憶手段であり、CPU2よって実行されるプログラムや各種データなどを記憶する。   The CPU 2 executes various programs installed in advance in the storage device 7. The memory 3 stores temporary data and the like when the CPU 2 executes various programs. The display unit 4 is configured by a color liquid crystal display, for example, and displays various types of information to the user. The operation input unit 5 includes a keyboard and a mouse, receives various input operations by the user, and outputs operation information to the CPU 2. The communication interface 6 communicates with an external device by connecting the information processing apparatus 1 to a network such as a LAN (Local Area Network). The storage device 7 is a nonvolatile storage unit configured by a hard disk drive (HDD) or a solid state drive (SSD), and stores programs executed by the CPU 2 and various data.

例えば記憶装置7に予めインストールされるプログラムには、情報処理装置1の基本ソフトウェアであるオペレーティングシステム8と、外部デバイスであるプリンタに対して印刷ジョブを出力するためのドライバプログラムであるデバイスドライバ9aと、そのデバイスドライバ9aをカスタマイズするためのカスタマイズプログラム9bとがある。またこの他にも、記憶装置7には、ユーザーがドキュメント編集などを行うための様々なアプリケーションプログラムが記憶される。さらに記憶装置7には、図1に示すように、管理情報10と、レジストリ11と、DEVMODE構造体12とが記憶される。管理情報10は、CPU2がデバイスドライバ9aを起動することによって生成される情報である。またレジストリ11は、CPU2において起動するオペレーティングシステム8によって管理され、オペレーティングシステム8やデバイスドライバ9a、その他各種アプリケーションの設定値などを格納する情報である。DEVMODE構造体12は、印刷設定に関する設定値を記憶しておくためのデータベースである。   For example, the programs installed in advance in the storage device 7 include an operating system 8 that is basic software of the information processing apparatus 1, and a device driver 9a that is a driver program for outputting a print job to a printer that is an external device. There is a customization program 9b for customizing the device driver 9a. In addition to this, the storage device 7 stores various application programs for the user to perform document editing and the like. Further, the storage device 7 stores management information 10, a registry 11, and a DEVMODE structure 12 as shown in FIG. The management information 10 is information generated when the CPU 2 activates the device driver 9a. The registry 11 is information that is managed by the operating system 8 activated in the CPU 2 and stores setting values of the operating system 8, the device driver 9a, and other various applications. The DEVMODE structure 12 is a database for storing setting values related to print settings.

上記のような情報処理装置1は、電源投入に伴い、CPU2がオペレーティングシステム8を自動的に起動する。その後、ユーザーによるアプリケーションの起動指示に基づき、ドキュメント編集などを行うための様々なアプリケーションプログラムを起動する。例えば、情報処理装置1においてアプリケーションプログラムが起動されている状態で、ユーザーによる印刷指示が行われると、CPU2は、記憶装置7からデバイスドライバ9aを読み出して実行する。これにより、情報処理装置1は、ユーザーが印刷設定操作を行うための表示画面を表示部4に表示する。そのため、ユーザーはその表示画面を見ながら印刷設定操作を行うことができるようになる。またオペレーティングシステム8が起動している状態でユーザーがカスタマイズプログラム9bの起動を指示すると、CPU2が記憶装置7からカスタマイズプログラム9bを読み出して起動する。これにより、ユーザーはデバイスドライバ9aのカスタマイズ操作を行うことができるようになる。   In the information processing apparatus 1 as described above, the CPU 2 automatically starts the operating system 8 when the power is turned on. Thereafter, various application programs for performing document editing and the like are started based on an instruction for starting the application by the user. For example, when the user issues a print instruction while the application program is activated in the information processing apparatus 1, the CPU 2 reads the device driver 9 a from the storage device 7 and executes it. As a result, the information processing apparatus 1 displays a display screen for the user to perform a print setting operation on the display unit 4. Therefore, the user can perform a print setting operation while viewing the display screen. When the user instructs activation of the customization program 9b while the operating system 8 is activated, the CPU 2 reads the customization program 9b from the storage device 7 and activates it. Thereby, the user can perform the customization operation of the device driver 9a.

図2は、CPU2がデバイスドライバ9aを実行することによりデバイスドライバ20として機能する場合の詳細な機能構成の一例を示す図である。このデバイスドライバ20は、ドライバ共通部21と、複数の機能オブジェクト27a,27b,27cとを有し、ドライバ共通部21に対して複数の機能オブジェクト27a,27b,27cが組み込まれた構成である。ドライバ共通部21は、例えば複数機種のプリンタに共通して利用することが可能な共通機能に関する処理を実行する処理部である。つまり、ドライバ共通部21は、プリンタの機種に依存しない処理を行うものである。このドライバ共通部21は、設定値管理部22と、ユーザーインタフェース処理部23(以下、単に「UI処理部23」という。)と、描画処理部24と、共通インタフェース部25とを備えている。   FIG. 2 is a diagram illustrating an example of a detailed functional configuration when the CPU 2 functions as the device driver 20 by executing the device driver 9a. The device driver 20 includes a driver common unit 21 and a plurality of functional objects 27a, 27b, and 27c, and a plurality of functional objects 27a, 27b, and 27c are incorporated in the driver common unit 21. The driver common unit 21 is a processing unit that executes processing related to common functions that can be used in common for a plurality of types of printers, for example. That is, the driver common unit 21 performs processing independent of the printer model. The driver common unit 21 includes a setting value management unit 22, a user interface processing unit 23 (hereinafter simply referred to as “UI processing unit 23”), a drawing processing unit 24, and a common interface unit 25.

また複数の機能オブジェクト27a,27b,27cのそれぞれは、例えばネットワークに接続されている特定機種のプリンタに搭載された個々の機能に関する情報を管理するものであり、例えば個々の機能に対応する設定項目などを管理する。つまり、各機能オブジェクト27a,27b,27cは、プリンタの機種に依存する機能ごとの設定に関する情報を管理するものである。このような機能オブジェクト27a,27b,27cは、例えばドライバ共通部21に組み込まれるプログラムモジュールとして構築される。それ故、各機能オブジェクト27a,27b,27cは、それ単独で機能するものではなく、ドライバ共通部21に組み込まれることによって機能し、ドライバ共通部21からの要求に応じて必要な情報をドライバ共通部21へ出力するように構成される。   Each of the plurality of function objects 27a, 27b, and 27c manages information related to individual functions installed in a printer of a specific model connected to the network, for example. For example, setting items corresponding to the individual functions Manage etc. That is, the function objects 27a, 27b, and 27c manage information related to settings for each function depending on the printer model. Such functional objects 27a, 27b, and 27c are constructed as program modules incorporated in the driver common unit 21, for example. Therefore, each functional object 27a, 27b, and 27c does not function independently, but functions by being incorporated in the driver common unit 21, and the driver common information necessary according to the request from the driver common unit 21 is shared. It is comprised so that it may output to the part 21.

これら機能オブジェクト27a,27b,27cにおいて管理される機能には様々な機能がある。例えば、プリンタがドキュメントの向きを縦置きと横置きとに切り替えて印刷出力可能な場合には印刷出力時のドキュメントの向きを設定する機能や、プリンタが様々なドキュメントサイズを印刷出力時の用紙サイズに拡大又は縮小して印刷出力可能な場合にはドキュメントサイズや用紙サイズなどを設定する機能、プリンタがカラー印刷可能な場合にはカラー印刷とモノクロ印刷とを切り替えて設定する機能、プリンタが様々な用紙種類に対応している場合には印刷出力時の用紙種類を設定する機能、プリンタがセキュリティ印刷(親展印刷)を行う機能を有している場合にはセキュリティ印刷の設定やセキュリティ印刷が設定されたときのIDやパスワードなどの識別情報を設定する機能などがある。またこの他にも、各機能オブジェクト27a,27b,27cには、印刷出力時の設定に関する様々な機能が割り当てられる。尚、本実施形態では、ドライバ共通部21に3つの機能オブジェクト27a,27b,27cが組み込まれる場合を例示するが、機能オブジェクトの数は3つに限られるものではなく、4つ以上であっても構わない。これら機能オブジェクト27a,27b,27cのそれぞれは、機能情報28a,28b,28c及び保存先情報29a,29b,29cを保持している。   There are various functions managed in these function objects 27a, 27b, and 27c. For example, if the printer can print out by switching the document orientation between portrait and landscape, the function to set the document orientation at the time of print output or the paper size when the printer outputs various document sizes A function that sets the document size, paper size, etc. when printing is possible by enlarging or reducing the image, a function that switches between color printing and monochrome printing when the printer is capable of color printing, and various printers When the paper type is supported, the function to set the paper type at the time of printing is set. When the printer has the function to perform secure printing (confidential printing), the security printing setting and the security printing are set. There is a function for setting identification information such as an ID and a password. In addition to this, various functions related to settings at the time of print output are assigned to the function objects 27a, 27b, and 27c. In this embodiment, the case where three functional objects 27a, 27b, and 27c are incorporated in the driver common unit 21 is illustrated, but the number of functional objects is not limited to three, and is four or more. It doesn't matter. Each of these functional objects 27a, 27b, and 27c holds functional information 28a, 28b, and 28c and storage destination information 29a, 29b, and 29c.

機能情報28a,28b,28cは、各機能オブジェクト27a,27b,27cの機能に関する表示態様などを定義する情報である。例えば、各機能情報28a,28b,28cには、各機能オブジェクト27a,27b,27cに割り当てられた機能に対応する少なくとも1つの設定項目を定義する情報が含まれると共に、その設定項目の表示又は非表示の設定、その設定項目の表示位置、その設定項目についてユーザーが選択操作可能な選択肢などを定義する情報が含まれる。また保存先情報29a,29b,29cは、各機能情報28a,28b,28cにおいて定義されている各設定項目についてのデフォルトの設定値やユーザーが設定した設定値の保存先を指定する情報であり、レジストリ11とDEVMODE構造体12とのいずれか一方を保存先として指定すると共に、レジストリ11又はDEVMODE構造体12において設定値を保存するアドレスを指定する情報である。各機能オブジェクト27a,27b,27cは、ドライバ共通部21からの要求に応じて機能情報28a,28b,28cや保存先情報29a,29b,29cをドライバ共通部21に出力する。   The function information 28a, 28b, 28c is information that defines a display mode or the like related to the function of each function object 27a, 27b, 27c. For example, each function information 28a, 28b, 28c includes information defining at least one setting item corresponding to the function assigned to each function object 27a, 27b, 27c, and display or non-display of the setting item. Information that defines display settings, display positions of the setting items, choices that the user can select and operate on the setting items, and the like is included. The storage destination information 29a, 29b, and 29c is information that specifies a default setting value for each setting item defined in each function information 28a, 28b, and 28c or a storage destination of a setting value set by the user. This is information for designating either the registry 11 or the DEVMODE structure 12 as a storage destination, and designating an address for storing the setting value in the registry 11 or the DEVMODE structure 12. Each function object 27 a, 27 b, 27 c outputs function information 28 a, 28 b, 28 c and storage destination information 29 a, 29 b, 29 c to the driver common unit 21 in response to a request from the driver common unit 21.

図3は、レジストリ11及びDEVMODE構造体12のデータ構造の一例を示す図である。レジストリ11は、図3(a)に示すように、アドレス部11aとデータ部11bとを有している。アドレス部11aは、データ部11bに格納されるデータ(設定値)の格納アドレスを示すものである。そのため、各機能オブジェクト27a,27b,27cが設定値の保存先としてレジストリ11を指定している場合、それらの保存先情報29a,29b,29cにはその設定値が格納されているレジストリ11のアドレス情報が含まれる。尚、図3(a)では、3つの機能オブジェクト27a,27b,27cのうち、1つの機能オブジェクト27aの機能に関する設定値がレジストリ11に格納されている場合を例示している。レジストリ11は、上述したようにオペレーティングシステム8によって管理される情報であるため、図3(a)に示すようにレジストリ11に格納される設定値は、情報処理装置1においてのみ使用される情報となる。   FIG. 3 is a diagram illustrating an example of the data structure of the registry 11 and the DEVMODE structure 12. As shown in FIG. 3A, the registry 11 has an address part 11a and a data part 11b. The address part 11a indicates a storage address of data (set value) stored in the data part 11b. Therefore, when each functional object 27a, 27b, 27c designates the registry 11 as a setting value storage destination, the address of the registry 11 in which the setting value is stored in the storage destination information 29a, 29b, 29c. Contains information. Note that FIG. 3A illustrates a case where setting values related to the function of one functional object 27a among the three functional objects 27a, 27b, and 27c are stored in the registry 11. Since the registry 11 is information managed by the operating system 8 as described above, the setting values stored in the registry 11 are information used only in the information processing apparatus 1 as shown in FIG. Become.

一方、図3(b)に示すように、DEVMODE構造体12もまた、アドレス部12aとデータ部12bとを有している。アドレス部12aは、データ部12bに格納されるデータ(設定値)の格納アドレスを示すものである。そのため、各機能オブジェクト27a,27b,27cが設定値の保存先としてDEVMODE構造体12を指定している場合、それらの保存先情報29a,29b,29cにはその設定値が格納されているDEVMODE構造体12のアドレス情報が含まれる。尚、図3(b)では、3つの機能オブジェクト27a,27b,27cのうち、2つの機能オブジェクト27b,27cの機能に関する設定値がDEVMODE構造体12に格納されている場合を例示している。   On the other hand, as shown in FIG. 3B, the DEVMODE structure 12 also has an address part 12a and a data part 12b. The address part 12a indicates a storage address of data (set value) stored in the data part 12b. Therefore, when each functional object 27a, 27b, 27c designates the DEVMODE structure 12 as a setting value storage destination, the storage device information 29a, 29b, 29c stores the setting value in the DEVMODE structure. The address information of the body 12 is included. FIG. 3B illustrates a case where setting values related to the functions of the two function objects 27b and 27c among the three function objects 27a, 27b, and 27c are stored in the DEVMODE structure 12.

このようなDEVMODE構造体12は、例えばドキュメント編集を行うアプリケーションやそのアプリケーションによって生成されるドキュメントファイルに関連付けておくことも可能である。アプリケーションやドキュメントファイルにDEVMODE構造体12を関連付けておけば、一度印刷設定操作を行って印刷出力を行った後に再度印刷出力を行う際に前回の印刷設定を引き継いで印刷することができるようになり、2回目以降の印刷設定操作を簡略化することができるという利点がある。その一方、DEVMODE構造体12がドキュメントファイルに関連付けられると、そのドキュメントファイルが他のユーザーによって閲覧された場合には、そのドキュメントファイルに関連付けられているDEVMODE構造体12に含まれる設定値も他のユーザーによって閲覧されることになる。そのため、例えばセキュリティ印刷のためのIDやパスワードなどの識別情報については、DEVMODE構造体12に保存するのではなく、レジストリ11に保存しておくことが好ましい。   Such a DEVMODE structure 12 can be associated with, for example, an application that performs document editing or a document file generated by the application. By associating the DEVMODE structure 12 with an application or document file, it is possible to perform printing by taking over the previous print settings when performing print output again after performing print setting operations once and performing print output. There is an advantage that the second and subsequent print setting operations can be simplified. On the other hand, when the DEVMODE structure 12 is associated with the document file, when the document file is viewed by another user, the setting value included in the DEVMODE structure 12 associated with the document file is also different from the other setting values. Will be viewed by the user. Therefore, for example, identification information such as ID and password for security printing is preferably stored in the registry 11 instead of being stored in the DEVMODE structure 12.

図2に戻り、ドライバ共通部21のUI処理部23は、デバイスドライバ20が機能することに伴い、表示部4に対して印刷設定画面を表示し、操作入力部5に対して行われるユーザーの設定操作を受け付ける。UI処理部23は、表示部4に印刷設定画面を表示するとき、その印刷設定画面の画面枠を生成する。そしてUI処理部23は、各機能オブジェクト27a,27b,27cの機能情報28a,28b,28cを参照することにより、それら機能情報28a,28b,28cで定義されている表示態様で各種の設定項目を画面枠の内側に配置すると共に、保存先情報29a,29b,29cに基づいてレジストリ11やDEVMODE構造体12から各設定項目の設定値を読み出して現在の設定値を各設定項目に反映させることにより印刷設定画面を生成する。UI処理部23は、このようにして生成した印刷設定画面を表示部4に出力することにより、表示部4には、ユーザーが様々な印刷設定を行うことが可能な印刷設定画面が表示されるようになる。   Returning to FIG. 2, the UI processing unit 23 of the driver common unit 21 displays a print setting screen on the display unit 4 as the device driver 20 functions, and the user's operation performed on the operation input unit 5. Accept setting operations. When displaying the print setting screen on the display unit 4, the UI processing unit 23 generates a screen frame of the print setting screen. The UI processing unit 23 refers to the function information 28a, 28b, 28c of each function object 27a, 27b, 27c, and displays various setting items in the display mode defined by the function information 28a, 28b, 28c. By arranging inside the screen frame and reading the setting value of each setting item from the registry 11 or the DEVMODE structure 12 based on the storage destination information 29a, 29b, 29c, and reflecting the current setting value to each setting item Generate print setting screen. The UI processing unit 23 outputs the print setting screen generated in this way to the display unit 4, thereby displaying a print setting screen on which the user can perform various print settings. It becomes like this.

図4は、UI処理部23によって表示される印刷設定画面G1の一例を示す図である。UI処理部23は、印刷設定画面G1の画面枠を生成し、その画面枠中央の設定領域R1に対し、ユーザーが印刷設定操作を行うことが可能な設定項目や現在の設定値などを表示する。すなわち、UI処理部23は、各機能オブジェクト27a,27b,27cの機能情報28a,28b,28cに基づいて各設定項目を設定領域R1内に配置すると共に、各機能オブジェクト27a,27b,27cの保存先情報29a,29b,29cに基づいて各設定項目における現在の設定値をレジストリ11又はDEVMODE構造体12から取得し、各設定項目の現在の設定値として表示する。その結果、設定領域R1において表示される設定項目は、各機能オブジェクト27a,27b,27cによって定義された表示態様で表示されるようになる。そしてユーザーは、設定領域R1に含まれる各設定項目に対して所望の設定操作を行うことにより、現在の設定値を所望の設定値に設定変更することができるようになる。   FIG. 4 is a diagram illustrating an example of the print setting screen G1 displayed by the UI processing unit 23. The UI processing unit 23 generates a screen frame of the print setting screen G1, and displays setting items, current setting values, and the like that allow the user to perform print setting operations on the setting region R1 at the center of the screen frame. . That is, the UI processing unit 23 arranges each setting item in the setting area R1 based on the function information 28a, 28b, 28c of each function object 27a, 27b, 27c, and saves each function object 27a, 27b, 27c. Based on the previous information 29a, 29b, 29c, the current setting value of each setting item is acquired from the registry 11 or the DEVMODE structure 12, and is displayed as the current setting value of each setting item. As a result, the setting items displayed in the setting area R1 are displayed in the display mode defined by the function objects 27a, 27b, and 27c. The user can change the current setting value to a desired setting value by performing a desired setting operation on each setting item included in the setting area R1.

また図4に示す印刷設定画面G1には、ユーザーがセキュリティ印刷に関する設定を行うための領域R2が含まれる。セキュリティ印刷とは、印刷ジョブにIDとパスワードとを含む識別情報を予め設定しておき、ユーザーがプリンタの設置場所まで移動してプリンタに対してそのIDとパスワードに一致する識別情報を入力することにより、当該プリンタにおいて印刷出力が開始される印刷方法である。そのため、領域R2には、セキュリティ印刷を行うためにユーザーが入力すべきIDとパスワードとを含む識別情報を予め設定する設定項目が含まれる。   Further, the print setting screen G1 shown in FIG. 4 includes an area R2 for the user to make settings related to security printing. In security printing, identification information including an ID and a password is set in advance in a print job, and the user moves to the printer installation location and inputs identification information that matches the ID and password to the printer. Thus, the printing method starts printing output in the printer. For this reason, the area R2 includes setting items for presetting identification information including an ID and a password to be input by the user in order to perform security printing.

上記のような印刷設定画面G1が表示されている状態でユーザーの印刷設定操作により各設定項目の設定値が変更された場合、UI処理部23は、その設定項目の設定値の保存場所を保存先情報29a,29b,29cに基づいて特定し、その特定した保存場所に保存されている設定値をユーザーによって指定された設定値に書き換える。これにより、各設定項目の設定値が変更される。つまり、UI処理部23は、ユーザーによる設定操作に基づいてレジストリ11やDEVMODE構造体12に保存されている設定値を更新するように構成される。またUI処理部23は、レジストリ11やDEVMODE構造体12に保存されている設定値を更新したときには、表示部4に表示している印刷設定画面G1も更新する。これにより、表示部4において表示されている印刷設定画面G1上における設定値がユーザーによって指定された設定値に更新される。   When the setting value of each setting item is changed by the user's print setting operation in the state where the print setting screen G1 as described above is displayed, the UI processing unit 23 stores the storage location of the setting value of the setting item. It is specified based on the previous information 29a, 29b, and 29c, and the setting value stored in the specified storage location is rewritten to the setting value specified by the user. Thereby, the setting value of each setting item is changed. That is, the UI processing unit 23 is configured to update the setting value stored in the registry 11 or the DEVMODE structure 12 based on a setting operation by the user. The UI processing unit 23 also updates the print setting screen G1 displayed on the display unit 4 when the setting values stored in the registry 11 and the DEVMODE structure 12 are updated. Thereby, the setting value on the print setting screen G1 displayed on the display unit 4 is updated to the setting value designated by the user.

またUI処理部23は、表示部4に対して印刷設定画面G1を表示している状態でユーザーによる印刷指示を検知すると、描画処理部24を機能させる。描画処理部24は、ユーザーによって指定されたドキュメント(画像データ)を取得し、そのドキュメントに対応する描画処理を行うことにより、ネットワークに接続されている特定機種のプリンタにおいて印刷出力を行うことが可能な印刷データを生成する。そして描画処理部24は、描画処理によって生成した印刷データと各種印刷コマンドとを含む印刷ジョブを生成し、通信インタフェース6を介して特定機種のプリンタに当該印刷ジョブを送信する。このとき描画処理部24は、各機能オブジェクト27a,27b,27cの保存先情報29a,29b,29cに基づいてレジストリ11又はDEVMODE構造体12から機能ごとの設定項目の設定値を読み出し、それら設定値に対応する描画処理を行うと共に、それら設定値に対応する印刷コマンドを生成する。したがって、特定機種のプリンタに出力される印刷ジョブは、印刷設定画面G1においてユーザーが設定した印刷設定が反映された印刷ジョブとなる。尚、描画処理部24は、レジストリ11やDEVMODE構造体12から設定値を読み出すのではなく、UI処理部23からそれらの設定値を取得するものであっても構わない。   The UI processing unit 23 causes the drawing processing unit 24 to function when detecting a print instruction by the user while the print setting screen G1 is displayed on the display unit 4. The drawing processing unit 24 obtains a document (image data) designated by the user, and performs a drawing process corresponding to the document, so that it can be printed out by a printer of a specific model connected to the network. Print data is generated. The drawing processing unit 24 generates a print job including the print data generated by the drawing process and various print commands, and transmits the print job to a specific model printer via the communication interface 6. At this time, the drawing processing unit 24 reads the setting values of the setting items for each function from the registry 11 or the DEVMODE structure 12 based on the storage destination information 29a, 29b, and 29c of the function objects 27a, 27b, and 27c. In addition to performing drawing processing corresponding to, a print command corresponding to these set values is generated. Therefore, the print job output to the printer of the specific model is a print job that reflects the print settings set by the user on the print setting screen G1. Note that the drawing processing unit 24 may acquire the setting values from the UI processing unit 23 instead of reading the setting values from the registry 11 or the DEVMODE structure 12.

設定値管理部22は、レジストリ11及びDEVMODE構造体12に保存されている設定値を読み出し、それらの設定値をレジストリ11やDEVMODE構造体12とは異なる管理情報10に保存して管理する処理部である。つまり、設定値管理部22は、レジストリ11及びDEVMODE構造体12に保存されている設定値を管理情報10にミラーリングして管理する。例えば、UI処理部23によってレジストリ11やDEVMODE構造体12に保存されている設定値が変更されると、設定値管理部22は、レジストリ11又はDEVMODE構造体12に保存されている設定値を管理情報10にミラーリングしてUI処理部23による設定値の変更を管理情報10にも反映させる。これにより、管理情報10には、レジストリ11及びDEVMODE構造体12のそれぞれに保存されている印刷設定に関する設定値と同じ設定値が保存されることになる。   The setting value management unit 22 reads setting values stored in the registry 11 and the DEVMODE structure 12, and stores and manages these setting values in management information 10 different from the registry 11 and the DEVMODE structure 12. It is. That is, the setting value management unit 22 manages the setting values stored in the registry 11 and the DEVMODE structure 12 by mirroring them in the management information 10. For example, when the setting value stored in the registry 11 or the DEVMODE structure 12 is changed by the UI processing unit 23, the setting value management unit 22 manages the setting value stored in the registry 11 or the DEVMODE structure 12. The information 10 is mirrored, and the change of the setting value by the UI processing unit 23 is reflected in the management information 10 as well. As a result, the management information 10 stores the same setting values as the setting values related to the print settings stored in the registry 11 and the DEVMODE structure 12 respectively.

図5は、設定値管理部22によって管理される管理情報10の一例を示す図である。図5に示すように、管理情報10は、各機能オブジェクト27a,27b,27cに関する情報を記録した機能オブジェクト情報16と、各機能オブジェクト27a,27b,27cにおいて定義されている各設定項目の設定値を管理する設定値管理情報17とを有する情報である。また設定値管理情報17は、レジストリ11に格納されている設定値と同じ情報を保持するレジストリ管理情報18と、DEVMODE構造体12に格納されている設定値と同じ情報を保持するDEVMODE構造体管理情報19とを有する情報である。   FIG. 5 is a diagram illustrating an example of the management information 10 managed by the setting value management unit 22. As shown in FIG. 5, the management information 10 includes functional object information 16 in which information related to the functional objects 27a, 27b, and 27c is recorded, and setting values of the setting items defined in the functional objects 27a, 27b, and 27c. And setting value management information 17 for managing the. The setting value management information 17 includes registry management information 18 that holds the same information as the setting values stored in the registry 11 and DEVMODE structure management that holds the same information as the setting values stored in the DEVMODE structure 12. Information 19.

図6は、管理情報10に含まれる機能オブジェクト情報16、レジストリ管理情報18及びDEVMODE構造体管理情報19の一例を示す図である。図6(a)に示すように機能オブジェクト情報16は、各機能オブジェクト27a,27b,27cを識別するための機能オブジェクト識別情報16aと、各機能オブジェクト27a,27b,27cのバージョン情報16bとを有し、各機能オブジェクト27a,27b,27cの識別情報とバージョンとが記録された情報となっている。つまり、この機能オブジェクト情報16を参照すれば、ドライバ共通部21に組み込まれている各機能オブジェクト27a,27b,27cのバージョンが更新されたか否かを判別することができる。そのため、設定値管理部22は、例えばCPU2においてデバイスドライバ20が起動したタイミングで各機能オブジェクト27a,27b,27cからバージョン情報を取得し、そのバージョン情報と、機能オブジェクト情報16に記録されているバージョン情報16bとを比較することにより、デバイスドライバ20の起動前に各機能オブジェクト27a,27b,27cが更新されたか否かを判断することができる。そして各機能オブジェクト27a,27b,27cから取得したバージョン情報と、機能オブジェクト情報16に記録されているバージョン情報16bとが異なる場合、設定値管理部22は、各機能オブジェクト27a,27b,27cから取得した最新のバージョン情報を機能オブジェクト情報16のバージョン情報16bの欄に書き込んで管理情報10を更新する。   FIG. 6 is a diagram illustrating an example of the functional object information 16, the registry management information 18, and the DEVMODE structure management information 19 included in the management information 10. As shown in FIG. 6A, the functional object information 16 includes functional object identification information 16a for identifying the functional objects 27a, 27b, and 27c, and version information 16b of the functional objects 27a, 27b, and 27c. In addition, the identification information and the version of each functional object 27a, 27b, 27c are recorded. That is, by referring to this functional object information 16, it is possible to determine whether or not the version of each functional object 27a, 27b, 27c incorporated in the driver common unit 21 has been updated. Therefore, for example, the setting value management unit 22 acquires version information from each functional object 27a, 27b, 27c at the timing when the device driver 20 is activated in the CPU 2, and the version information and the version recorded in the functional object information 16 are obtained. By comparing with the information 16b, it is possible to determine whether or not each functional object 27a, 27b, 27c has been updated before the device driver 20 is activated. When the version information acquired from the function objects 27a, 27b, and 27c is different from the version information 16b recorded in the function object information 16, the setting value management unit 22 acquires the information from the function objects 27a, 27b, and 27c. The latest version information is written in the version information 16b field of the functional object information 16, and the management information 10 is updated.

またレジストリ管理情報18は、各機能オブジェクト27a,27b,27cの機能ごとに、設定項目18aと、アドレス情報18bと、サイズ情報18cと、設定値18dとが記録された情報である。設定項目18aは、各機能オブジェクト27a,27b,27cの機能情報28a,28b,28cに定義されている設定項目であり、アドレス情報18bは、その設定項目の設定値が格納されているレジストリ11のアドレスを示す情報である。またサイズ情報18cは、レジストリ11に格納されている設定値のデータサイズを示す情報であり、さらに設定値18dは、レジストリ11に格納されている設定値をミラーリングして格納される値である。したがって、このレジストリ管理情報18を参照すれば、各機能オブジェクト27a,27b,27cにおいて保存先がレジストリ11として指定されている設定項目と、その設定項目の設定値とを特定することができる。   The registry management information 18 is information in which setting items 18a, address information 18b, size information 18c, and setting values 18d are recorded for each function of the function objects 27a, 27b, and 27c. The setting item 18a is a setting item defined in the function information 28a, 28b, and 28c of each function object 27a, 27b, and 27c, and the address information 18b is stored in the registry 11 in which the setting value of the setting item is stored. This is information indicating an address. The size information 18c is information indicating the data size of the setting value stored in the registry 11, and the setting value 18d is a value stored by mirroring the setting value stored in the registry 11. Therefore, by referring to the registry management information 18, it is possible to identify the setting item whose storage destination is specified as the registry 11 in each functional object 27 a, 27 b, 27 c and the setting value of the setting item.

さらにDEVMODE構造体管理情報19は、レジストリ管理情報18と同様、各機能オブジェクト27a,27b,27cの機能ごとに、設定項目19aと、アドレス情報19bと、サイズ情報19cと、設定値19dとが記録された情報である。設定項目19aは、各機能オブジェクト27a,27b,27cの機能情報28a,28b,28cに定義されている設定項目であり、アドレス情報19bは、その設定項目の設定値が格納されているDEVMODE構造体12のアドレスを示す情報である。またサイズ情報19cは、DEVMODE構造体12に格納されている設定値のデータサイズを示す情報であり、さらに設定値18dは、DEVMODE構造体12に格納されている設定値をミラーリングして格納される値である。したがって、このDEVMODE構造体管理情報19を参照すれば、各機能オブジェクト27a,27b,27cにおいて保存先がDEVMODE構造体12として指定されている設定項目と、その設定項目の設定値とを特定することができる。   Further, as with the registry management information 18, the DEVMODE structure management information 19 records setting items 19a, address information 19b, size information 19c, and setting values 19d for each function of each functional object 27a, 27b, 27c. Information. The setting item 19a is a setting item defined in the function information 28a, 28b, 28c of each function object 27a, 27b, 27c, and the address information 19b is a DEVMODE structure in which the setting value of the setting item is stored. Information indicating 12 addresses. The size information 19c is information indicating the data size of the setting value stored in the DEVMODE structure 12, and the setting value 18d is stored by mirroring the setting value stored in the DEVMODE structure 12. Value. Therefore, by referring to the DEVMODE structure management information 19, the setting item in which the storage destination is specified as the DEVMODE structure 12 in each function object 27a, 27b, and 27c and the setting value of the setting item are specified. Can do.

そして設定値管理部22は、UI処理部23によってレジストリ11やDEVMODE構造体12に格納されている設定値が書き換えられると、その都度、レジストリ管理情報18の設定値18dの欄やDEVMODE構造体管理情報19の設定値19dの欄を書き換えて管理情報10を更新する。   Then, each time the setting value stored in the registry 11 or the DEVMODE structure 12 is rewritten by the UI processing unit 23, the setting value management unit 22 sets the column of the setting value 18d of the registry management information 18 or the DEVMODE structure management. The management information 10 is updated by rewriting the column of the setting value 19 d of the information 19.

共通インタフェース部25は、複数の機能オブジェクト27a,27b,27cのそれぞれをドライバ共通部21に組み込むためのインタフェースである。この共通インタフェース部25は、例えば設定値管理部22、UI処理部23及び描画処理部24のそれぞれが各機能オブジェクト27a,27b,27cから機能情報28a,28b,28cや保存先情報29a,29b,29cを読み出す際に、共通のコマンドで読み出しを行えるようにするものである。そのため、設定値管理部22、UI処理部23及び描画処理部24は、機能オブジェクトごとにコマンドを切り替える必要がなくなるため、処理効率が向上する。   The common interface unit 25 is an interface for incorporating each of the plurality of functional objects 27a, 27b, and 27c into the driver common unit 21. The common interface unit 25 includes, for example, a setting value management unit 22, a UI processing unit 23, and a drawing processing unit 24, which function information 28a, 28b, 28c and storage destination information 29a, 29b, from the function objects 27a, 27b, 27c, respectively. When reading 29c, the common command can be used for reading. For this reason, the setting value management unit 22, the UI processing unit 23, and the drawing processing unit 24 do not need to switch commands for each functional object, so that the processing efficiency is improved.

次に上記のように構成されたデバイスドライバ20の動作について説明する。図7は、デバイスドライバ20によって行われる処理手順の一例を示すフローチャートである。この処理は、デバイスドライバ20のドライバ共通部21によって行われる処理であり、上述した設定値管理部22、UI処理部23及び描画処理部24が連携動作することによって進行していく処理手順となっている。CPU2においてデバイスドライバ20が機能すると、ドライバ共通部21は、ドライバ共通部21に組み込まれている各機能オブジェクト27a,27b,27cから機能情報28a,28b,28cを読み出す(ステップS10)。そして設定値管理部22が機能し、機能オブジェクト情報16に記録されているバージョン情報16bとのバージョン比較を行い(ステップS11)、機能オブジェクト27a,27b,27cが変更されているか否かを判断する(ステップS12)。その結果、複数の機能オブジェクト27a,27b,27cの少なくとも1つが変更されている場合(ステップS12でYES)、設定値管理部22は、管理情報10に含まれる機能オブジェクト情報16のバージョン情報16bを最新の状態に書き換えて更新する(ステップS13)。尚、複数の機能オブジェクト27a,27b,27cに変更が生じていない場合(ステップS12でNO)、ステップS13の処理はスキップする。   Next, the operation of the device driver 20 configured as described above will be described. FIG. 7 is a flowchart illustrating an example of a processing procedure performed by the device driver 20. This process is a process performed by the driver common unit 21 of the device driver 20, and is a processing procedure that proceeds by the cooperative operation of the setting value management unit 22, the UI processing unit 23, and the drawing processing unit 24 described above. ing. When the device driver 20 functions in the CPU 2, the driver common unit 21 reads the function information 28a, 28b, and 28c from the function objects 27a, 27b, and 27c incorporated in the driver common unit 21 (step S10). Then, the set value management unit 22 functions and performs version comparison with the version information 16b recorded in the function object information 16 (step S11), and determines whether the function objects 27a, 27b, and 27c have been changed. (Step S12). As a result, when at least one of the plurality of functional objects 27a, 27b, and 27c has been changed (YES in step S12), the setting value management unit 22 sets the version information 16b of the functional object information 16 included in the management information 10 It is rewritten and updated to the latest state (step S13). If no change has occurred in the plurality of functional objects 27a, 27b, and 27c (NO in step S12), the process in step S13 is skipped.

続いてドライバ共通部21においてUI処理部23が機能する。そしてUI処理部23は、各機能オブジェクト27a,27b,27cから保存先情報29a,29b,29cを取得し、それらの保存先情報29a,29b,29cに基づいて各設定項目の設定値を、レジストリ11又はDEVMODE構造体12から読み出す(ステップS14)。UI処理部23は、その読み出した設定値に基づき、表示部4に表示するための印刷設定画面G1を生成すると共に、その印刷設定画面G1を表示部4に出力して表示する(ステップS15)。   Subsequently, the UI processing unit 23 functions in the driver common unit 21. The UI processing unit 23 acquires storage destination information 29a, 29b, and 29c from the functional objects 27a, 27b, and 27c, and sets the setting values of the setting items based on the storage destination information 29a, 29b, and 29c in the registry. 11 or DEVMODE structure 12 is read (step S14). The UI processing unit 23 generates a print setting screen G1 to be displayed on the display unit 4 based on the read setting value, and outputs and displays the print setting screen G1 on the display unit 4 (step S15). .

そしてUI処理部23は、ユーザーによる印刷指示が行われたか否かを判断し(ステップS16)、印刷指示が行われていない場合(ステップS16でNO)、ユーザーによる印刷設定の設定変更操作が行われたか否かを判断する(ステップS17)。設定変更操作が行われていない場合(ステップS17でNO)、UI処理部23による処理はステップS16へ戻り、ユーザーによる操作が行われるまで上記判断が繰り返される。そしてユーザーによる印刷設定の設定変更操作が行われた場合(ステップS17でYES)、UI処理部23は、各機能オブジェクト27a,27b,27cの保存先情報29a,29b,29cに基づき、その設定変更が行われた設定値の保存先を参照し(ステップS18)、その保存先の設定値をユーザーによって指定された設定値に更新する(ステップS19)。そしてUI処理部23は、表示部4に表示している印刷設定画面G1をユーザーによる操作を反映させた表示画面に更新する(ステップS20)。これに伴い、設定値管理部22が機能する。そして設定値管理部22は、UI処理部23によって更新されたレジストリ11又はDEVMODE構造体12の設定値を読み出し、その設定値に基づいて管理情報10のレジストリ管理情報18又はDEVMODE構造体管理情報19に格納されている設定値を書き換えることにより、管理情報10を最新の状態に更新する(ステップS21)。そしてステップS16に戻り、ユーザーによる次の操作を待機する状態となる。   Then, the UI processing unit 23 determines whether or not a print instruction has been given by the user (step S16). If no print instruction has been given (NO in step S16), the user performs a print setting setting change operation. It is determined whether or not it has been received (step S17). If the setting change operation has not been performed (NO in step S17), the process by the UI processing unit 23 returns to step S16, and the above determination is repeated until the user performs an operation. If the user performs a print setting change operation (YES in step S17), the UI processing unit 23 changes the setting based on the storage destination information 29a, 29b, and 29c of the function objects 27a, 27b, and 27c. Reference is made to the storage location of the set value that has been performed (step S18), and the storage location setting value is updated to the setting value designated by the user (step S19). Then, the UI processing unit 23 updates the print setting screen G1 displayed on the display unit 4 to a display screen reflecting the user's operation (Step S20). Accordingly, the set value management unit 22 functions. Then, the setting value management unit 22 reads the setting value of the registry 11 or the DEVMODE structure 12 updated by the UI processing unit 23, and the registry management information 18 or the DEVMODE structure management information 19 of the management information 10 based on the setting value. The management information 10 is updated to the latest state by rewriting the setting value stored in (step S21). And it returns to step S16 and will be in the state which waits for the next operation by a user.

ユーザーによって印刷指示が行われた場合(ステップS16でYES)、UI処理部23は、描画処理部24を機能させる。そして描画処理部24は、ユーザーによって指定された印刷設定に基づく描画処理を行うことにより、印刷ジョブを生成し(ステップS22)、通信インタフェース6を介してその印刷ジョブをプリンタへ出力する(ステップS23)。以上で、デバイスドライバ20による一連の処理が終了する。   When a print instruction is issued by the user (YES in step S16), the UI processing unit 23 causes the drawing processing unit 24 to function. The drawing processing unit 24 generates a print job by performing drawing processing based on the print settings designated by the user (step S22), and outputs the print job to the printer via the communication interface 6 (step S23). ). Thus, a series of processing by the device driver 20 is completed.

次にCPU2においてカスタマイズプログラム9bが起動する場合について説明する。図8は、CPU2がカスタマイズプログラム9bを実行することによりカスタマイズツール30として機能する場合の詳細な機能構成の一例を示す図である。CPU2は、ユーザーによる起動指示に基づいてカスタマイズプログラム9bを実行すると、図8に示すようにカスタマイズツール30を機能させる。このカスタマイズツール30は、ユーザーによるカスタマイズ操作に基づいてデバイスドライバ20に対する機能オブジェクトの追加、削除又は変更を行うことにより、デバイスドライバ20を更新するツールである。つまり、カスタマイズツール30は、デバイスドライバ20のドライバ共通部21を変更することなく、そのドライバ共通部21に対する機能オブジェクトの組み替えを行うことによりデバイスドライバ20を更新する。したがって、ユーザーは、情報処理装置1においてカスタマイズツール30を起動させることにより、例えば上述した印刷設定画面G1の設定領域R1に表示される設定項目の表示又は非表示の切り替えや設定項目の表示態様をカスタマイズすることができる。またカスタマイズツール30は、印刷設定画面G1の表示態様を変更するだけでなく、ユーザーによる指示操作に基づいて、各設定項目の設定値の保存場所を、レジストリ11からDEVMODE構造体12へ、或いは、DEVMODE構造体12からレジストリ11へ変更することもできる。以下、カスタマイズツール30について詳しく説明する。   Next, a case where the customization program 9b is activated in the CPU 2 will be described. FIG. 8 is a diagram showing an example of a detailed functional configuration when the CPU 2 functions as the customization tool 30 by executing the customization program 9b. When the CPU 2 executes the customization program 9b based on the activation instruction from the user, the CPU 2 causes the customization tool 30 to function as shown in FIG. The customization tool 30 is a tool for updating the device driver 20 by adding, deleting, or changing a function object with respect to the device driver 20 based on a customization operation by the user. That is, the customization tool 30 updates the device driver 20 by changing the function object for the driver common unit 21 without changing the driver common unit 21 of the device driver 20. Therefore, the user activates the customization tool 30 in the information processing apparatus 1 to change the display or non-display of the setting items displayed in the setting region R1 of the print setting screen G1 described above and the display mode of the setting items, for example. Can be customized. The customization tool 30 not only changes the display mode of the print setting screen G1, but also stores the setting value storage location of each setting item from the registry 11 to the DEVMODE structure 12 based on an instruction operation by the user. It is also possible to change from the DEVMODE structure 12 to the registry 11. Hereinafter, the customization tool 30 will be described in detail.

図8に示すように、カスタマイズツール30は、機能オブジェクト変更部31と、引継処理部32とを備えている。機能オブジェクト変更部31は、ユーザーのカスタマイズ操作に基づいてデバイスドライバ20の機能オブジェクトを組み替えることにより、デバイスドライバ20を更新する処理部である。また引継処理部32は、ユーザーによるカスタマイズ操作によって各設定項目の設定値の保存場所がレジストリ11からDEVMODE構造体12へ、或いは、DEVMODE構造体12からレジストリ11へ変更された場合にカスタマイズ前の設定値をカスタマイズ後の保存場所へ書き込むことにより、カスタマイズ前のデータ(設定値)をカスタマイズ後においても正常に参照できるようにする処理部である。   As illustrated in FIG. 8, the customization tool 30 includes a function object changing unit 31 and a takeover processing unit 32. The functional object changing unit 31 is a processing unit that updates the device driver 20 by rearranging the functional objects of the device driver 20 based on a user's customization operation. Further, the takeover processing unit 32 sets the setting before customization when the storage location of the setting value of each setting item is changed from the registry 11 to the DEVMODE structure 12 or from the DEVMODE structure 12 to the registry 11 by the customization operation by the user. It is a processing unit that allows data before customization (setting values) to be normally referred to even after customization by writing values to a storage location after customization.

機能オブジェクト変更部31は、機能定義データ取得部33と、機能定義データ編集部34と、機能オブジェクト生成部35と、組替処理部36とを備えており、これらを順に機能させることによりデバイスドライバ20を更新する。図9は、機能定義データ取得部33、機能定義データ編集部34、機能オブジェクト生成部35及び組替処理部36のそれぞれにおける処理の概念を説明する図である。尚、図9は、図2に示した3つの機能オブジェクト27a,27b,27cのそれぞれを新たな機能オブジェクト27d,27e,27fに組み替える場合の処理概念を例示するものである。   The function object changing unit 31 includes a function definition data acquiring unit 33, a function definition data editing unit 34, a function object generating unit 35, and a reassignment processing unit 36, and by making these function in order, a device driver 20 is updated. FIG. 9 is a diagram illustrating the concept of processing in each of the function definition data acquisition unit 33, the function definition data editing unit 34, the function object generation unit 35, and the reassignment processing unit 36. FIG. 9 exemplifies a processing concept when the three functional objects 27a, 27b, and 27c shown in FIG. 2 are rearranged into new functional objects 27d, 27e, and 27f.

図9に示すように、まず機能定義データ取得部33は、組み替え対象となる3つの機能オブジェクト27a,27b,27cのそれぞれに対応する機能定義データ51a,51b,51cを取得する。機能定義データは、機能オブジェクトの生成元となるオリジナルデータであり、例えば特定機種のプリンタに搭載された個々の機能に対応する設定項目や設定項目の表示態様、各設定項目に関する設定値の保存先などをスクリプト形式で記述したデータである。例えば図9においては、機能定義データ51aが機能オブジェクト27aのオリジナルデータであり、機能定義データ51bが機能オブジェクト27bのオリジナルデータであり、機能定義データ51cが機能オブジェクト27cのオリジナルデータである。そして機能定義データ取得部33は、ユーザーによってデバイスドライバ20に組み込まれている3つの機能オブジェクト27a,27b,27cのそれぞれが組み替え対象であることが指定されると、それら3つの機能オブジェクト27a,27b,27cに対応する機能定義データ51a,51b,51cを取得する。尚、このような機能定義データ51a,51b,51cは、記憶装置7に予め記憶されている。   As shown in FIG. 9, first, the function definition data acquisition unit 33 acquires function definition data 51a, 51b, 51c corresponding to each of the three function objects 27a, 27b, 27c to be rearranged. The function definition data is original data from which a function object is generated. For example, setting items corresponding to individual functions installed in a printer of a specific model, a display mode of setting items, and a storage location of setting values related to each setting item Is described in script format. For example, in FIG. 9, the function definition data 51a is the original data of the function object 27a, the function definition data 51b is the original data of the function object 27b, and the function definition data 51c is the original data of the function object 27c. When the function definition data acquisition unit 33 designates that each of the three function objects 27a, 27b, and 27c incorporated in the device driver 20 is to be rearranged by the user, the three function objects 27a and 27b. , 27c corresponding to the function definition data 51a, 51b, 51c. Such function definition data 51a, 51b, 51c is stored in the storage device 7 in advance.

機能定義データ編集部34は、機能定義データ取得部33によって取得された機能定義データ51a,51b,51cに基づき、表示部4に対して機能定義データの編集画面を表示する。そしてユーザーによる編集操作に基づき、特定機種のプリンタに搭載された個々の機能に対応する設定項目や設定項目の表示態様、各設定項目に関する設定値の保存先などを変更し、新たな機能定義データ51d,51e,51fを生成する。つまり、機能定義データ編集部34は、ユーザーによるカスタマイズ操作に基づき、各機能定義データ51a,51b,51cにおけるスクリプト形式の記述を書き換えて新たな機能定義データ51d,51e,51fを生成する。このようにして生成される新たな機能定義データ51d,51e,51fは記憶装置7に保存される。   The function definition data editing unit 34 displays a function definition data editing screen on the display unit 4 based on the function definition data 51 a, 51 b, 51 c acquired by the function definition data acquisition unit 33. Based on the editing operation by the user, the setting items corresponding to the individual functions installed in the printer of the specific model, the display mode of the setting items, the storage location of the setting values for each setting item, etc. are changed to create new function definition data. 51d, 51e, and 51f are generated. That is, the function definition data editing unit 34 rewrites the script format description in each function definition data 51a, 51b, 51c based on the customization operation by the user to generate new function definition data 51d, 51e, 51f. The new function definition data 51d, 51e, 51f generated in this way is stored in the storage device 7.

次に機能オブジェクト生成部35が機能する。機能オブジェクト生成部35は、ユーザーによるカスタマイズ操作によって生成された新たな機能定義データ51d,51e,51fに基づき新たな機能オブジェクト27d,27e,27fを生成する。すなわち、機能オブジェクト生成部35は、スクリプト形式で記述された機能定義データ51d,51e,51fを、ドライバ共通部21の共通インタフェース部25に組み込み可能なバイナリ形式のデータに変換することにより、新たな機能オブジェクト27d,27e,27fを生成する。これら機能オブジェクト27d,27e,27fには、ユーザーによるカスタマイズ操作が反映された機能情報28d,28e,28f及び保存先情報29d,29e,29fが含まれる。このようにして新たに生成される機能オブジェクト27d,27e,27fは、既存の機能オブジェクト27a,27b,27cとはバージョンの異なる機能オブジェクトとなる。ただし、新たに生成される各機能オブジェクト27d,27e,27fは既存の機能オブジェクト27a,27b,27cのそれぞれと同じ機能であるため、新たに生成される機能オブジェクト27d,27e,27fの識別情報は既存の機能オブジェクト27a,27b,27cの識別情報と同じである。   Next, the function object generation unit 35 functions. The function object generation unit 35 generates new function objects 27d, 27e, and 27f based on the new function definition data 51d, 51e, and 51f generated by the customization operation by the user. That is, the function object generation unit 35 converts the function definition data 51d, 51e, 51f described in the script format into binary format data that can be incorporated into the common interface unit 25 of the driver common unit 21, thereby creating new data. Function objects 27d, 27e, and 27f are generated. These function objects 27d, 27e, and 27f include function information 28d, 28e, and 28f reflecting the user's customization operation and storage destination information 29d, 29e, and 29f. The function objects 27d, 27e, and 27f newly generated in this way are function objects having different versions from the existing function objects 27a, 27b, and 27c. However, since the newly generated function objects 27d, 27e, and 27f have the same functions as the existing function objects 27a, 27b, and 27c, the identification information of the newly generated function objects 27d, 27e, and 27f is This is the same as the identification information of the existing function objects 27a, 27b, and 27c.

そして組替処理部36が機能する。組替処理部36は、ユーザーによって指定されたデバイスドライバ20を変更対象として選択し、ユーザーによる組み替え設定操作に基づいてその選択したデバイスドライバ20の機能オブジェクトを組み替える処理を行う。例えば、図9に示すように機能オブジェクト生成部35によって3つの新たな機能オブジェクト27d,27e,27fが生成され、ユーザーによってそれら3つの機能オブジェクト27d,27e,27fをデバイスドライバ20に既に組み込まれている3つの機能オブジェクト27a,27b,27cと組み替えることが指定された場合、組替処理部36は、デバイスドライバ20に既に組み込まれている3つの機能オブジェクト27a,27b,27cのそれぞれを共通インタフェース部25から切り離し、新たに生成された3つの機能オブジェクト27d,27e,27fのそれぞれを共通インタフェース部25に組み込むことにより、デバイスドライバ20を更新する。その結果、図2に示したデバイスドライバ20の構成は、図10に示すようにドライバ共通部21に対して新たな機能オブジェクト27d,27e,27fが組み込まれた状態に更新される。   The reassignment processing unit 36 functions. The reassignment processing unit 36 selects the device driver 20 designated by the user as a change target, and performs a process of reassigning the functional object of the selected device driver 20 based on the reassignment setting operation by the user. For example, as shown in FIG. 9, three new function objects 27d, 27e, and 27f are generated by the function object generation unit 35, and these three function objects 27d, 27e, and 27f are already incorporated into the device driver 20 by the user. When it is specified that the three functional objects 27a, 27b, and 27c are to be recombined, the reassignment processing unit 36 replaces each of the three functional objects 27a, 27b, and 27c already incorporated in the device driver 20 with the common interface unit. The device driver 20 is updated by incorporating each of the three newly generated functional objects 27d, 27e, and 27f into the common interface unit 25. As a result, the configuration of the device driver 20 shown in FIG. 2 is updated to a state in which new functional objects 27d, 27e, and 27f are incorporated in the driver common unit 21 as shown in FIG.

このように機能オブジェクト変更部31は、機能定義データ取得部33、機能定義データ編集部34、機能オブジェクト生成部35及び組替処理部36を順次機能させることにより、ユーザーのカスタマイズ操作に基づいてデバイスドライバ20を更新する。尚、上記においては、既存の機能オブジェクトを新たな機能オブジェクトに変更する場合を例示したが、これに限られるものではなく、機能オブジェクト変更部31は、デバイスドライバ20に対して新たな機能オブジェクトを追加するカスタマイズやデバイスドライバ20に組み込まれている既存の機能オブジェクトを削除するカスタマイズなどを行うことも可能である。そして機能オブジェクト変更部31によってデバイスドライバ20が更新されると、次に引継処理部32が機能する。   As described above, the function object changing unit 31 causes the function definition data acquisition unit 33, the function definition data editing unit 34, the function object generation unit 35, and the reassignment processing unit 36 to function sequentially, thereby enabling the device based on the user's customization operation. The driver 20 is updated. In the above, the case where an existing functional object is changed to a new functional object has been exemplified. However, the present invention is not limited to this, and the functional object changing unit 31 assigns a new functional object to the device driver 20. Customization to be added or customization to delete an existing function object incorporated in the device driver 20 can also be performed. Then, when the device driver 20 is updated by the functional object changing unit 31, the takeover processing unit 32 functions next.

引継処理部32は、バージョン比較部37と、データ構造更新部38とを備えている。バージョン比較部37は、機能オブジェクト変更部31によって更新されたデバイスドライバ20に組み込まれている各機能オブジェクト27d,27e,27fのバージョン情報を取得すると共に、管理情報10の機能オブジェクト情報16に記録されているバージョン情報16bを読み出し、デバイスドライバ20の更新前後においてバージョン情報が変更された機能オブジェクトが存在するか否かを判断する。その結果、バージョン情報が変更された機能オブジェクトが存在する場合、バージョン比較部37は、データ構造更新部38を機能させる。   The takeover processing unit 32 includes a version comparison unit 37 and a data structure update unit 38. The version comparison unit 37 acquires the version information of each functional object 27d, 27e, 27f incorporated in the device driver 20 updated by the functional object changing unit 31, and is recorded in the functional object information 16 of the management information 10. The version information 16b is read, and it is determined whether or not there is a functional object whose version information has been changed before and after the device driver 20 is updated. As a result, when there is a functional object whose version information has been changed, the version comparison unit 37 causes the data structure update unit 38 to function.

データ構造更新部38は、デバイスドライバ20の更新前においてデバイスドライバ20に組み込まれていた各機能オブジェクト27a,27b,27cの保存先情報29a,29b,29cと、デバイスドライバ20の更新後においてデバイスドライバ20に組み込まれている各機能オブジェクト27d,27e,27fの保存先情報29d,29e,29fとを対比し、デバイスドライバ20の更新前後において設定値の保存先に変更がある場合に、レジストリ11及びDEVMODE構造体12における設定値の保存状態を更新する。すなわち、データ構造更新部38は、管理情報10に含まれるレジストリ管理情報18及びDEVMODE構造体管理情報19を読み出し、それらレジストリ管理情報18及びDEVMODE構造体管理情報19から、デバイスドライバ20が更新される前の機能オブジェクト27a,27b,27cのそれぞれにおいて指定されていた保存先の設定値を取得する。そしてデータ構造更新部38は、管理情報10から読み出した設定値を、デバイスドライバ20が更新された後の機能オブジェクト27d,27e,27fのそれぞれにおいて指定されている保存先に保存する。   The data structure update unit 38 stores the storage destination information 29a, 29b, and 29c of the function objects 27a, 27b, and 27c incorporated in the device driver 20 before the device driver 20 is updated, and the device driver after the device driver 20 is updated. 20 is compared with the storage destination information 29d, 29e, 29f of each functional object 27d, 27e, 27f, and when the storage destination of the setting value is changed before and after the update of the device driver 20, the registry 11 and The storage state of the setting value in the DEVMODE structure 12 is updated. That is, the data structure update unit 38 reads the registry management information 18 and the DEVMODE structure management information 19 included in the management information 10, and the device driver 20 is updated from the registry management information 18 and the DEVMODE structure management information 19. The setting value of the storage destination specified in each of the previous function objects 27a, 27b, and 27c is acquired. Then, the data structure update unit 38 stores the setting value read from the management information 10 in the storage destination specified in each of the function objects 27d, 27e, and 27f after the device driver 20 is updated.

例えば図3に示したようにデバイスドライバ20の更新前の機能オブジェクト27aがレジストリ11を保存先として指定しており、デバイスドライバ20の更新によってその機能オブジェクト27aと組み替えられた新たな機能オブジェクト27dがDEVMODE構造体12を保存先として指定している場合、データ構造更新部38は、機能オブジェクト27aによって指定されていたレジストリ11の設定値を管理情報10のレジストリ管理情報18から読み出し、その設定値を、新たな機能オブジェクト27dによって指定されているDEVMODE構造体12の指定アドレスに格納する。   For example, as shown in FIG. 3, the function object 27a before the update of the device driver 20 designates the registry 11 as a storage destination, and a new function object 27d recombined with the function object 27a by the update of the device driver 20 exists. When the DEVMODE structure 12 is specified as the storage destination, the data structure update unit 38 reads the setting value of the registry 11 specified by the function object 27a from the registry management information 18 of the management information 10, and sets the setting value. And stored in the designated address of the DEVMODE structure 12 designated by the new function object 27d.

また例えば図3に示したようにデバイスドライバ20の更新前の機能オブジェクト27cがDEVMODE構造体12を保存先として指定しており、デバイスドライバ20の更新によってその機能オブジェクト27cと組み替えられた新たな機能オブジェクト27fがレジストリ11を保存先として指定している場合、データ構造更新部38は、機能オブジェクト27cによって指定されていたDEVMODE構造体12の設定値を管理情報10のDEVMODE構造体管理情報19から読み出し、その設定値を、新たな機能オブジェクト27fによって指定されているレジストリ11の指定アドレスに格納する。   Further, for example, as shown in FIG. 3, the function object 27c before the update of the device driver 20 designates the DEVMODE structure 12 as the storage destination, and a new function recombined with the function object 27c by the update of the device driver 20 When the object 27f designates the registry 11 as the storage destination, the data structure update unit 38 reads the setting value of the DEVMODE structure 12 designated by the function object 27c from the DEVMODE structure management information 19 of the management information 10. The set value is stored in the designated address of the registry 11 designated by the new function object 27f.

このようにデータ構造更新部38は、デバイスドライバ20の更新によって設定値の保存場所がレジストリ11からDEVMODE構造体12に変更された場合、又は、DEVMODE構造体12からレジストリ11に変更された場合に、管理情報10のレジストリ管理情報18又はDEVMODE構造体管理情報19に基づいてDEVMODE構造体12又はレジストリ11の設定値の保存状態を更新する。尚、デバイスドライバ20の更新によって設定値の保存場所が変更されていない場合には、データ構造更新部38による更新処理は行わなくても良い。ただし、保存先として指定されるレジストリ11又はDEVMODE構造体12がデバイスドライバ20の更新前後において変わらない場合であっても、設定値を保存するアドレスが変わることもある。そのため、デバイスドライバ20の更新前後において設定値を保存するアドレスが変わっている場合、データ構造更新部38は、管理情報10のレジストリ管理情報18又はDEVMODE構造体管理情報19に基づいてDEVMODE構造体12又はレジストリ11の設定値の保存状態を更新する。   As described above, the data structure update unit 38 changes the setting value storage location from the registry 11 to the DEVMODE structure 12 due to the update of the device driver 20, or when the DEVMODE structure 12 changes to the registry 11. Based on the registry management information 18 or the DEVMODE structure management information 19 of the management information 10, the storage state of the setting value of the DEVMODE structure 12 or the registry 11 is updated. If the storage location of the setting value is not changed by updating the device driver 20, the update process by the data structure update unit 38 may not be performed. However, even when the registry 11 or the DEVMODE structure 12 specified as the storage destination does not change before and after the update of the device driver 20, the address for storing the setting value may change. Therefore, when the address for saving the setting value has changed before and after the update of the device driver 20, the data structure update unit 38 determines that the DEVMODE structure 12 is based on the registry management information 18 or the DEVMODE structure management information 19 of the management information 10. Alternatively, the storage state of the setting value of the registry 11 is updated.

図11は、データ構造更新部38によって書き換えられるレジストリ11及びDEVMODE構造体12のデータ構造の一例を示す図である。この図11は、図3に示したデータ構造が書き換えられた状態を例示している。上述したようにデバイスドライバ20の更新前の機能オブジェクト27cがDEVMODE構造体12を保存先として指定しており、デバイスドライバ20の更新によってその機能オブジェクト27cと組み替えられた新たな機能オブジェクト27fがレジストリ11を保存先として指定している場合、データ構造更新部38は、管理情報10からレジストリ11に保存されている設定値を読み出し、その設定値をDEVMODE構造体12に書き込んでDEVMODE構造体12の設定値の保存状態を更新する。またデバイスドライバ20の更新前の機能オブジェクト27cがDEVMODE構造体12を保存先として指定しており、デバイスドライバ20の更新によってその機能オブジェクト27cと組み替えられた新たな機能オブジェクト27fがレジストリ11を保存先として指定している場合、データ構造更新部38は、管理情報10からDEVMODE構造体12に保存されている設定値を読み出し、その設定値をレジストリ11に書き込んでレジストリ11の設定値の保存状態を更新する。これにより、レジストリ11に格納される設定値は、図3(a)に示す状態から図11(a)に示す状態に書き換えられる。またDEVMODE構造体12に格納される設定値は、図3(b)に示す状態から図11(b)に示す状態に書き換えられる。その結果、デバイスドライバ20が更新された後の複数の機能オブジェクト27d,27e,27fのそれぞれが指定する設定値の保存先には、デバイスドライバ20の更新前の設定値が格納されることとなる。それ故、デバイスドライバ20が更新された後にデバイスドライバ20が起動するときには、それら複数の機能オブジェクト27d,27e,27fのそれぞれが指定する保存先から各設定項目の設定値を正常に読み出すことができるようになり、ユーザーによるカスタマイズ操作後の印刷設定画面G1を正常に表示することができるようになる。   FIG. 11 is a diagram illustrating an example of the data structure of the registry 11 and the DEVMODE structure 12 that are rewritten by the data structure update unit 38. FIG. 11 illustrates a state where the data structure shown in FIG. 3 is rewritten. As described above, the functional object 27c before the update of the device driver 20 designates the DEVMODE structure 12 as the storage destination, and the new functional object 27f recombined with the functional object 27c by the update of the device driver 20 is the registry 11. Is specified as the storage destination, the data structure update unit 38 reads the setting value stored in the registry 11 from the management information 10, writes the setting value in the DEVMODE structure 12, and sets the DEVMODE structure 12 Update the value storage state. In addition, the functional object 27c before the update of the device driver 20 designates the DEVMODE structure 12 as the storage destination, and the new functional object 27f recombined with the functional object 27c by the update of the device driver 20 stores the registry 11 therein. Is specified, the data structure update unit 38 reads the setting value stored in the DEVMODE structure 12 from the management information 10, writes the setting value in the registry 11, and sets the storage state of the setting value in the registry 11 Update. Thereby, the setting value stored in the registry 11 is rewritten from the state shown in FIG. 3A to the state shown in FIG. Further, the setting value stored in the DEVMODE structure 12 is rewritten from the state shown in FIG. 3B to the state shown in FIG. As a result, the setting value before the update of the device driver 20 is stored in the storage destination of the setting value designated by each of the plurality of functional objects 27d, 27e, and 27f after the device driver 20 is updated. . Therefore, when the device driver 20 is activated after the device driver 20 is updated, the setting value of each setting item can be normally read from the storage destination designated by each of the plurality of functional objects 27d, 27e, and 27f. Thus, the print setting screen G1 after the customization operation by the user can be normally displayed.

次に上記のように構成されたカスタマイズツール30の動作について説明する。図12及び図13は、カスタマイズツール30によって行われる処理手順の一例を示すフローチャートである。この処理は、カスタマイズツール30の機能オブジェクト変更部31及び引継処理部32が順に機能することによって行われる処理手順となっている。CPU2においてカスタマイズツール30が機能すると、まず機能オブジェクト変更部31が動作する。機能オブジェクト変更部31は、ユーザーによる指示操作に基づいて例えば記憶装置7に保存されている既存の機能定義データ51a,51b,51cを読み出して取得する(ステップS30)。尚、機能オブジェクト変更部31は、通信インタフェース6を介して外部のサーバーから機能定義データ51a,51b,51cを取得するものであっても良い。機能オブジェクト変更部31は、ユーザーによって指定された機能定義データ51a,51b,51cを取得すると、表示部4に対してそれら機能定義データ51a,51b,51cの編集画面を表示し、ユーザーによる編集操作に基づいて機能定義データの編集処理を実行する(ステップS31)。これにより、ステップS30で取得された機能定義データ51a,51b,51cがユーザーによる編集操作に基づいて改変される。このような編集処理は、ユーザーによる編集操作が終了するまで継続する(ステップS32)。そしてユーザーによる編集操作が終了すると(ステップS32でYES)、機能オブジェクト変更部31は、編集操作に基づく改変によって新たに生成された機能定義データ51d,51e,51fを記憶装置7に保存し(ステップS33)、それら機能定義データ51d,51e,51fに基づいて新たな機能オブジェクト27d,27e,27fを生成する(ステップS34)。このとき、機能オブジェクト変更部31は、新たに生成した機能オブジェクト27d,27e,27fのバージョンを最新バージョンに更新し、例えば各機能オブジェクト27d,27e,27fの機能情報28d,28e,28fにそのバージョン情報を書き込む(ステップS35)。以上のような処理で、デバイスドライバ20に対して新たに組み込む機能オブジェクト27d,27e,27fが生成される。   Next, the operation of the customization tool 30 configured as described above will be described. 12 and 13 are flowcharts illustrating an example of a processing procedure performed by the customization tool 30. FIG. This processing is a processing procedure performed by the function object changing unit 31 and the takeover processing unit 32 of the customization tool 30 functioning in order. When the customization tool 30 functions in the CPU 2, first, the function object changing unit 31 operates. The function object changing unit 31 reads and acquires the existing function definition data 51a, 51b, 51c stored in the storage device 7, for example, based on an instruction operation by the user (step S30). The function object changing unit 31 may acquire the function definition data 51a, 51b, 51c from an external server via the communication interface 6. When the function object changing unit 31 acquires the function definition data 51a, 51b, 51c designated by the user, the function object changing unit 31 displays the editing screen of the function definition data 51a, 51b, 51c on the display unit 4, and the editing operation by the user. Based on the above, the function definition data editing process is executed (step S31). Thereby, the function definition data 51a, 51b, 51c acquired in step S30 is modified based on the editing operation by the user. Such editing processing continues until the editing operation by the user is completed (step S32). When the editing operation by the user is completed (YES in step S32), the function object changing unit 31 stores the function definition data 51d, 51e, 51f newly generated by the modification based on the editing operation in the storage device 7 (step S31). S33), new function objects 27d, 27e, 27f are generated based on the function definition data 51d, 51e, 51f (step S34). At this time, the function object changing unit 31 updates the version of the newly generated function objects 27d, 27e, and 27f to the latest version. For example, the function object changing unit 31 adds the version to the function information 28d, 28e, and 28f of the function objects 27d, 27e, and 27f. Information is written (step S35). Functional objects 27d, 27e, and 27f to be newly incorporated into the device driver 20 are generated by the processing as described above.

続いて機能オブジェクト変更部31は、ユーザーによる指示操作に基づいて変更対象となるデバイスドライバ20を選択する(ステップS36)。例えば情報処理装置1に複数のデバイスドライバ20がインストールされている場合、このステップS36においてカスタマイズ対象となる一のデバイスドライバ20が選択されることになる。そして機能オブジェクト変更部31は、カスタマイズ対象となる一のデバイスドライバ20を選択すると、そのデバイスドライバ20における現在の機能オブジェクトの構成を表示部4に表示し、ユーザーによる機能オブジェクトの組み替え設定を受け付ける(ステップS37)。すなわち、既存の機能オブジェクト27a,27b,27cのそれぞれを新たな機能オブジェクト27d,27e,27fと組み替える設定操作を受け付ける。このときユーザーは、既存の機能オブジェクトの削除や、新たな機能オブジェクトの追加を設定することもできる。そしてユーザーによる設定操作が行われると、機能オブジェクト変更部31は、機能オブジェクトの組み替え処理を実行し(ステップS38)、デバイスドライバ20を更新する(ステップS39)。これにより、デバイスドライバ20に組み込まれていた既存の機能オブジェクト27a,27b,27cが新たな機能オブジェクト27d,27e,27fに組み替えられ、デバイスドライバ20における機能オブジェクトの構成が更新される。   Subsequently, the functional object changing unit 31 selects the device driver 20 to be changed based on an instruction operation by the user (step S36). For example, when a plurality of device drivers 20 are installed in the information processing apparatus 1, one device driver 20 to be customized is selected in this step S36. When the function object changing unit 31 selects one device driver 20 to be customized, the function object changing unit 31 displays the current function object configuration in the device driver 20 on the display unit 4 and accepts the reconfiguration setting of the function object by the user ( Step S37). That is, a setting operation for recombining each of the existing functional objects 27a, 27b, and 27c with new functional objects 27d, 27e, and 27f is received. At this time, the user can also set deletion of an existing function object or addition of a new function object. When a setting operation is performed by the user, the functional object changing unit 31 executes a functional object recombination process (step S38) and updates the device driver 20 (step S39). As a result, the existing function objects 27a, 27b, and 27c incorporated in the device driver 20 are rearranged to new function objects 27d, 27e, and 27f, and the configuration of the function object in the device driver 20 is updated.

次にカスタマイズツール30において引継処理部32が動作し、データ引継処理を実行する(ステップS40)。図13は、このデータ引継処理(ステップS40)の詳細な処理手順の一例を示すフローチャートである。引継処理部32は、管理情報10から機能オブジェクト情報16を読み出し(ステップS50)、デバイスドライバ20の更新前後における各機能オブジェクトのバージョン比較処理を行う(ステップS51)。このバージョン比較処理により、デバイスドライバ20の更新によって組み替えられた機能オブジェクトが存在するか否かを特定することができる。そして機能オブジェクトの組み替えが行われた場合には、設定値の保存先が変更されている可能性がある。そのため、引継処理部32は、組み替え後の機能オブジェクト27d,27e,27fに関するバージョン情報が管理情報10に記録されている組み替え前の機能オブジェクト27a,27b,27cに関するバージョン情報16bと異なる場合に、組み替え後の機能オブジェクト27d,27e,27fにおいて指定されている保存先が変更された可能性があることを検知する。そして引継処理部32は、デバイスドライバ20の更新によってデバイスドライバ20から切り離された機能オブジェクト27a,27b,27cを特定し(ステップS52)、デバイスドライバ20に対して新たに組み込まれた機能オブジェクト27d,27e,27fにおいて指定されている設定値の保存先が変更されているか否かを判断する(ステップS53)。その結果、設定値の保存先が変更されていない場合(ステップS53でNO)、引継処理部32は、レジストリ11及びDEVMODE構造体12の設定値の保存状態を特に変更することなく、処理を終了する。   Next, the takeover processing unit 32 operates in the customization tool 30 and executes data takeover processing (step S40). FIG. 13 is a flowchart showing an example of a detailed processing procedure of this data transfer processing (step S40). The takeover processing unit 32 reads the functional object information 16 from the management information 10 (step S50), and performs version comparison processing of each functional object before and after the update of the device driver 20 (step S51). By this version comparison process, it is possible to specify whether or not there is a functional object rearranged by updating the device driver 20. When the function object is rearranged, the setting value storage destination may be changed. Therefore, the handover processing unit 32 performs recombination when the version information related to the functional objects 27d, 27e, and 27f after recombination is different from the version information 16b related to the functional objects 27a, 27b, and 27c before recombination recorded in the management information 10. It is detected that there is a possibility that the storage destination specified in the subsequent functional objects 27d, 27e, and 27f has been changed. Then, the takeover processing unit 32 specifies the function objects 27a, 27b, and 27c separated from the device driver 20 by updating the device driver 20 (step S52), and the function objects 27d and 27d newly incorporated into the device driver 20 are included. It is determined whether or not the save destination of the setting value specified in 27e and 27f has been changed (step S53). As a result, when the setting value storage destination has not been changed (NO in step S53), the takeover processing unit 32 ends the process without particularly changing the setting value storage state of the registry 11 and the DEVMODE structure 12. To do.

一方、デバイスドライバ20の更新に伴い、設定値の保存先が変更されている場合(ステップS53でYES)、引継処理部32は、管理情報10から組み替え前の機能オブジェクト27a,27b,27cに関する設定値を取得する(ステップS54)。そして引継処理部32は、管理情報10から取得した設定値を、デバイスドライバ20の更新後の機能オブジェクト27d,27e,27fが指定している保存先に保存する(ステップS55)。   On the other hand, when the storage destination of the setting value is changed with the update of the device driver 20 (YES in step S53), the takeover processing unit 32 sets the settings related to the functional objects 27a, 27b, and 27c before the reorganization from the management information 10. A value is acquired (step S54). Then, the takeover processing unit 32 stores the setting value acquired from the management information 10 in the storage destination designated by the updated function objects 27d, 27e, and 27f of the device driver 20 (step S55).

以上でカスタマイズツール30による一連の処理が終了する。そしてカスタマイズツール30によって上述した一連の処理が行われることにより、ユーザーのカスタマイズ操作に基づいてデバイスドライバ20を更新することができると共に、更新後のデバイスドライバ20がレジストリ11及びDEVMODE構造体12に保存されている設定値を正常に参照できるようになる。そのため、デバイスドライバ20が更新された場合であっても、デバイスドライバ20を再インストールすることなく、デバイスドライバ20を正常に起動することができるようになる。   Thus, a series of processing by the customization tool 30 is completed. Then, by performing the above-described series of processing by the customization tool 30, the device driver 20 can be updated based on the user's customization operation, and the updated device driver 20 is saved in the registry 11 and the DEVMODE structure 12. It is possible to refer to the set value normally. For this reason, even when the device driver 20 is updated, the device driver 20 can be normally activated without reinstalling the device driver 20.

一方、デバイスドライバ20は、カスタマイズ操作に基づいて更新された後に起動するとき、設定値管理部22を機能させ、管理情報10の機能オブジェクト情報16に含まれるバージョン情報16bを書き換えると共に、レジストリ11及びDEVMODE構造体12のそれぞれに保存されている設定値を、レジストリ管理情報18及びDEVMODE構造体管理情報19のそれぞれにミラーリングして書き換えることにより、管理情報10を更新後のデバイスドライバ20に対応して更新する。   On the other hand, when the device driver 20 is activated after being updated based on the customization operation, the device driver 20 causes the setting value management unit 22 to function, rewrites the version information 16b included in the functional object information 16 of the management information 10, and the registry 11 and By mirroring and rewriting the setting values stored in each of the DEVMODE structures 12 to each of the registry management information 18 and the DEVMODE structure management information 19, the management information 10 corresponds to the updated device driver 20. Update.

したがって、ユーザーは、例えばセキュリティ印刷のために設定するIDやパスワードなどの識別情報の保存先をDEVMODE構造体12からレジストリ11に変更するカスタマイズ操作を行った場合でも、デバイスドライバ20を再インストールすることなく、速やかに更新後のデバイスドライバ20を起動させることができるため、デバイスドライバ20をカスタマイズする際の操作性が向上する。   Therefore, the user reinstalls the device driver 20 even when the user performs a customization operation for changing the storage destination of identification information such as an ID and password set for security printing from the DEVMODE structure 12 to the registry 11. In addition, since the updated device driver 20 can be activated promptly, the operability when customizing the device driver 20 is improved.

以上のように本実施形態の情報処理装置1は、デバイスドライバ20と、そのデバイスドライバ20をカスタマイズするカスタマイズツール30とを備えた構成である。そしてデバイスドライバ20は、ドライバ共通部21に対し、ユーザーが設定可能な機能ごとに設けられる複数の機能オブジェクト27a,27b,27cが組み込まれた構成であり、各機能オブジェクト27a,27b,27cにおいて機能ごとの設定値の保存先が指定されている。カスタマイズツール30は、そのようなデバイスドライバ20に組み込まれている機能オブジェクト27a,27b,27cをユーザーのカスタマイズ操作に基づいて組み替えることにより、デバイスドライバ20を更新する。   As described above, the information processing apparatus 1 according to the present embodiment includes the device driver 20 and the customization tool 30 that customizes the device driver 20. The device driver 20 has a configuration in which a plurality of function objects 27a, 27b, and 27c provided for each function that can be set by the user are incorporated in the driver common unit 21, and the function objects 27a, 27b, and 27c have functions. The save destination for each setting value is specified. The customization tool 30 updates the device driver 20 by rearranging the functional objects 27a, 27b, and 27c incorporated in the device driver 20 based on the user's customization operation.

そしてデバイスドライバ20は、複数の機能オブジェクト27a,27b,27cのそれぞれにおいて指定された保存先から各機能の設定値を読み出して表示すると共に、ユーザーによる各機能に対する設定操作に基づき、当該設定操作が行われた機能に対応する機能オブジェクト27a,27b,27cにおいて指定されている保存先の設定値を変更するUI処理部23と、複数の機能オブジェクト27a,27b,27cのそれぞれによって指定されている保存先の設定値をミラーリングして管理情報10として管理する設定値管理部22とを有している。またカスタマイズツール30は、ユーザーの指示操作に基づいてデバイスドライバ20に組み込まれている機能オブジェクト27a,27b,27cのうちの少なくとも1つを新規な機能オブジェクト27d,27e,27fに組み替える機能オブジェクト変更部31と、機能オブジェクト変更部31によって機能オブジェクトの組み替えが行われることに伴い、組み替え後の機能オブジェクト27d,27e,27fにおいて指定されている設定値の保存先が変更された場合、管理情報10から組み替え前の機能オブジェクト27a,27b,27cにおいて指定されていた保存先の設定値を読み出し、その設定値を組み替え後の機能オブジェクト27d,27e,27fにおいて指定されている保存先に保存する引継処理部32とを有している。   The device driver 20 reads out and displays the setting values of each function from the storage destination specified in each of the plurality of function objects 27a, 27b, and 27c, and performs the setting operation based on the setting operation for each function by the user. The UI processing unit 23 that changes the setting value of the storage destination specified in the function objects 27a, 27b, and 27c corresponding to the performed function, and the storage that is specified by each of the plurality of function objects 27a, 27b, and 27c. A setting value management unit 22 that mirrors the previous setting value and manages it as management information 10 is provided. In addition, the customization tool 30 is a functional object changing unit that rearranges at least one of the functional objects 27a, 27b, and 27c incorporated in the device driver 20 into new functional objects 27d, 27e, and 27f based on a user's instruction operation. 31 and when the functional object changing unit 31 performs the rearrangement of the functional objects, when the storage destination of the set values designated in the rearranged functional objects 27d, 27e, and 27f is changed, the management information 10 A take-over processing unit that reads the setting value of the storage destination specified in the functional objects 27a, 27b, and 27c before the rearrangement and stores the setting value in the storage destination specified in the functional objects 27d, 27e, and 27f after the rearrangement. 32 and There.

上記構成を有する情報処理装置1によれば、カスタマイズツール30がユーザーの指示操作に基づいてデバイスドライバ20を更新することに伴い、デバイスドライバ20に新たに組み込まれた機能オブジェクト27d,27e,27fのそれぞれにおいて指定されている保存先に更新前の設定値を保存する。そのため、デバイスドライバ20が更新された場合であっても、デバイスドライバ20は更新前の設定値を正常に引き継いで参照できるようになり、印刷設定画面G1などの表示画面を正常に表示することができる。   According to the information processing apparatus 1 having the above configuration, as the customization tool 30 updates the device driver 20 based on a user's instruction operation, the function objects 27d, 27e, and 27f newly incorporated in the device driver 20 are updated. The setting value before update is stored in the storage location specified in each. Therefore, even when the device driver 20 is updated, the device driver 20 can normally take over and refer to the setting value before the update, and can normally display the display screen such as the print setting screen G1. it can.

また情報処理装置1がデバイスごとに設けられる複数のデバイスドライバ20を備えている場合、機能オブジェクト変更部31は、複数のデバイスドライバ20のそれぞれに組み込まれている機能オブジェクトを組み替え可能であり、引継処理部32は、複数のデバイスドライバ20のうち、機能オブジェクト変更部31によって機能オブジェクトの組み替えが行われたデバイスドライバ20の設定値管理部22が管理している管理情報10から組み替え前の機能オブジェクトにおいて指定されていた保存先の設定値を読み出し、その設定値を組み替え後の機能オブジェクトにおいて指定されている保存先に保存する。このような構成によれば、複数のデバイスドライバ20のいずれが更新された場合であっても、更新されたデバイスドライバ20は更新前の設定値を正常に引き継いで参照できるようになる。   When the information processing apparatus 1 includes a plurality of device drivers 20 provided for each device, the function object changing unit 31 can rearrange the function objects incorporated in each of the plurality of device drivers 20 and takes over. The processing unit 32 is a functional object before recombination from the management information 10 managed by the setting value management unit 22 of the device driver 20 in which the functional object is rearranged by the functional object changing unit 31 among the plurality of device drivers 20. The setting value of the storage destination specified in is read, and the setting value is stored in the storage destination specified in the rearranged functional object. According to such a configuration, even if any of the plurality of device drivers 20 is updated, the updated device driver 20 can normally take over and refer to the setting value before the update.

以上、本発明に関する一実施形態について説明したが、本発明は上記実施形態において説明した内容のものに限られるものではなく、種々の変形例が適用可能である。   As mentioned above, although one embodiment related to the present invention was described, the present invention is not limited to the contents described in the above embodiment, and various modifications can be applied.

例えば上記実施形態では、デバイスドライバ20がプリンタに対して印刷ジョブを出力する際にユーザーが各種印刷設定を行うためのプリンタドライバとして構成される場合を例示した。しかし、デバイスドライバ20は、プリンタドライバに限られるものではない。例えば、情報処理装置1の外部デバイスとしてファクシミリ装置が設けられている場合、デバイスドライバ20は、そのファクシミリ装置に対してジョブを出力するファクシミリドライバであっても構わない。   For example, in the above-described embodiment, the case where the device driver 20 is configured as a printer driver for the user to perform various print settings when the print job is output to the printer is illustrated. However, the device driver 20 is not limited to a printer driver. For example, when a facsimile apparatus is provided as an external device of the information processing apparatus 1, the device driver 20 may be a facsimile driver that outputs a job to the facsimile apparatus.

また上記実施形態では、情報処理装置1に予めデバイスドライバ9aとカスタマイズプログラム9bとがインストールされている場合について説明した。これらのプログラム、すなわちデバイスドライバ9a及びカスタマイズプログラム9bのそれぞれは、CD−ROMなどのコンピュータ読み取り可能な記録媒体に記録された状態で提供されるものであっても良いし、またネットワークを介してダウンロードすることにより提供されるものであっても良い。そのため、情報処理装置1へのインストールは、記録媒体を読み取ることによって行われるものであっても良いし、またネットワークを介してダウンロードすることによって行われるものであっても良い。   In the above-described embodiment, the case where the device driver 9a and the customization program 9b are installed in the information processing apparatus 1 in advance has been described. Each of these programs, that is, the device driver 9a and the customization program 9b may be provided in a state recorded in a computer-readable recording medium such as a CD-ROM, or may be downloaded via a network. It may be provided by doing. Therefore, the installation on the information processing apparatus 1 may be performed by reading a recording medium, or may be performed by downloading via a network.

また上記実施形態では、設定値の保存先としてレジストリ11及びDEVMODE構造体12のいずれかが指定される場合を例示した。しかし、設定値の保存先は、必ずしもレジストリ11やDEVMODE構造体12に限られるものではなく、任意の記憶手段が保存先として指定されるものであっても構わない。   In the above-described embodiment, the case where either the registry 11 or the DEVMODE structure 12 is specified as the setting value storage destination is illustrated. However, the save destination of the setting value is not necessarily limited to the registry 11 or the DEVMODE structure 12, and any storage means may be designated as the save destination.

1 情報処理装置
9a デバイスドライバ(ドライバプログラム)
9b カスタマイズプログラム
10 管理情報
11 レジストリ
12 DEVMODE構造体
20 デバイスドライバ
21 ドライバ共通部
22 設定値管理部
23 UI処理部(ユーザーインタフェース部)
24 描画処理部
27a,27b,27c 機能オブジェクト
27d,27e,27f 機能オブジェクト
30 カスタマイズツール
31 機能オブジェクト変更部
32 引継処理部
33 機能定義データ取得部
34 機能定義データ編集部
35 機能オブジェクト生成部
36 組替処理部
37 バージョン比較部
38 データ構造更新部
1 Information processing device 9a Device driver (driver program)
9b Customized program 10 Management information 11 Registry 12 DEVMODE structure 20 Device driver 21 Driver common part 22 Setting value management part 23 UI processing part (user interface part)
24 drawing processing unit 27a, 27b, 27c functional object 27d, 27e, 27f functional object 30 customization tool 31 functional object change unit 32 takeover processing unit 33 function definition data acquisition unit 34 function definition data editing unit 35 function object generation unit 36 reclassification Processing unit 37 Version comparison unit 38 Data structure update unit

Claims (9)

ユーザーが設定可能な機能ごとに設けられ、各機能の設定値の保存先を指定する複数の機能オブジェクトが組み込まれたデバイスドライバと、
前記デバイスドライバに組み込まれた機能オブジェクトをカスタマイズするカスタマイズツールと、
を備え、
前記デバイスドライバは、
前記複数の機能オブジェクトのそれぞれにおいて指定された保存先から各機能の設定値を読み出して表示すると共に、ユーザーによる各機能に対する設定操作に基づき、当該設定操作が行われた機能に対応する機能オブジェクトにおいて指定されている保存先の設定値を変更するユーザーインタフェース部と、
前記複数の機能オブジェクトのそれぞれによって指定されている保存先の設定値をミラーリングして管理情報として管理する設定値管理部と、
を有し、
前記カスタマイズツールは、
ユーザーによる指示操作に基づいて前記デバイスドライバに組み込まれている少なくとも1つの機能オブジェクトを新規な機能オブジェクトに組み替える機能オブジェクト変更部と、
前記機能オブジェクト変更部によって機能オブジェクトの組み替えが行われることに伴い、組み替え後の機能オブジェクトにおいて指定されている保存先が変更された場合、前記管理情報から組み替え前の機能オブジェクトにおいて指定されていた保存先の設定値を読み出し、該設定値を組み替え後の機能オブジェクトにおいて指定されている保存先に保存する引継処理部と、
を有することを特徴とする情報処理装置。
A device driver that is provided for each function that can be set by the user and that includes a plurality of function objects that specify the storage destination of the setting value of each function;
A customization tool for customizing functional objects incorporated in the device driver;
With
The device driver is
In the function object corresponding to the function for which the setting operation is performed based on the setting operation for each function by the user, while reading the setting value of each function from the storage destination specified in each of the plurality of function objects A user interface part for changing the setting value of the specified storage destination;
A setting value management unit that mirrors the setting value of the storage destination designated by each of the plurality of functional objects and manages it as management information;
Have
The customization tool is
A functional object changing unit that rearranges at least one functional object incorporated in the device driver into a new functional object based on an instruction operation by a user;
When the storage destination specified in the functional object after the rearrangement is changed due to the rearrangement of the functional object by the functional object changing unit, the storage specified in the functional object before the rearrangement from the management information A take-over processing unit that reads the previous set value and saves the set value in the save destination specified in the functional object after the rearrangement;
An information processing apparatus comprising:
前記設定値管理部は、前記引継処理部によって組み替え後の機能オブジェクトにおいて指定されている保存先に設定値が保存された後に、前記管理情報を更新することを特徴とする請求項1に記載の情報処理装置。   The said setting value management part updates the said management information, after a setting value is preserve | saved at the preservation | save destination designated in the functional object after recombination by the said inheritance process part. Information processing device. デバイスごとに設けられた複数の前記デバイスドライバを備えており、
前記機能オブジェクト変更部は、前記複数のデバイスドライバのそれぞれに組み込まれている機能オブジェクトを組み替え可能であり、
前記引継処理部は、前記複数のデバイスドライバのうち、前記機能オブジェクト変更部によって機能オブジェクトの組み替えが行われたデバイスドライバの前記設定値管理部が管理している前記管理情報から組み替え前の機能オブジェクトにおいて指定されていた保存先の設定値を読み出すことを特徴とする請求項1又は2に記載の情報処理装置。
A plurality of the device drivers provided for each device;
The function object changing unit is capable of rearranging the function objects incorporated in each of the plurality of device drivers,
The takeover processing unit is a functional object before recombination from the management information managed by the setting value management unit of the device driver in which the functional object is recombined by the functional object changing unit among the plurality of device drivers. The information processing apparatus according to claim 1, wherein the setting value of the storage destination specified in step 1 is read out.
前記設定値管理部は、前記複数の機能オブジェクトのそれぞれに関する情報を前記管理情報に記録して管理し、
前記引継処理部は、前記機能オブジェクト変更部によって機能オブジェクトの組み替えが行われることに伴い、組み替え後の機能オブジェクトに関する情報が前記管理情報に記録されている組み替え前の機能オブジェクトに関する情報と異なる場合に、組み替え後の機能オブジェクトにおいて指定されている保存先が変更されたことを検知することを特徴とする請求項1乃至3のいずれかに記載の情報処理装置。
The set value management unit records and manages information on each of the plurality of functional objects in the management information;
When the functional object changing unit performs the reassignment of the functional object, the takeover processing unit, when the information about the functional object after the rearrangement is different from the information about the functional object before the rearrangement recorded in the management information The information processing apparatus according to claim 1, wherein the information processing apparatus detects that the storage destination specified in the functional object after the rearrangement has been changed.
前記設定値管理部は、前記機能オブジェクト変更部によって前記デバイスドライバに組み込まれている少なくとも1つの機能オブジェクトが新規な機能オブジェクトに組み替えられることに伴い、前記管理情報に記録されている機能オブジェクトに関する情報を更新することを特徴とする請求項4に記載の情報処理装置。   The set value management unit is information related to the functional object recorded in the management information when the functional object changing unit reassigns at least one functional object incorporated in the device driver to a new functional object. The information processing apparatus according to claim 4, wherein the information processing apparatus is updated. 前記機能オブジェクト変更部は、
前記デバイスドライバに組み込まれている少なくとも1つの機能オブジェクトに対応する既存の機能定義データを取得する機能定義データ取得部と、
前記機能定義データ取得部によって取得された機能定義データをユーザーによる指示操作に基づいて編集する機能定義データ編集部と、
前記機能定義データ編集部によって編集された機能定義データに基づき、新規な機能オブジェクトを生成する機能オブジェクト生成部と、
を有することを特徴とする請求項1乃至5のいずれかに記載の情報処理装置。
The function object changing unit
A function definition data acquisition unit that acquires existing function definition data corresponding to at least one function object incorporated in the device driver;
A function definition data editing unit for editing the function definition data acquired by the function definition data acquiring unit based on an instruction operation by a user;
A function object generation unit that generates a new function object based on the function definition data edited by the function definition data editing unit;
6. The information processing apparatus according to claim 1, further comprising:
前記設定管理部は、前記ユーザーインタフェース部によって各機能オブジェクトにおいて指定されている保存先の設定値が変更される都度、該保存先の設定値をミラーリングして前記管理情報を更新することを特徴とする請求項1乃至6のいずれかに記載の情報処理装置。   The setting management unit updates the management information by mirroring the setting value of the storage destination every time the setting value of the storage destination specified in each functional object is changed by the user interface unit. The information processing apparatus according to any one of claims 1 to 6. ユーザーが設定可能な機能ごとに設けられた複数の機能オブジェクトが組み込まれており、各機能オブジェクトにおいて機能ごとの設定値の保存先が指定されると共に、前記複数の機能オブジェクトのうちの任意の機能オブジェクトを組み替えることによってカスタマイズが可能なデバイスドライバであって、情報処理装置を、
前記複数の機能オブジェクトのそれぞれにおいて指定された保存先から各機能の設定値を読み出して表示すると共に、ユーザーによる各機能に対する設定操作に基づき、当該設定操作が行われた機能に対応する機能オブジェクトにおいて指定されている保存先の設定値を変更するユーザーインタフェース部、及び、
前記複数の機能オブジェクトのそれぞれによって指定されている保存先の設定値をミラーリングして管理情報として管理する設定値管理部、
として機能させることを特徴とするデバイスドライバ。
A plurality of function objects provided for each function that can be set by the user are incorporated, a setting value storage destination for each function is designated in each function object, and an arbitrary function of the plurality of function objects A device driver that can be customized by rearranging objects.
In the function object corresponding to the function for which the setting operation is performed based on the setting operation for each function by the user, while reading the setting value of each function from the storage destination specified in each of the plurality of function objects A user interface part for changing the setting value of the designated storage destination, and
A setting value management unit that mirrors the setting value of the storage destination designated by each of the plurality of functional objects and manages it as management information;
Device driver characterized by functioning as
情報処理装置にインストールされているデバイスドライバに組み込まれた機能オブジェクトをカスタマイズするためのカスタマイズプログラムであって、前記情報処理装置を、
ユーザーによる指示操作に基づいて前記デバイスドライバに組み込まれている少なくとも1つの機能オブジェクトを新規な機能オブジェクトに組み替える機能オブジェクト変更部、及び、
前記機能オブジェクト変更部によって機能オブジェクトの組み替えが行われることに伴い、組み替え後の機能オブジェクトにおいて指定されている保存先が変更された場合、前記デバイスドライバにおいて管理されている管理情報から組み替え前の機能オブジェクトにおいて指定されていた保存先の設定値を読み出し、該設定値を組み替え後の機能オブジェクトにおいて指定されている保存先に保存する引継処理部、
として機能させることを特徴とするカスタマイズプログラム。
A customization program for customizing a function object incorporated in a device driver installed in an information processing apparatus, the information processing apparatus comprising:
A function object changing unit that rearranges at least one function object incorporated in the device driver into a new function object based on an instruction operation by a user; and
The function before recombination from the management information managed in the device driver when the storage destination specified in the functional object after recombination is changed as the functional object is rearranged by the functional object changing unit A take-over processing unit that reads the setting value of the storage destination specified in the object and stores the setting value in the storage destination specified in the functional object after the rearrangement,
Customized program characterized by functioning as
JP2013192566A 2013-09-18 2013-09-18 Information processing apparatus, device driver and customization program Expired - Fee Related JP6167788B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013192566A JP6167788B2 (en) 2013-09-18 2013-09-18 Information processing apparatus, device driver and customization program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013192566A JP6167788B2 (en) 2013-09-18 2013-09-18 Information processing apparatus, device driver and customization program

Publications (2)

Publication Number Publication Date
JP2015060337A true JP2015060337A (en) 2015-03-30
JP6167788B2 JP6167788B2 (en) 2017-07-26

Family

ID=52817830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013192566A Expired - Fee Related JP6167788B2 (en) 2013-09-18 2013-09-18 Information processing apparatus, device driver and customization program

Country Status (1)

Country Link
JP (1) JP6167788B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017068655A (en) * 2015-09-30 2017-04-06 富士通株式会社 Information processing apparatus, method, and program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004326601A (en) * 2003-04-25 2004-11-18 Canon Inc Print controller, user interface, print control method, computer program, and computer readable recording medium
JP2009037506A (en) * 2007-08-03 2009-02-19 Ricoh Co Ltd Printing control apparatus
JP2009164902A (en) * 2008-01-07 2009-07-23 Canon Inc Distribution apparatus, image processing device, monitoring system and information processing method
JP2009245098A (en) * 2008-03-31 2009-10-22 Seiko Epson Corp Program-updating method and computer system
JP2011128944A (en) * 2009-12-18 2011-06-30 Konica Minolta Business Technologies Inc Printing system and program
JP2013240946A (en) * 2012-05-22 2013-12-05 Seiko Epson Corp Updating apparatus, updating method, and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004326601A (en) * 2003-04-25 2004-11-18 Canon Inc Print controller, user interface, print control method, computer program, and computer readable recording medium
JP2009037506A (en) * 2007-08-03 2009-02-19 Ricoh Co Ltd Printing control apparatus
JP2009164902A (en) * 2008-01-07 2009-07-23 Canon Inc Distribution apparatus, image processing device, monitoring system and information processing method
JP2009245098A (en) * 2008-03-31 2009-10-22 Seiko Epson Corp Program-updating method and computer system
JP2011128944A (en) * 2009-12-18 2011-06-30 Konica Minolta Business Technologies Inc Printing system and program
JP2013240946A (en) * 2012-05-22 2013-12-05 Seiko Epson Corp Updating apparatus, updating method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017068655A (en) * 2015-09-30 2017-04-06 富士通株式会社 Information processing apparatus, method, and program

Also Published As

Publication number Publication date
JP6167788B2 (en) 2017-07-26

Similar Documents

Publication Publication Date Title
JP5871583B2 (en) Document management apparatus, control method therefor, and program
JP6838286B2 (en) Information processing equipment, installer and printer driver
US10558405B2 (en) Information processing apparatus and driver customizing method
JP2007272763A (en) Module installation method and device
JP4338210B2 (en) Image management apparatus, image management method, and program
US20150082222A1 (en) Information processing program product, information processing apparatus, and information processing system
JP2004102498A (en) Gui application development supporting device, gui display device and method, and its computer program
JP2015212879A (en) Information processing apparatus and control method of the same, and program
US20130278954A1 (en) Information processing apparatus, control method, and storage medium
JP6147139B2 (en) Information processing apparatus, control method therefor, and computer program
JP6167788B2 (en) Information processing apparatus, device driver and customization program
US20160165097A1 (en) Information processing apparatus, information processing method, and program
JP5525740B2 (en) Virtual appliance server management method and system
JP2019067131A (en) Image forming device and control method thereof
JP2005242827A (en) Information processing method, information processor, and program
JP6331431B2 (en) Information processing system, control method and program thereof, and information processing server, control method and program thereof
JP6482698B2 (en) Network device, network device control method, and program
JPH11143701A (en) Computer system having design supporting function of high available system
JP6580920B2 (en) Information processing apparatus, method for updating operating environment setting information of information processing apparatus, and program for updating operating environment setting information of information processing apparatus
JP2006215665A (en) Data management device, data management system, data processor, data management method, program, and storage medium
JP6905111B2 (en) Systems including management devices and information processing devices, information processing devices, their control methods, and programs
JP2006011950A (en) Installer creating apparatus, its method, and program therefor
JP2015060312A (en) Program, information processing apparatus, and information processing system
JP6296852B2 (en) Network device, network device control method, and program
KR100668070B1 (en) Apparatus and method for editting the function of a computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160518

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170406

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: 20170530

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170612

R150 Certificate of patent or registration of utility model

Ref document number: 6167788

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees