JP2008102838A - Information processing method and program - Google Patents

Information processing method and program Download PDF

Info

Publication number
JP2008102838A
JP2008102838A JP2006286407A JP2006286407A JP2008102838A JP 2008102838 A JP2008102838 A JP 2008102838A JP 2006286407 A JP2006286407 A JP 2006286407A JP 2006286407 A JP2006286407 A JP 2006286407A JP 2008102838 A JP2008102838 A JP 2008102838A
Authority
JP
Japan
Prior art keywords
status monitor
user interface
printer
printing
status
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.)
Withdrawn
Application number
JP2006286407A
Other languages
Japanese (ja)
Inventor
Hideo Natori
英夫 名取
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006286407A priority Critical patent/JP2008102838A/en
Publication of JP2008102838A publication Critical patent/JP2008102838A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reduce the frequency in display of a warning dialog which is displayed in a protection mode, when a printer driver called from a process operating in the protection mode starts a status monitor for displaying a status of a printer. <P>SOLUTION: A status monitor starting part determines whether a process is in the protection mode or not. In the case that the process is determined to be in the protection mode, it is determined whether a status monitor starting program exists or not, and the status monitor is started with low authority when the status monitor starting program doesn't exist, and the status monitor is started by using the status monitor starting program when this program exists. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、例えばプリンタにより印刷を行わせた場合等に、そのプリンタの状態を監視する機能を有する印刷制御方法及びプログラムに関する。   The present invention relates to a print control method and program having a function of monitoring the status of a printer when printing is performed by, for example, a printer.

プリンタによる印刷処理過程において、印刷を開始したものの紙詰まりで印刷が途中で停止したり、インク切れにより出力結果に何も印字されていなかったりといった状況は多々起こり得る。こういった場合、ユーザが印刷に失敗したプリンタを眺めて印刷失敗の原因を特定するのは困難である。そこでインク切れや紙詰まりといった異常なプリンタの状態(以下ステータス)は、LEDの点滅やブザーなどでユーザに知らされていた。   In the printing process by the printer, there are many situations in which printing is started but printing stops halfway due to a paper jam or nothing is printed in the output result due to running out of ink. In such a case, it is difficult for the user to identify the cause of the print failure by looking at the printer that failed to print. Therefore, an abnormal printer state (hereinafter referred to as status) such as out of ink or paper jam has been informed to the user by blinking an LED or a buzzer.

しかし、プリンタが異常状態をユーザに通知する機能を有していても、ユーザがそのパターンを全て覚えておくか、マニュアル等を逐一参照しなければ、実際にどのようなステータス異常が起こっているかを理解することは出来なかった。また、プリンタの能力向上に伴い検知すべきステータスが増えたことで、全てのステータスを単純なパターンで表すのは困難となった。   However, even if the printer has a function to notify the user of an abnormal state, what kind of status abnormality actually occurs unless the user remembers all the patterns or refers to the manual etc. I could not understand. In addition, since the statuses to be detected have increased along with the improvement of printer capabilities, it has become difficult to represent all statuses in a simple pattern.

そこで様々なプリンタステータスをユーザの手元で、グラフィカルに、かつリアルタイムに提示するツールとして、プリンタとコンピュータの双方向通信を利用したステータスモニタが開発された。   Therefore, a status monitor using two-way communication between a printer and a computer has been developed as a tool for presenting various printer statuses graphically and in real time at hand.

ステータスモニタによるプリンタの様々なステータスの表示の仕方には幾つかの実現手法がある。例えば、ステータスモニタが自らプリンタとの双方向通信をし、プリンタから返却された情報を元に行うものがある。また、マイクロソフト(登録商標)社のオペレーティングシステム(以下OS)の一つであるWindows(登録商標)では、プリントデータをスプールしてから出力する印刷サポート機能を有している。このOSの印刷サポート機能により、ランゲージモニタと呼ばれるモジュールが動作し、IEEE1284やUSB1.1などに準拠した双方向通信によってコンピュータに接続された印刷装置との間で通信を行う。従って、各印刷ジョブの排紙完了や印刷装置内で発生したエラー情報などを知ることが可能となる。このランゲージモニタを介してプリンタから返却された情報をステータスモニタが得て、ステータスを表示することができる。   There are several ways to display various printer statuses by the status monitor. For example, there is a status monitor that performs bi-directional communication with a printer and performs based on information returned from the printer. In addition, Windows (registered trademark), which is one of operating systems (hereinafter referred to as OS) of Microsoft (registered trademark), has a print support function for outputting print data after spooling. With this OS print support function, a module called a language monitor operates and communicates with a printing apparatus connected to a computer by bidirectional communication conforming to IEEE1284 or USB1.1. Accordingly, it is possible to know the completion of the discharge of each print job, error information generated in the printing apparatus, and the like. The status monitor can obtain the information returned from the printer via the language monitor and display the status.

通常、ステータスモニタはプリンタドライバを構成するモジュールの一つとして実現される。   Normally, the status monitor is realized as one of the modules constituting the printer driver.

印刷中のプリンタのステータスを表示するために、通常はアプリケーションが印刷を実行した時に、プリンタドライバにより自動的にステータスモニタが起動される。また、プリンタドライバによっては、ユーザがステータスモニタを起動できるようなユーザインタフェースを備えているものもある。アプリケーションが印刷を実行した時に自動的にステータスモニタが起動される場合、実際にステータスモニタを起動するプリンタドライバのモジュールは、前述したランゲージモニタか、ユーザインタフェースを提供するユーザインタフェースドライバであることが多い。   In order to display the status of the printer being printed, a status monitor is automatically activated by the printer driver, usually when the application executes printing. Some printer drivers have a user interface that allows the user to activate the status monitor. When the status monitor is automatically started when the application executes printing, the printer driver module that actually starts the status monitor is often the language monitor described above or a user interface driver that provides a user interface. .

ところが、ステータスモニタが自動的に起動されるとアプリケーションのフォーカスが移ってしまったり、ステータスモニタのダイアログが突然表示されたりするため、ユーザによってはステータスモニタが自動的に起動されることを嫌うこともあり得る。その対策として、印刷時にステータスモニタを起動するかどうかをユーザを指定させるための設定項目を持つステータスモニタが考えられている。例えば「印刷時にステータスモニタを使用する」という設定項目がOFFに設定されているのであれば印刷開始時にステータスモニタが表示されなくなる。   However, when the status monitor is automatically started, the focus of the application shifts or the status monitor dialog is suddenly displayed, so some users may not like the status monitor to start automatically. possible. As a countermeasure, a status monitor having a setting item for allowing the user to specify whether to activate the status monitor during printing is considered. For example, if the setting item “use status monitor at the time of printing” is set to OFF, the status monitor is not displayed at the start of printing.

ここで、印刷を実行するアプリケーションであるが、印刷以外にも様々な機能を有する。通常、印刷を行うアプリケーションは印刷を行うための文書を作成するか、あるいはコンピュータやネットワーク上の記憶装置から文書を取得し印刷を行う。ここでアプリケーションにより取得される文書としては、ユーザ自身が過去に作成した文書や、他者が作成した文書が考えられる。仮にアプリケーションにセキュリティ上の欠陥があり、他者が作成した文書に悪意のある仕掛がしてあると、ユーザが使用するコンピュータは甚大な被害を被りかねない。特にインターネットと通信するアプリケーションは、不明なソースから信頼性の低いコンテンツをダウンロードするため、他のプログラムよりも悪用されるリスクが高くなっている。このためOSとアプリケーションの双方にセキュリティを向上させ、安全性を高めるための工夫がなされている。   Here, the application executes printing, but has various functions other than printing. Usually, an application that performs printing creates a document for printing, or acquires a document from a computer or a storage device on a network and performs printing. Here, the document acquired by the application may be a document created by the user in the past or a document created by another person. If an application has a security flaw and a document created by another person has a malicious mechanism, the computer used by the user may be seriously damaged. In particular, an application that communicates with the Internet downloads unreliable content from an unknown source, and therefore has a higher risk of being abused than other programs. For this reason, ingenuity has been made to improve security and enhance safety in both the OS and the application.

例えばマイクロソフト(登録商標)社のOSであるWindows(登録商標) Vista(登録商標)で動作するアプリケーションの中には保護モードでの動作をサポートしているものがある。保護モードのプロセスは整合性レベルと呼ばれるOSのセキュリティ機能に基づいて動作する。保護モードは、権限を大幅に制限してプロセスを実行することによって、プロセス外部からの攻撃からユーザーやシステムを保護するための動作モードである。ここでプロセス外部からの攻撃とは、コンピュータ上でのデータの書き込み、変更、破壊や、あるいは悪意のある実行コードのインストールといったユーザに不利益をもたらす可能性のあるものを指す。保護モードで動作するプロセスの権限は著しく低いため、プロセス外部から攻撃された場合でも、システムやユーザのデータ領域が破壊されたり改竄される可能性は大幅に低減し、ユーザやシステムの重要なデータは守られることになる。   For example, some applications that operate in Windows (registered trademark) Vista (registered trademark), which is an OS of Microsoft (registered trademark), support operations in the protection mode. The protection mode process operates based on the OS security function called consistency level. The protection mode is an operation mode for protecting a user or a system from an attack from outside the process by executing the process with greatly restricted authority. Here, an attack from outside the process refers to an attack that may cause a disadvantage to the user, such as writing, changing, or destroying data on a computer or installing malicious execution code. Since the privilege of a process operating in protected mode is extremely low, even if an attack is performed from outside the process, the possibility that the data area of the system or the user will be destroyed or altered is greatly reduced. Will be protected.

図1は保護モードと整合性レベルに関する概念図である。OSのセキュリティ機能として提供される整合性レベルは、プロセスごとにセキュリティオブジェクトへのアクセスを制限する。セキュリティオブジェクトとは書き換え可能な論理資源を指しており、具体的にはファイルやレジストリが挙げられる。   FIG. 1 is a conceptual diagram regarding the protection mode and the consistency level. The consistency level provided as a security function of the OS restricts access to the security object for each process. A security object refers to a rewritable logical resource, and specifically includes a file and a registry.

整合性レベルは「高」「中」「低」の3段階に分かれており、それぞれの段階でプロセスに与えられる特権と、書き込みが行える領域が異なる。この関係を図1(A)に示す。高い整合性レベルで実行されるプロセスは管理者特権が与えられ、システム管理等に使用される重要なセキュリティオブジェクト領域に書き込みが可能となる。中間の整合性レベルで実行されるプロセスはユーザ権限が与えられ、ユーザ専用のセキュリティオブジェクト領域に書き込みが可能となる。低い整合性レベルで実行されるプロセスは信頼性の低い権限が与えられ、整合性の低いプロセス専用のセキュリティオブジェクト領域にのみ書き込みが可能となる。   The consistency level is divided into three stages of “high”, “medium”, and “low”, and the privilege given to the process and the area where writing can be performed are different in each stage. This relationship is shown in FIG. Processes executed at a high consistency level are given administrator privileges and can write to important security object areas used for system management and the like. A process executed at an intermediate consistency level is given user authority and can write to a security object area dedicated to the user. A process executed at a low consistency level is given an unreliable authority and can only write to a security object area dedicated to a process with low consistency.

ここで高い整合性レベルで実行されるプロセスは、中間の整合性レベルまたは低い整合性レベルのセキュリティオブジェクト領域に書き込みが可能である。同様に中間の整合性レベルで実行されるプロセスは低い整合性レベルのセキュリティオブジェクト領域に書き込みが可能である。   Here, a process executed at a high consistency level can write to a security object area of an intermediate consistency level or a low consistency level. Similarly, a process executed at an intermediate consistency level can write to a security object area with a lower consistency level.

保護モードと整合性レベルの関係を図1(B)に示す。保護モードで動作するプロセス100には、低い整合性レベルが得られている。つまり保護モードのプロセス100は低い権限で動作しているため、低い整合性レベルのセキュリティオブジェクト領域にのみ書き込み110が可能である。   FIG. 1B shows the relationship between the protection mode and the consistency level. A low consistency level is obtained for the process 100 operating in the protected mode. That is, since the process 100 in the protection mode operates with a low authority, the writing 110 can be performed only in the security object area having a low integrity level.

一方、保護モードのプロセス100が中間の整合性レベルや高い整合性レベルのセキュリティオブジェクトには書き込みを行う場合は、ブローカープロセスと呼ばれる外部のプロセスを仲介する。ユーザ専用の領域へ書き込み112を行う場合は中間の整合性レベルが与えられたユーザブローカー122を介してアクセスを行う。この際にプロセス100は低い整合性レベルであるため、ユーザブローカー122にアクセスを委託する場合にユーザー権限が必要となる。同様に、システム管理等の重要な領域へ書き込み114を行う場合は高い整合性レベルが与えられた管理ブローカー124を介してアクセスを行う。この際にプロセス100は低い整合性レベルであるため、管理ブローカー124にアクセスを委託する場合に管理者権限が必要となる。
特開2003−167718号公報 特開2004−038659号公報
On the other hand, when the protection mode process 100 writes to an intermediate consistency level or a security object with a high consistency level, it mediates an external process called a broker process. When writing 112 to a user-dedicated area, access is made via the user broker 122 given an intermediate consistency level. At this time, since the process 100 has a low consistency level, user authority is required when entrusting access to the user broker 122. Similarly, when writing 114 to an important area such as system management, access is performed via the management broker 124 to which a high consistency level is given. At this time, since the process 100 has a low consistency level, an administrator authority is required when entrusting access to the management broker 124.
JP 2003-167718 A JP 2004-038659 A

ところで、前記のような従来の技術には次のような解決すべき課題があった。   By the way, the conventional techniques as described above have the following problems to be solved.

前述したように、通常、ステータスモニタは、アプリケーションが印刷を開始した時にアプリケーションのプロセスから呼び出されたユーザインタフェースドライバにより自動的に起動される。また、ユーザインタフェースドライバがステータスモニタを起動するためのユーザインタフェースを備えている場合は、ユーザが任意のタイミングでステータスモニタを起動することも可能である。つまり、ステータスモニタはプリンタドライバを呼び出したプロセスとは別のプロセスとして作成される。   As described above, the status monitor is normally automatically activated by the user interface driver called from the application process when the application starts printing. Further, when the user interface driver has a user interface for starting the status monitor, the user can start the status monitor at an arbitrary timing. That is, the status monitor is created as a separate process from the process that called the printer driver.

しかし、ユーザインタフェースドライバを呼び出したプロセスが保護モードで動作している場合、ステータスモニタのプロセスに与えられる整合性レベルによっては、警告ダイアログが表示される場合がある。   However, when the process that called the user interface driver is operating in the protection mode, a warning dialog may be displayed depending on the consistency level given to the process of the status monitor.

保護モードで動作するアプリケーションが印刷を開始すると、OSの印刷サポート機能を介して、ユーザインタフェースドライバが呼び出される。そしてプリンタドライバはステータスモニタを起動する。例えばここで、プリンタドライバが中間の整合性レベルをステータスモニタのプロセスに与えると、ステータスモニタが起動される前に警告ダイアログが表示される。これは保護モードで動作するプロセスには低い整合性レベルが与えられているが、このプロセスから起動される別のプロセスの整合性レベルの方が高く、より広いセキュリティオブジェクトにアクセスできるためである。つまり、保護モードで動作するプロセスから呼び出されたユーザインタフェースドライバが、より高い権限をもつステータスモニタを起動するにあたり、ユーザの許可が必要になるためである。   When an application operating in the protection mode starts printing, the user interface driver is called via the OS print support function. The printer driver then activates the status monitor. For example, here, if the printer driver provides an intermediate consistency level to the status monitor process, a warning dialog is displayed before the status monitor is activated. This is because a process operating in protected mode is given a lower consistency level, but another process launched from this process has a higher consistency level and can access a wider security object. That is, the user interface driver called from the process operating in the protection mode needs the user's permission to start the status monitor with higher authority.

図7(A)は警告ダイアログの一例である。プリンタドライバにより起動されるステータスモニタのモジュールが直接実行可能なファイル形式、すなわちファイル名の拡張子がEXEとなる実行ファイルである場合に、警告ダイアログ700が表示される。警告ダイアログ700の起動許可ボタン720をユーザが押下することで、ステータスモニタが起動される。起動許可ボタン720が押下される時にチェックボックス721がONになっていると、以後、ステータスモニタが起動される時に警告ダイアログ700が表示されなくなる。   FIG. 7A shows an example of a warning dialog. When the status monitor module activated by the printer driver is a directly executable file format, that is, an executable file whose file name extension is EXE, a warning dialog 700 is displayed. When the user presses the activation permission button 720 of the warning dialog 700, the status monitor is activated. If the check box 721 is ON when the activation permission button 720 is pressed, the warning dialog 700 will not be displayed when the status monitor is activated thereafter.

図7(B)も警告ダイアログの一例である。プリンタドライバにより起動されるステータスモニタのモジュールが直接実行不可能な共有ライブラリ形式、すなわちファイル名の拡張子がDLLとなる実行ファイルをRundll32.exeで起動する場合に、警告ダイアログ750が表示される。警告ダイアログ750の起動許可ボタン770をユーザが押下することで、ステータスモニタが起動される。   FIG. 7B is also an example of a warning dialog. A shared library format in which the status monitor module activated by the printer driver cannot be directly executed, that is, an executable file whose file name extension is DLL is Rundll32. When starting with exe, a warning dialog 750 is displayed. When the user presses the activation permission button 770 of the warning dialog 750, the status monitor is activated.

警告ダイアログ750には、警告ダイアログ700のチェックボックス712に相当するものが存在しない。これは標準のDLL起動用プログラムRundll32.exeを用いてDLL形式の実行ファイルを起動する場合、DLL形式の実行ファイルの安全性をOSが保証できないためである。   There is no warning dialog 750 corresponding to the check box 712 of the warning dialog 700. This is the standard DLL startup program Rundll32. This is because when the executable file in the DLL format is started using exe, the OS cannot guarantee the safety of the executable file in the DLL format.

以上のように、保護モードで動作するアプリケーションからOSの印刷サポート機能を介して呼び出されたユーザインタフェースドライバが、ステータスモニタを起動する場合、警告ダイアログが表示される。前述したようにステータスモニタはアプリケーションが印刷を行う度に起動されるため、印刷を行う度に図7で例示した警告ダイアログが表示される。従って、警告ダイアログの起動許可ボタンあるいは起動不許可ボタンを押下するまで印刷処理が開始されず、印刷処理の手順が複雑になってしまうことが問題となる。   As described above, when the user interface driver called from the application operating in the protection mode via the print support function of the OS activates the status monitor, the warning dialog is displayed. As described above, since the status monitor is activated each time the application performs printing, the warning dialog illustrated in FIG. 7 is displayed each time printing is performed. Therefore, the printing process is not started until the activation permission button or the activation non-permission button in the warning dialog is pressed, and the printing process procedure becomes complicated.

また、印刷開始時にステータスモニタを使用しないように設定すれば警告ダイアログは表示されないと、ユーザは予想する可能性がある。しかし、ユーザインタフェースドライバにより起動されたステータスモニタ自身が、印刷時にステータスモニタを使用しない設定を参照している場合には問題となる。折角ユーザがステータスモニタを使用しないように設定を行っても、印刷開始時にステータスモニタが起動されてしまうため警告ダイアログが表示されてしまう欠点が有る。   If the setting is made so that the status monitor is not used at the start of printing, the user may expect that the warning dialog will not be displayed. However, a problem arises when the status monitor itself activated by the user interface driver refers to a setting that does not use the status monitor during printing. Even if the user is set not to use the status monitor, there is a drawback that a warning dialog is displayed because the status monitor is activated at the start of printing.

本発明は上記従来の問題点に鑑み、保護モードで動作するアプリケーションにより表示される警告ダイアログの出現頻度を抑制することを考慮した、ステータスモニタを有するプリンタドライバを提供することを目標とする。   In view of the above-described conventional problems, an object of the present invention is to provide a printer driver having a status monitor in consideration of suppressing the appearance frequency of a warning dialog displayed by an application operating in the protection mode.

上記目的を達成するために、本発明のプリンタドライバは以下のような構成を有する。   In order to achieve the above object, the printer driver of the present invention has the following configuration.

アプリケーションの描画命令を印刷コマンドとしてプリンタに供給するプリンタドライバであって、
前記プリンタドライバは少なくとも、
プリンタのステータスを表示するためのステータスモニタと、
アプリケーションの印刷要求に従ってOSの印刷サポート機能を介して呼び出されるユーザインタフェースドライバとを含み、
前記ユーザインタフェースドライバは前記ステータスモニタのプロセスを作成するにあたり、
前記ユーザインタフェースドライバを呼び出したプロセスが保護モードかどうかの判定と、
前記ステータスモニタのプロセスを作成するための起動用プログラムの有無の判定を行い、
前記起動用プログラムが存在する場合は前記起動用プログラムを用いて前記ステータスモニタのプロセスを作成し、
前記ユーザインタフェースドライバを呼び出したプロセスが保護モードであり且つ前記起動用プログラムが存在しない場合は、低権限で動作するようにステータスモニタのプロセスを作成ようにした。
A printer driver that supplies an application drawing command to a printer as a print command,
The printer driver is at least
A status monitor to display the status of the printer;
A user interface driver called through the OS print support function according to the print request of the application,
When the user interface driver creates the status monitor process,
Determining whether the process that invoked the user interface driver is in protected mode;
Determine whether there is a startup program for creating the status monitor process,
If the startup program exists, create the status monitor process using the startup program,
When the process that called the user interface driver is in the protection mode and the activation program does not exist, the status monitor process is created so as to operate with low authority.

また、前記ユーザインタフェースドライバは、前記起動用プログラムを用いて前記ステータスモニタのプロセスを作成する前に、ユーザインタフェースドライバを呼び出した保護モードで動作するプロセスにより上記警告ダイアログが表示された場合の操作方法を、ユーザに案内するようにした。   In addition, the user interface driver operates when the warning dialog is displayed by a process operating in a protection mode in which the user interface driver is called before the status monitor process is created using the activation program. To the user.

また、前記ユーザインタフェースドライバは、アプリケーションが印刷を開始した際に前記ステータスモニタを起動するかどうかを判定するようにした。   In addition, the user interface driver determines whether to activate the status monitor when the application starts printing.

上記構成により本発明によれば以下のような効果が得られる。   With the above configuration, the following effects can be obtained according to the present invention.

(1)保護モードで動作するプロセスから呼び出されたユーザインタフェースドライバから、保護モードの外で動作するステータスモニターのプロセスを作成する際に、保護モードのプロセスにより表示される警告ダイアログを抑制することが可能となり、快適な印刷環境をユーザに提供できる。   (1) When creating a status monitor process that operates outside the protection mode from a user interface driver called from a process that operates in the protection mode, the warning dialog displayed by the protection mode process is suppressed. This makes it possible to provide a comfortable printing environment to the user.

(2)保護モードのプロセスにより警告ダイアログが表示される場合には、警告ダイアログの操作方法を事前にユーザに案内することで、警告ダイアログが表示されないようにユーザを誘導することができ、快適な印刷環境をユーザに提供できる。   (2) When the warning dialog is displayed by the process of the protection mode, the user can be guided so that the warning dialog is not displayed by guiding the user to the operation method of the warning dialog in advance. A printing environment can be provided to the user.

(3)印刷時にステータスモニタを使用するかどうかの判定を、ユーザインタフェースドライバがステータスモニタを起動する前に行うことで、印刷開始時のステータスモニタの起動を最低限に抑えることが可能になり、警告ダイアログが表示される頻度を抑えることが出来る。   (3) By determining whether to use the status monitor at the time of printing before the user interface driver activates the status monitor, it is possible to minimize the activation of the status monitor at the start of printing, The frequency with which the warning dialog is displayed can be suppressed.

[実施例1]
以下、図面に示す実施例に基づき本発明を詳細に説明する。
[Example 1]
Hereinafter, the present invention will be described in detail based on embodiments shown in the drawings.

<プリンタドライバの動作>
図2は、本発明におけるプリンタドライバの実施形態を説明するために、印刷システムをOSの印刷サポート機能とプリンタドライバを中心に表したブロック図である。
<Printer driver operation>
FIG. 2 is a block diagram showing the printing system centered on the printing support function of the OS and the printer driver in order to describe the embodiment of the printer driver in the present invention.

図2において、本発明に関するプリンタドライバの中で特に重要となるモジュールは、グレーの網掛けがされたモジュールである。それらは、ユーザインタフェースドライバ205とステータスモニタ207、そしてステータスモニタ起動用プログラム233である。   In FIG. 2, a module that is particularly important in the printer driver according to the present invention is a module shaded in gray. These are a user interface driver 205, a status monitor 207, and a status monitor activation program 233.

本実施例におけるステータスモニタ207のモジュールは直接実行不可能な共有ライブラリ形式、つまりDLL形式である実行ファイルを想定している。DLL形式の実行ファイルは直接実行できないため、独立したプロセスとして実行するためには、DLL形式の実行ファイルを呼び出すためのDLL起動用プログラムが必要となる。OSがWindows(登録商標)である場合は、OS標準の汎用的なDLL起動用プログラムとしてRundll32.exeというプログラムが提供されており、図2の231で示される。ステータスモニタ起動用プログラム233もDLL形式の実行ファイルを呼び出すためのものであるが、ステータスモニタ専用のDLL起動用プログラムとなっている。   The module of the status monitor 207 in this embodiment assumes a shared library format that cannot be directly executed, that is, an executable file in the DLL format. Since an executable file in the DLL format cannot be directly executed, a DLL activation program for calling the executable file in the DLL format is required in order to execute it as an independent process. When the OS is Windows (registered trademark), Rundll32. A program called exe is provided and is indicated by reference numeral 231 in FIG. The status monitor activation program 233 is also used to call an executable file in the DLL format, but is a DLL activation program dedicated to the status monitor.

図2においてプリンタドライバとして提供されるモジュールはユーザインタフェースドライバ205、ステータスモニタ207、印刷データ編集処理部213、イメージ生成処理部215、そしてランゲージモニタ219となっている。ここで、ステータスモニタ起動用プログラム233はプリンタドライバに含めてもよいし、プリンタドライバには含めずに、プリンタドライバとは別のソフトウェアとしてインストールし、プリンタドライバに追加する形式にしてもよい。本実施例ではプリンタドライバには含めずに、プリンタドライバとは別のソフトウェアとしてインストールすることを想定している。   In FIG. 2, modules provided as a printer driver are a user interface driver 205, a status monitor 207, a print data editing processing unit 213, an image generation processing unit 215, and a language monitor 219. Here, the status monitor activation program 233 may be included in the printer driver, or may be installed as software different from the printer driver and not added to the printer driver, and added to the printer driver. In this embodiment, it is assumed that the software is not included in the printer driver but is installed as software different from the printer driver.

ステータスモニタ207は様々なプリンタのステータスをユーザの手元で、グラフィカルに、かつリアルタイムに提示する機能を有している。ステータスモニタ207の提示機能の例については図4を用いて後述する。前述したようにステータスモニタ207はDLL形式の実行ファイルであるから、231で示されるRundll32.exeやステータスモニタ起動用プログラム233を介して、ユーザインタフェースドライバ205によって起動される。ステータスモニタ207は起動された後、後述するランゲージモニタ219と通信を行うことでプリンタのステータスを取得し、ユーザにステータスの提示を行う。   The status monitor 207 has a function of presenting various printer statuses at the user's hand, graphically and in real time. An example of the presentation function of the status monitor 207 will be described later with reference to FIG. As described above, since the status monitor 207 is an executable file in the DLL format, the Rundll32. It is activated by the user interface driver 205 via exe and the status monitor activation program 233. After being activated, the status monitor 207 communicates with a language monitor 219 (to be described later) to acquire the printer status and present the status to the user.

ユーザインタフェースドライバ205は、一般に印刷に使用する用紙サイズや印刷方向、その他の属性を設定する機能を提供する。そして、これらの属性と設定値を印刷設定情報としてアプリケーションに返却する。同時に本発明におけるユーザインタフェースドライバ205はステータスモニタを起動するための機能を有している。そして、アプリケーションの印刷実行時にステータスモニタを起動したり、ユーザが任意のタイミングでステータスモニタを起動できるようにするためのユーザインタフェースを提供する。ユーザインタフェースドライバ205が提供するユーザインタフェースの例については図3を用いて後述する。   The user interface driver 205 generally provides a function for setting a paper size, a printing direction, and other attributes used for printing. These attributes and setting values are returned to the application as print setting information. At the same time, the user interface driver 205 in the present invention has a function for starting the status monitor. Then, a user interface is provided for starting the status monitor when printing the application, or enabling the user to start the status monitor at an arbitrary timing. An example of a user interface provided by the user interface driver 205 will be described later with reference to FIG.

アプリケーション201が作成した文書の各ページの印刷データは、OSの印刷サポート機能203を通じてスプールファイル209に一時的に蓄えられる。そして、これをプリンタドライバのモジュール群がイメージデータ(すなわちビットマップデータ)に展開し、プリンタが解釈可能な印刷コマンドに変換してプリンタ218に供給して印刷するよう構成されている。   The print data of each page of the document created by the application 201 is temporarily stored in the spool file 209 through the OS print support function 203. Then, the module group of the printer driver develops this into image data (that is, bitmap data), converts it into a print command interpretable by the printer, supplies it to the printer 218, and prints it.

アプリケーション201は作成した任意の文書の印刷にあたる。通常、ユーザが望む印刷結果を得るために、ユーザインタフェースドライバ205のユーザインタフェースを介して印刷設定情報を作成する。そして、アプリケーション201はOSの印刷サポート機能203に対して、印刷開始や印刷終了、文書の各ページの描画開始や描画終了を要求する。ここで、OSの印刷サポート機能203はアプリケーション201により上記印刷に関する要求が行われる度に、印刷イベントをユーザインタフェースドライバ205に通知する。   The application 201 prints an arbitrary document created. Usually, print setting information is created via the user interface of the user interface driver 205 in order to obtain a print result desired by the user. Then, the application 201 requests the OS print support function 203 to start and end printing, and start and end drawing of each page of the document. Here, the print support function 203 of the OS notifies the user interface driver 205 of a print event every time the application 201 makes a request for the printing.

ユーザインタフェースドライバ205は印刷開始の印刷イベントを受け取ると、ステータスモニター207を起動する。上述したようにステータスモニター207は直接実行できないため、ステータスモニタ起動用プログラム233が存在すれば、これを用いてステータスモニタ207を起動する。ステータスモニタ起動用プログラム233が存在しなければ231で示されるRundll32.exeを用いてステータスモニタ207を起動する。ユーザインタフェースドライバ205がステータスモニタ207を起動する詳細な手順は図8を用いて後述する。   When the user interface driver 205 receives a print event for starting printing, the user interface driver 205 activates the status monitor 207. As described above, since the status monitor 207 cannot be directly executed, if the status monitor activation program 233 exists, the status monitor 207 is activated using this program. If the status monitor activation program 233 does not exist, Rundll 32. The status monitor 207 is activated using exe. A detailed procedure for starting the status monitor 207 by the user interface driver 205 will be described later with reference to FIG.

アプリケーション201が印刷するために描画したデータはOSの印刷サポート機能により一旦スプールファイル209にスプールされる。そして、デスプール時にOSの印刷サポート機能によって、プリンタドライバのデスプールモジュール群211が呼び出される。デスプールモジュール群211はスプールファイル209に格納された描画データからプリンタ218が解釈可能な印刷コマンドに変換し、プリンタ218に供給する機能を有する。   Data drawn for printing by the application 201 is temporarily spooled in the spool file 209 by the print support function of the OS. Then, the despool module group 211 of the printer driver is called by the OS print support function during despooling. The despool module group 211 has a function of converting drawing data stored in the spool file 209 into a print command interpretable by the printer 218 and supplying the print command to the printer 218.

本実施例によけるプリンタドライバのデスプールモジュール群211は、印刷データ編集処理部213とイメージ生成処理部215、そしてランゲージモニタ219で構成されている。   The printer driver despool module group 211 according to this embodiment includes a print data editing processing unit 213, an image generation processing unit 215, and a language monitor 219.

印刷データ編集処理部213は、スプールファイル209から印刷すべき文書ページの印刷データと印刷設定情報を読み出し、逆順印刷のように印刷するページ順序を入れ換えたり、割付け印刷(N−up)のように複数の文書ページを1枚の印刷用紙に合成したりする編集処理機能を有する。そして、印刷データ編集処理部213は、編集処理した後の印刷データをイメージ生成処理部215に供給する。   The print data editing processing unit 213 reads the print data and print setting information of the document page to be printed from the spool file 209, changes the order of pages to be printed as in reverse order printing, or performs layout printing (N-up). It has an edit processing function for combining a plurality of document pages on a single print sheet. Then, the print data editing processing unit 213 supplies the print data after the editing process to the image generation processing unit 215.

イメージ生成処理部215は、まず、印刷データ編集処理部213から供給された編集処理済みの印刷データをもとにイメージデータに展開する。続いて、イメージ生成処理部215は、展開されたイメージデータをプリンタ218が解釈可能な印刷コマンドに変換し、変換した印刷コマンドをランゲージモニタ219に供給する。   First, the image generation processing unit 215 develops image data based on the edited print data supplied from the print data editing processing unit 213. Subsequently, the image generation processing unit 215 converts the developed image data into a print command that can be interpreted by the printer 218, and supplies the converted print command to the language monitor 219.

ランゲージモニタ219は、イメージ生成処理部215から供給された印刷コマンドを解釈しつつ、プリンタ218に印刷コマンドを供給する。そして、プリンタ218のステータスを取得し、ステータスモニタ207と通信を行い、プリンタ218のステータス情報として送信する。   The language monitor 219 supplies the print command to the printer 218 while interpreting the print command supplied from the image generation processing unit 215. The printer 218 acquires the status of the printer 218, communicates with the status monitor 207, and transmits the status information of the printer 218.

出力デバイスであるプリンタ218は、供給された印刷コマンドを解釈し、可視画像223を印刷用紙221に対して形成する機能を持つ。   The printer 218 as an output device has a function of interpreting a supplied print command and forming a visible image 223 on the print paper 221.

<ユーザインタフェース>
図3は本実施形態におけるユーザインタフェースドライバが提供する印刷設定ダイアログのうち、プリンタのメンテナンスを行う機能を選択するためのユーティリティ画面の一例を示す図である。ここではメンテナンス機能として、ヘッドの調整やクリーニングなどの、プリンタの機能を維持したり印刷時の動作音を調整したりするような機能や、プリンタのステータスを確認するためにステータスモニタを起動させるための機能を想定している。
<User interface>
FIG. 3 is a diagram showing an example of a utility screen for selecting a function for performing printer maintenance from the print setting dialog provided by the user interface driver according to the present embodiment. Here, as maintenance functions, functions such as head adjustment and cleaning, which maintain printer functions and adjust operation sounds during printing, and to start the status monitor to check the printer status It assumes the function of.

印刷設定ダイアログ301は、表示エリア302〜311、340〜348から構成される。印刷設定では表示する項目が非常に多いため、タブシートを使用して設定項目を内容ごとに分けて見やすい構成にするのが通例である。本実施形態でもタブを使用する。   The print setting dialog 301 includes display areas 302 to 311 and 340 to 348. Since there are a large number of items to be displayed in the print settings, it is common to use a tab sheet to divide the setting items according to the contents so that they are easy to see. Tabs are also used in this embodiment.

基本設定タブ302では、印刷の基本に関する内容を表示する。   In the basic setting tab 302, contents related to printing basics are displayed.

ページ設定タブ303は、用紙の大きさ、印刷方向、割付け印刷(N−up)などの各種ページ設定に関する内容を表示する。   A page setting tab 303 displays contents related to various page settings such as paper size, printing direction, and layout printing (N-up).

特殊効果タブ304は、各種画像補整やセピア調など特殊な効果を画像に与える場合に使用する機能の選択画面を表示する。   The special effect tab 304 displays a selection screen of functions used when special effects such as various image corrections and sepia tones are given to the image.

お気に入りタブ305は頻繁に使用する印刷設定などの保存と呼び出し機能を選択させる画面を表示する。   The favorites tab 305 displays a screen for selecting a frequently used print setting or the like and a recall function.

ユーティリティタブ306は、上述したようにステータスモニタを起動する機能や、ヘッドの調整やクリーニングなどの機能の選択画面を表示する。   The utility tab 306 displays a selection screen for selecting a function for starting the status monitor as described above and a function such as head adjustment and cleaning.

ボタン340〜347は、各々にプリンタを操作するための機能が割り当てられている。ユーザが各ボタンを押下することにより所定の印刷コマンドをスプールファイルを介してプリンタに送信し、ボタンで表現される各機能を実施することが可能になっている。クリーニングボタン340は印刷結果にかすれやスジ等が見られる場合に押下されることを想定しており、インクを吐出するオリフィスをクリーニングする機能を提供する。強力クリーニングボタン341はクリーニングボタン340よりも強力にオリフィスをクリーニングする機能を提供する。ヘッド位置調整ボタン342は吐出されたインクが印刷用紙で像を形成する際の精度を調整するために、プリンタヘッドの位置を調整する機能を提供する。ノズルチェックパターン印刷ボタン343はオリフィスにインクが固着し吐出不良が発生していないか確認するためのパターンを印刷する機能を提供する。電源オフボタン344はプリンタの電源をオフにする機能を提供する。自動電源設定ボタン345はプリンタの電源がオフであっても印刷コマンドが送信された場合自動的に電源をオンにする機能や、一定時間印刷コマンドが送信されない場合自動的に電源をオフにする機能を提供する。サイレント設定ボタン346はプリンタの印刷動作時の動作音を抑える設定するための機能を提供する。特殊設定ボタン347はプリンタのその他の動作モードの設定を行う機能を提供する。プリンタ状態の確認ボタン348を押下すると、ユーザインタフェースドライバはステータスモニタのプロセスを作成し、ステータスモニタの画面が表示されプリンタのステータスを確認することができる。ステータスモニタの画面については図4を用いて後述する。   Each of the buttons 340 to 347 is assigned a function for operating the printer. When the user presses each button, a predetermined print command is transmitted to the printer via the spool file, and each function represented by the button can be implemented. The cleaning button 340 is assumed to be pressed when fading, streaks, or the like are seen in the print result, and provides a function of cleaning the orifice that ejects ink. The powerful cleaning button 341 provides a function of cleaning the orifice more strongly than the cleaning button 340. The head position adjustment button 342 provides a function of adjusting the position of the printer head in order to adjust the accuracy when the ejected ink forms an image on the printing paper. The nozzle check pattern print button 343 provides a function of printing a pattern for confirming whether ink has adhered to the orifice and ejection failure has occurred. The power off button 344 provides a function for turning off the printer. The automatic power setting button 345 has a function of automatically turning on the power when a print command is transmitted even when the printer is turned off, or a function of automatically turning off the power when a print command is not transmitted for a certain period of time. I will provide a. The silent setting button 346 provides a function for setting to suppress the operation sound during the printing operation of the printer. The special setting button 347 provides a function for setting other operation modes of the printer. When the printer status confirmation button 348 is pressed, the user interface driver creates a status monitor process, and the status monitor screen is displayed so that the printer status can be confirmed. The status monitor screen will be described later with reference to FIG.

OKボタン308またはキャンセルボタン309を押下すると印刷設定ダイアログ301が閉じる。ヘルプボタン311はユーティリティタブ306の各メンテナンス項目に関する説明文を別ウィンドウで表示させることができる。   When the OK button 308 or the cancel button 309 is pressed, the print setting dialog 301 is closed. The help button 311 can display an explanation regarding each maintenance item in the utility tab 306 in a separate window.

<印刷開始時におけるステータスモニタ起動>
本実施例では、アプリケーションが印刷を開始する際に、ユーザインタフェースドライバがステータスモニタを起動する構成になっている。この手順を図5のタイミングチャートを用いて説明する。図5はアプリケーションの印刷開始時にユーザインタフェースドライバがステータスモニタを起動するタイミングチャートの一例である。
<Start status monitor when printing starts>
In this embodiment, the user interface driver starts the status monitor when the application starts printing. This procedure will be described with reference to the timing chart of FIG. FIG. 5 is an example of a timing chart in which the user interface driver activates the status monitor when printing of the application is started.

アプリケーションが印刷開始をOSの印刷サポート機能に要求すると(501)、OSの印刷サポート機能はユーザインタフェースドライバに印刷開始のイベントを通知する(503)。印刷開始のイベントを受け取ったユーザインタフェースドライバはステータスモニタを起動し、OSの印刷サポート機能に制御を返却する(505)。続けてOSの印刷サポート機能は実際の印刷開始の処理を行い、アプリケーションに制御を返却する(507)。このようにアプリケーションが印刷を実行する度にユーザインタフェースドライバはステータスモニタを起動する。   When the application requests the OS print support function to start printing (501), the OS print support function notifies the user interface driver of a print start event (503). Upon receiving the print start event, the user interface driver activates the status monitor and returns control to the OS print support function (505). Subsequently, the printing support function of the OS performs actual printing start processing and returns control to the application (507). Thus, every time the application executes printing, the user interface driver activates the status monitor.

以上のようにOSの印刷サポート機能がユーザインタフェースドライバに通知する印刷イベントを利用することで、ユーザインタフェースドライバがステータスモニタを起動することができる。ここでユーザインタフェースドライバはステータスモニタを起動する際の引数として、アプリケーションの印刷ジョブに関する情報を渡す。こうすることで、ステータスモニタはアプリケーションの印刷開始時に起動されたのか、あるいは、ユーザインタフェースのメンテナンス画面から起動されたのかを判定できるようになる。   As described above, the user interface driver can activate the status monitor by using the print event notified to the user interface driver by the OS print support function. Here, the user interface driver passes information related to the print job of the application as an argument when starting the status monitor. By doing so, it becomes possible to determine whether the status monitor is activated at the start of printing of the application or from the maintenance screen of the user interface.

なお、前述したように本実施例においてはステータスモニタはDLL形式の実行ファイルであるから、Rundll32.exeやステータスモニタ起動用プログラムを介して、ユーザインタフェースドライバによって起動される。ユーザインタフェースドライバによるステータスモニタ起動の手順は図8を用いて後述する。   As described above, in this embodiment, the status monitor is an executable file in the DLL format. It is activated by the user interface driver via exe or a status monitor activation program. The procedure for starting the status monitor by the user interface driver will be described later with reference to FIG.

<ステータスモニタ>
図4を用いてステータスモニタが表示する画面について説明する。ステータスモニタダイアログ400は表示エリア401〜413で構成される。
<Status monitor>
A screen displayed by the status monitor will be described with reference to FIG. The status monitor dialog 400 includes display areas 401 to 413.

メニュー401はステータスモニタの設定や表記機能を切替るためのメニューである。図示していないが、オプションメニューからは、アプリケーションの印刷時にステータスモニタを使用するかどうかを設定することができる。インクについてメニューを選択すると、表示中のプリンタで使用されるインクタンクやインクカートリッジの製品型番が、図示しない別ウィンドウにグラフィカルに表示される。ヘルプメニューを選択するとステータスモニタについてのヘルプ画面が表示される。   A menu 401 is a menu for switching status monitor settings and notation functions. Although not shown, it is possible to set whether to use the status monitor when printing the application from the option menu. When the menu is selected for ink, the product model number of the ink tank or ink cartridge used in the printer being displayed is graphically displayed in a separate window (not shown). When the help menu is selected, a help screen for the status monitor is displayed.

プリンタ情報タブ403にはプリンタに関するステータスが表示される。表示エリア405にはプリンタのステータスとインクの残量等がグラフィカルに表示される。表示エリア407は、プリンタのステータスとインクの残量等が文章で説明される。表示エリア409は印刷中のジョブがあれば、ジョブの所有者とジョブの名称、現在印刷中のページ数と総ページ数が表示される。印刷中止ボタン411を押下すると、印刷中のジョブがあれば印刷を中止することができる。印刷待ち一覧を表示ボタン413を押下すると、OSが標準機能として提供する図示しないキューウィンドウを呼び出すことができる。   The printer information tab 403 displays status regarding the printer. The display area 405 graphically displays the printer status, ink remaining amount, and the like. In the display area 407, the printer status, ink remaining amount, and the like are described in text. If there is a job being printed, the display area 409 displays the owner of the job, the name of the job, the number of pages currently being printed, and the total number of pages. When a print cancel button 411 is pressed, printing can be stopped if there is a job being printed. When a print wait list display button 413 is pressed, a queue window (not shown) provided as a standard function by the OS can be called.

なお、オプションメニューから印刷時にステータスモニタを使用するかどうかを設定することができるのは、アプリケーションが印刷を開始する度にステータスモニタが起動することをユーザが嫌う可能性があるためである。そのようなユーザはステータスモニタのオプションメニューから「印刷時にステータスモニタを使用する」設定をOFFにすれば良い。この「印刷時にステータスモニタを使用する」設定に着目したステータスモニタの処理手順について図6を用いて説明する。   Note that it is possible to set whether or not to use the status monitor at the time of printing from the option menu because the user may hate to start the status monitor every time the application starts printing. Such a user may turn off the “use status monitor during printing” setting from the option menu of the status monitor. A status monitor processing procedure focusing on the setting of “use status monitor during printing” will be described with reference to FIG.

図6は「印刷時にステータスモニタを使用する」設定に着目したステータスモニタの処理のフローチャートである。ステータスモニタは起動すると、まずS101で起動時にユーザインタフェースドライバから渡された引数に基づいて、アプリケーションの印刷開始時における起動かどうかを判定する。アプリケーションの印刷開始時における起動ならばS103に移り、アプリケーションの印刷開始時における起動でないならばS105に移る。   FIG. 6 is a flowchart of status monitor processing focusing on the “use status monitor during printing” setting. When the status monitor is activated, it is first determined in step S101 whether the application is activated at the start of printing based on an argument passed from the user interface driver at the time of activation. If the application is activated at the start of printing, the process proceeds to S103. If the application is not activated at the start of printing, the process proceeds to S105.

S103では共通記憶領域から印刷時使用フラグを読み込み、印刷時使用フラグがONかどうかを判定する。もしONであればS105に移り、ONでなければステータスモニタの処理を終了する。印刷時使用フラグは上述した「印刷時にステータスモニタを使用する」設定の設定内容に対応する。なお、プリンタドライバインストール時における印刷時使用フラグの初期値がONであることは言うまでもない。   In S103, the use flag at the time of printing is read from the common storage area, and it is determined whether or not the use flag at the time of printing is ON. If it is ON, the process proceeds to S105, and if it is not ON, the status monitor process is terminated. The use flag at the time of printing corresponds to the setting content of the “use status monitor at the time of printing” setting described above. Needless to say, the initial value of the printing use flag when the printer driver is installed is ON.

S105からS115がステータスモニタの処理ループとなっている。ここでは「印刷時にステータスモニタを使用する」設定に関してのみの処理を示す。S107ではユーザにより、「印刷時にステータスモニタを使用する」がOFFに設定されたかどうかを判定する。OFFに設定された場合はS109に移り、それ以外の場合はS111に移る。S109では印刷時使用フラグをOFFにする。   From S105 to S115 is a status monitor processing loop. Here, only the processing relating to the “use status monitor at the time of printing” setting is shown. In S107, it is determined whether or not “use status monitor during printing” is set to OFF by the user. If it is set to OFF, the process proceeds to S109, and otherwise, the process proceeds to S111. In S109, the printing use flag is turned OFF.

続いてS111では「印刷時にステータスモニタを使用する」がONに設定されたかを判定する。ONに設定された場合はS113に移り、それ以外の場合はS115に移る。S113では印刷時使用フラグをONにする。   Subsequently, in S111, it is determined whether “use status monitor during printing” is set to ON. If it is set to ON, the process proceeds to S113, and otherwise, the process proceeds to S115. In S113, the printing use flag is set to ON.

S115はステータスモニタの処理ループの終端であり、終了条件はステータスモニタが起動された条件により異なる。アプリケーションの印刷開始時にステータスモニタが起動された場合は、ユーザインタフェースドライバにより引数で指定された印刷ジョブの印刷処理が完了したことが終了条件となる。ユーザインタフェースドライバのメンテナンス画面から起動された場合は、ユーザによって明示的にステータスモニタの終了が指示されたことが終了条件となる。   S115 is the end of the status monitor processing loop, and the end condition differs depending on the condition under which the status monitor is activated. When the status monitor is activated when printing of the application is started, the end condition is that the print processing of the print job specified by the argument by the user interface driver is completed. When activated from the maintenance screen of the user interface driver, the end condition is that the end of the status monitor is instructed explicitly by the user.

続いてS117では印刷時使用フラグを、ファイルやレジストリ等の共通記憶領域に保存する。   In step S117, the printing use flag is stored in a common storage area such as a file or a registry.

このように、印刷時にステータスモニタを使用するかどうかの設定を、印刷時使用フラグとして保存することで、ステータスモニタだけではなくユーザインタフェースドライバも参照することができるようになる。なお、本実施例のステータスモニタは、S101とS103で印刷時にステータスモニタを使用するかどうかを判定しているが、この処理は必須ではない。なぜならば図8を用いて後述するように、本実施例ではユーザインタフェースドライバがステータスモニタを起動する前に判定を行うためである。ただし、従来のステータスモニタの処理を強調するために、図6のフローチャートもS101とS103の判定処理を入れ、従来の手順のままに示した。   As described above, the setting whether to use the status monitor at the time of printing is stored as the use flag at the time of printing, so that not only the status monitor but also the user interface driver can be referred to. Note that the status monitor of this embodiment determines whether to use the status monitor during printing in S101 and S103, but this process is not essential. This is because the user interface driver makes a determination before starting the status monitor in this embodiment, as will be described later with reference to FIG. However, in order to emphasize the process of the conventional status monitor, the determination process of S101 and S103 is also included in the flowchart of FIG.

<ステータスモニタ起動処理>
さて、以上説明したように、本実施例ではユーザインタフェースドライバがステータスモニタを起動する。ここで、ユーザインタフェースドライバを呼び出したプロセスが保護モードで動作している場合は、上述したようにステータスモニタを起動した時点で警告ダイアログが表示される。この警告ダイアログが表示される頻度を抑制するための、ユーザインタフェースドライバのステータスモニタの起動手順を図8のフローチャートに示す。ただし、図8ではアプリケーションが印刷を開始した際に着目したフローチャートとなっている。
<Status monitor start processing>
As described above, in this embodiment, the user interface driver activates the status monitor. If the process that called the user interface driver is operating in the protection mode, a warning dialog is displayed when the status monitor is activated as described above. FIG. 8 is a flowchart showing a procedure for starting the status monitor of the user interface driver for suppressing the frequency at which this warning dialog is displayed. However, FIG. 8 is a flowchart focused on when the application starts printing.

まず、S201で印刷時にステータスモニタを使用する設定がされているかどうかを見るために、共通記憶領域から印刷時使用フラグを読み出しONかどうかを判定する。印刷時使用フラグがONであればS203に移り、ONでなければ終了する。   First, in step S201, in order to check whether or not the setting to use the status monitor at the time of printing is made, it is determined whether or not the printing use flag is read from the common storage area. If the printing use flag is ON, the process proceeds to S203, and if not ON, the process ends.

S203では、ステータスモニタ起動用プログラムが印刷システムの記憶領域の中に存在するかどうかを判定する。ステータスモニタ起動用プログラムが存在しなければS205に移り、存在すればS231に移る。S231ではステータスモニタ起動用プログラムを介して、ステータスモニタのプロセスを作成した後に終了する。S231で作成するステータスモニタのプロセスには、ユーザ権限を与えると良い。ここで、ユーザインタフェースドライバを呼び出したプロセスが保護モードで動作している場合は、ユーザ権限で動作するステータスモニタのプロセスは保護モード(つまり低権限)ではないため、保護モードで動作するプロセスにより図7(A)に例示される警告ダイアログが表示される。逆にユーザインタフェースドライバを呼び出したプロセスが保護モードで動作していない場合は、警告ダイアログは表示されない。   In S203, it is determined whether or not the status monitor activation program exists in the storage area of the printing system. If the status monitor activation program does not exist, the process proceeds to S205, and if present, the process proceeds to S231. In step S231, the process ends after a status monitor process is created via the status monitor activation program. User authority may be given to the status monitor process created in S231. If the process that called the user interface driver is operating in protected mode, the status monitor process that operates with user authority is not in protected mode (that is, low authority). A warning dialog exemplified in 7 (A) is displayed. Conversely, if the process that called the user interface driver is not operating in protected mode, the warning dialog is not displayed.

S205では、ユーザインタフェースドライバを呼び出したプロセスが保護モードかどうかを判定する。保護モードでなければS207に移り、保護モードであればS221に移る。S221ではOS標準のDLL起動用プログラムのRundll32.exeを介して、ステータスモニタのプロセスをユーザインタフェースドライバを呼び出したプロセスと同じ権限で作成する。ここではユーザインタフェースドライバを呼び出したプロセスは保護モードではないから、警告ダイアログは表示されない。S221でステータスモニタを起動したあとは、ユーザインタフェースドライバのステータスモニタ起動処理を終了する。   In S205, it is determined whether the process that called the user interface driver is in the protection mode. If it is not the protection mode, the process proceeds to S207, and if it is the protection mode, the process proceeds to S221. In S221, the OS standard DLL startup program Rundll32. Through exe, a status monitor process is created with the same authority as the process that called the user interface driver. Here, since the process that called the user interface driver is not in the protection mode, the warning dialog is not displayed. After the status monitor is activated in S221, the status monitor activation process of the user interface driver is terminated.

S207では上述したRundll32.exeを介して、ステータスモニタのプロセスを低権限で作成した後に、ユーザインタフェースドライバのステータスモニタ起動処理を終了する。ここで低権限とは保護モードと等価であるから、警告ダイアログは表示されない。   In S207, the above mentioned Rundll32. After the status monitor process is created with low authority via exe, the status monitor activation process of the user interface driver is terminated. Here, low privilege is equivalent to protection mode, so no warning dialog is displayed.

このように、ユーザインタフェースドライバがステータスモニタのプロセスを作成するにあたり、ユーザインタフェースドライバを呼び出したプロセスが保護モードかどうかを判定し、また、ステータスモニタ起動用プログラムの存在を判定し、条件に応じて適切な権限を与えてステータスモニタを起動することにより、警告ダイアログの表示を最低限に抑えることができる。また、S231により図7(A)で例示される警告ダイアログが表示されたとしても、上述したようにチェックボックス712をONにして許可するボタン720を押下した後は、本警告ダイアログは表示されなくなる。   As described above, when the user interface driver creates the status monitor process, it is determined whether the process that called the user interface driver is in the protection mode, and the existence of the status monitor activation program is determined. By launching the status monitor with appropriate authority, the warning dialog can be minimized. Even if the warning dialog illustrated in FIG. 7A is displayed in S231, the warning dialog is not displayed after the check box 712 is turned on and the permission button 720 is pressed as described above. .

ここで、ユーザが図3のボタンを押下してステータスモニタを起動する場合においても、保護モードのプロセスによる警告ダイアログの表示頻度を抑制することが、快適な印刷環境をユーザに提供するうえで重要である。この場合は、図8のS203から処理を開始することで、表示頻度の抑制が実現できる。   Here, even when the user presses the button in FIG. 3 to activate the status monitor, it is important to suppress the display frequency of the warning dialog by the protection mode process in order to provide the user with a comfortable printing environment. It is. In this case, the display frequency can be suppressed by starting the processing from S203 in FIG.

さて、S207において低権限のプロセスとして作成されたステータスモニタは、書き込みが可能なセキュリティオブジェクト領域が限られているため、その動作の一部に制限が発生することがある。具体的には図4で例示したステータスモニタダイアログの印刷待ち一覧を表示ボタン413を押下することによって表示されるOS標準のキューウィンドウもまた低権限で動作するため、キューウィンドウからの印刷中止の操作ができないといった副作用がある。しかし、本実施例ではステータスモニタの画面の印刷中止ボタン411を押下すれば、印刷中止要求をステータスモニタからランゲージモニタに通知し、ランゲージモニタが印刷中止を行えるので、上記の動作制限は問題にならないことは言うまでもない。   Now, the status monitor created as a low-privileged process in S207 has a limited writable security object area, so that some of its operations may be limited. Specifically, since the OS standard queue window displayed by pressing the print waiting list display button 413 of the status monitor dialog illustrated in FIG. 4 also operates with low authority, an operation for canceling printing from the queue window is performed. There is a side effect that can not be. However, in this embodiment, if the print cancel button 411 on the status monitor screen is pressed, a print cancel request is notified from the status monitor to the language monitor, and the language monitor can cancel the print. Needless to say.

[実施例2]
以下、図9と図10に示す実施例にもとづき本発明を詳細に説明する。本実施例は、ユーザインタフェースドライバがステータスモニタを起動する前に警告ダイアログの操作方法の説明を表示し、ユーザを正しく導くことで、警告ダイアログが表示される頻度を更に下げることを特徴とする。なお、図8以外の図は実施例1と同一であるため説明を省く。
[Example 2]
Hereinafter, the present invention will be described in detail based on the embodiment shown in FIGS. The present embodiment is characterized in that the frequency of displaying the warning dialog is further reduced by displaying the explanation of the operation method of the warning dialog before the user interface driver starts the status monitor and guiding the user correctly. Since the drawings other than FIG. 8 are the same as those in the first embodiment, description thereof is omitted.

<ステータスモニタ起動処理>
本実施例におけるユーザインタフェースドライバのステータスモニタ起動処理のフローチャートを図9に示す。実施例1の図8と図9(A)の差異はS231におけるステータスモニタのプロセス作成の前に、S301でユーザに警告ダイアログの操作案内をすることだけである。S301の処理については図9(B)を用いて後述する。図9(A)の他の説明は図8と同一であるため、ここでは記載を省略する。
<Status monitor start processing>
FIG. 9 shows a flowchart of the status monitor activation process of the user interface driver in this embodiment. The difference between FIG. 8 and FIG. 9A of the first embodiment is only to guide the user to operate the warning dialog in S301 before creating the status monitor process in S231. The process of S301 will be described later with reference to FIG. The other description of FIG. 9A is the same as that of FIG.

図9(B)はユーザへの警告ダイアログの操作方法を案内するためのフローチャートであり、図9(A)のS301の処理を詳細に示している。S311では、ユーザインタフェースドライバを呼び出したプロセスが保護モードかどうかを判定する。保護モードであればS313に移り、保護モードでなければ終了する。S313では、過去に図7(A)の警告ダイアログのチェックボックス712がONの状態で許可ボタン712が押下されたかどうかを調べる。警告ダイアログは、保護モードで動作するユーザインタフェースドライバを呼び出したプロセスで表示されており、チェックボックスがONの状態でプロセスの作成が許可されたかどうかは、ユーザインタフェースドライバから参照かのうである。上述したように、ユーザが一度、チェックボックスをONにした状態で許可するボタン720を押下していれば、警告ダイアログは二度と表示されないのであるから、ユーザへ警告ダイアログの操作方法を案内する必要は無い。従ってS313で、チェックボックス712がONで許可するボタン720が押されていたと判断された場合は操作案内処理を終了し、チェックボックス712がONで許可するボタン720が押されていたと判断されなかった場合はS314に移る。S314では、これから表示される、警告ダイアログでの操作方法を表示した後、操作案内処理を終了する。   FIG. 9B is a flowchart for guiding the operation method of the warning dialog to the user, and shows the process of S301 in FIG. 9A in detail. In step S311, it is determined whether the process that called the user interface driver is in the protection mode. If it is the protection mode, the process proceeds to S313, and if it is not the protection mode, the process ends. In step S313, it is checked whether the permission button 712 has been pressed in the past when the check box 712 of the warning dialog in FIG. The warning dialog is displayed by the process that called the user interface driver that operates in the protection mode, and whether the creation of the process is permitted with the check box ON is referred to by the user interface driver. As described above, once the user presses the allow button 720 with the check box turned on, the warning dialog will not be displayed again, so it is necessary to guide the user how to operate the warning dialog. No. Therefore, when it is determined in S313 that the check box 712 is ON and the permission button 720 is pressed, the operation guidance process is terminated, and it is not determined that the check box 712 is ON and the permission button 720 is pressed. If this is the case, the process proceeds to S314. In S314, after displaying the operation method in the warning dialog to be displayed, the operation guidance process is terminated.

S314の操作案内は、具体的には、次に表示される警告ダイアログで「常に許可する」チェックボックス712をONにした状態で許可するボタンを押下するように促すメッセージを表示する。このメッセージの一例を図10のダイアログに示す。操作案内ダイアログ1000はメッセージ表示領域を持ち、文章で操作方法の説明を行う。OKボタン1002を押下すると操作案内ダイアログ1000が閉じる。また、操作案内ダイアログ1000では文章で操作説明を行っているが、グラフィカルに図7(A)の模式図を表示して、より解りやすくユーザに説明することもできる。   Specifically, the operation guidance in S314 displays a message that prompts the user to press the allow button while the “Always allow” check box 712 is turned on in the warning dialog displayed next. An example of this message is shown in the dialog of FIG. The operation guidance dialog 1000 has a message display area, and the operation method is described in text. When an OK button 1002 is pressed, the operation guidance dialog 1000 is closed. In the operation guidance dialog 1000, the operation is described in text. However, the schematic diagram of FIG. 7A can be graphically displayed to explain to the user more easily.

ユーザは図10のダイアログのメッセージを読みOKボタン1002を押下すると、処理がS231に移り、ユーザインタフェースドライバはステータスモニタを起動しようとする。ステータスモニタが起動される前に、図7(A)の警告ダイアログが表示され、ユーザは図10で説明されたように警告ダイアログを操作することが可能になる。   When the user reads the message in the dialog of FIG. 10 and presses the OK button 1002, the process proceeds to S231, and the user interface driver attempts to start the status monitor. Before the status monitor is activated, the warning dialog of FIG. 7A is displayed, and the user can operate the warning dialog as described in FIG.

以上説明したように、本実施例では、ユーザインタフェースドライバがステータスモニタを起動する前に警告ダイアログの操作方法の説明を表示し、ユーザを正しく導くことで、警告ダイアログが表示される頻度を更に下げることができる。   As described above, in this embodiment, before the user interface driver activates the status monitor, an explanation of the operation method of the warning dialog is displayed, and the user is guided correctly to further reduce the frequency of the warning dialog being displayed. be able to.

以上説明したこれらの実施形態によれば、保護モードのプロセスから呼び出されるプリンタドライバがステータスモニタを起動する場合において、次のような効果が得られる。   According to these embodiments described above, the following effects can be obtained when the printer driver called from the protection mode process activates the status monitor.

(1)保護モードで動作するプロセスから呼び出されたユーザインタフェースドライバから、保護モードの外で動作するステータスモニターのプロセスを作成する際に、保護モードのプロセスにより表示される警告ダイアログを抑制することが可能となり、快適な印刷環境をユーザに提供できる。   (1) When creating a status monitor process that operates outside the protection mode from a user interface driver called from a process that operates in the protection mode, the warning dialog displayed by the protection mode process is suppressed. This makes it possible to provide a comfortable printing environment to the user.

(2)保護モードのプロセスにより警告ダイアログが表示される場合には、警告ダイアログの操作方法を事前にユーザに案内することで、警告ダイアログが表示されないようにユーザを誘導することができ、快適な印刷環境をユーザに提供できる。   (2) When the warning dialog is displayed by the process of the protection mode, the user can be guided so that the warning dialog is not displayed by guiding the user to the operation method of the warning dialog in advance. A printing environment can be provided to the user.

(3)印刷時にステータスモニタを使用するかどうかの判定を、ユーザインタフェースドライバがステータスモニタを起動する前に行うことで、印刷開始時のステータスモニタの起動を最低限に抑えることが可能になり、警告ダイアログが表示される頻度を抑えることが出来る。   (3) By determining whether to use the status monitor at the time of printing before the user interface driver activates the status monitor, it is possible to minimize the activation of the status monitor at the start of printing, The frequency with which the warning dialog is displayed can be suppressed.

保護モードと整合性レベルに関する概念図。The conceptual diagram regarding a protection mode and an integrity level. 本発明の実施形態に係わるプリンタドライバのブロック図。1 is a block diagram of a printer driver according to an embodiment of the present invention. 印刷設定ダイアログの一例を示す図。The figure which shows an example of a print setting dialog. ステータスモニタのダイアログの一例を示す図。The figure which shows an example of the dialog of a status monitor. ステータスモニタ起動に関するタイミングチャート。Timing chart related to status monitor activation. ステータスモニタの処理の一例を示すフローチャート。The flowchart which shows an example of a process of a status monitor. 保護モードのプロセスにより表示される警告ダイアログの一例を示す図。The figure which shows an example of the warning dialog displayed by the process of protection mode. 本発明の実施形態に係わるステータスモニタ起動手順を示すフローチャート。The flowchart which shows the status monitor starting procedure concerning embodiment of this invention. 本発明の実施形態に係わるステータスモニタ起動手順を示すフローチャート。The flowchart which shows the status monitor starting procedure concerning embodiment of this invention. 本発明の実施形態に係わる操作説明を行うダイアログの一例を示す図。The figure which shows an example of the dialog which performs operation description concerning embodiment of this invention.

Claims (4)

第一のプロセスから第二のプロセスを作成するためのプロセス作成方法であって、
前記第一のプロセスが保護モードで動作しているかどうかを判定するステップと、
前記第二のプロセスを作成するための起動用プログラムの存在の有無を判定するステップとを含み、
前記起動用プログラムが存在する場合は前記起動用プログラムを用いて前記第二のプロセスを作成し、
前記第一のプロセスが保護モードであり且つ前記起動用プログラムが存在しない場合は、低権限で動作するように前記第二のプロセスを作成するステップを含むことを特徴とするプロセス作成方法。
A process creation method for creating a second process from a first process,
Determining whether the first process is operating in protected mode;
Determining whether or not there is an activation program for creating the second process,
If the startup program exists, create the second process using the startup program,
When the first process is in a protection mode and the activation program does not exist, the process creation method includes the step of creating the second process so as to operate with low authority.
アプリケーションの描画命令を印刷コマンドとしてプリンタに供給するプリンタドライバであって、
前記プリンタドライバは少なくとも、
プリンタのステータスを表示するためのステータスモニタと、
前記アプリケーションの印刷要求に従って呼び出されるユーザインタフェースドライバとを含み、
前記ユーザインタフェースドライバは前記ステータスモニタのプロセスを作成するにあたり、
前記ユーザインタフェースドライバを呼び出したプロセスが保護モードかどうかの判定と、
前記ステータスモニタのプロセスを作成するための起動用プログラムの有無の判定を行い、
前記起動用プログラムが存在する場合は前記起動用プログラムを用いて前記ステータスモニタのプロセスを作成し、
前記ユーザインタフェースドライバを呼び出したプロセスが保護モードであり且つ前記起動用プログラムが存在しない場合は、低権限で動作するようにステータスモニタのプロセスを作成することを特徴とするプリンタドライバ。
A printer driver that supplies an application drawing command to a printer as a print command,
The printer driver is at least
A status monitor to display the status of the printer;
A user interface driver called in accordance with a print request of the application,
When the user interface driver creates the status monitor process,
Determining whether the process that invoked the user interface driver is in protected mode;
Determine whether there is a startup program for creating the status monitor process,
If the startup program exists, create the status monitor process using the startup program,
A printer driver characterized by creating a status monitor process so as to operate with low authority when a process that calls the user interface driver is in a protection mode and the activation program does not exist.
前記ユーザインタフェースドライバは、
前記起動用プログラムを用いて前記ステータスモニタのプロセスを作成する前に、ユーザに操作方法を案内することを特徴とする請求項2記載のプリンタドライバ。
The user interface driver is
3. The printer driver according to claim 2, wherein an operation method is guided to a user before the status monitor process is created by using the startup program.
アプリケーションが印刷を開始した際に前記ステータスモニタを起動するかどうかを、前記ユーザインタフェースドライバで判定することを特徴とする請求項2あるいは請求項3記載のプリンタドライバ。   4. The printer driver according to claim 2, wherein the user interface driver determines whether to activate the status monitor when an application starts printing.
JP2006286407A 2006-10-20 2006-10-20 Information processing method and program Withdrawn JP2008102838A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006286407A JP2008102838A (en) 2006-10-20 2006-10-20 Information processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006286407A JP2008102838A (en) 2006-10-20 2006-10-20 Information processing method and program

Publications (1)

Publication Number Publication Date
JP2008102838A true JP2008102838A (en) 2008-05-01

Family

ID=39437104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006286407A Withdrawn JP2008102838A (en) 2006-10-20 2006-10-20 Information processing method and program

Country Status (1)

Country Link
JP (1) JP2008102838A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285756B2 (en) 2009-06-12 2012-10-09 Seiko Epson Corporation Operation support program
US8675218B2 (en) 2008-09-29 2014-03-18 Brother Kogyo Kabushiki Kaisha System for monitoring and displaying printer status
JP2014521184A (en) * 2011-07-20 2014-08-25 マイクロソフト コーポレーション Activate trust level
JP2015001946A (en) * 2013-06-18 2015-01-05 コニカミノルタ株式会社 Information processor, printer driver, and program
JP2018026049A (en) * 2016-08-12 2018-02-15 キヤノン株式会社 Information processing apparatus, information processing method, and program

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8675218B2 (en) 2008-09-29 2014-03-18 Brother Kogyo Kabushiki Kaisha System for monitoring and displaying printer status
US8285756B2 (en) 2009-06-12 2012-10-09 Seiko Epson Corporation Operation support program
JP2014521184A (en) * 2011-07-20 2014-08-25 マイクロソフト コーポレーション Activate trust level
US9465948B2 (en) 2011-07-20 2016-10-11 Microsoft Technology Licensing Llc. Trust level activation
JP2015001946A (en) * 2013-06-18 2015-01-05 コニカミノルタ株式会社 Information processor, printer driver, and program
JP2018026049A (en) * 2016-08-12 2018-02-15 キヤノン株式会社 Information processing apparatus, information processing method, and program
KR20180018351A (en) * 2016-08-12 2018-02-21 캐논 가부시끼가이샤 Information processing apparatus, information processing method, and storage medium
KR102248494B1 (en) 2016-08-12 2021-05-06 캐논 가부시끼가이샤 Information processing apparatus, information processing method, and storage medium

Similar Documents

Publication Publication Date Title
US7707325B2 (en) Job status monitoring system, job status monitoring method, program, and storage medium
US8269991B2 (en) Information processing apparatus, method and storage medium
JP2010117915A (en) Information processor, print control method and program
JP5361358B2 (en) Information processing apparatus, control method therefor, and program
JP4926807B2 (en) Information processing apparatus and information processing method
JP2008102838A (en) Information processing method and program
US20060095861A1 (en) Information processing apparatus and recording medium having program recorded therein
KR100720922B1 (en) Computer storing print control program, and storing medium recording the program and capable of being read by computer
JP2006133892A (en) Printer host and printer state display program
JP4891052B2 (en) Information processing apparatus, preview method, program, and storage medium
JP2013058088A (en) Information processor, program, and storage medium
JP2009116734A (en) Information processor and reduction layout printing method
US20070211941A1 (en) Image forming process control apparatus, image forming apparatus, image forming process control method and program
JP2017105103A (en) Label printer and label printer control method
JP2006202332A (en) Proxy print processing device and method, program, and storage medium
US20120257242A1 (en) Information processing apparatus, information processing method, and storage medium
JP4470693B2 (en) Printer host, printer status information display program, and printer status information display method in printer host
JP2006076014A (en) Printer
JP2007286680A (en) Image formation system, its control method, and program
JP2006159732A (en) Printing control system, printing control device/method and program
JP2002086811A (en) Printer
JP4586839B2 (en) Image processing apparatus, printing system, and program
JP2005190093A (en) Print system, printer, print control unit and printer driver
JP2005196307A (en) Driver program and driver control unit
JP2006126908A (en) Print system, print control device, program and printer monitoring method

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100105