JP2004326551A - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP2004326551A
JP2004326551A JP2003121877A JP2003121877A JP2004326551A JP 2004326551 A JP2004326551 A JP 2004326551A JP 2003121877 A JP2003121877 A JP 2003121877A JP 2003121877 A JP2003121877 A JP 2003121877A JP 2004326551 A JP2004326551 A JP 2004326551A
Authority
JP
Japan
Prior art keywords
port
external device
application
printer
operating system
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.)
Pending
Application number
JP2003121877A
Other languages
English (en)
Inventor
Toshio Fukuda
敏夫 福田
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 I Tech Inc
Original Assignee
Canon I Tech 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 I Tech Inc filed Critical Canon I Tech Inc
Priority to JP2003121877A priority Critical patent/JP2004326551A/ja
Publication of JP2004326551A publication Critical patent/JP2004326551A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】プリンタ未接続時のプリンタアクセスを抑止する。
【構成】パラレルポートドライバ220に、パラレルポート7の入出力を制御する入出力関数部221221の他に、接続チェック関数部222222を設ける接続チェック関数部222は、オペレーティングシステム202を介してアプリケーション201がコール可能なAPIとして接続チェック関数を提供する。印刷要求が発生するとアプリケーション201は、パラレルポートドライバ220の接続チェック関数をコールしパラレルポート7にプリンタ60が接続されているかどうかを調べ接続されている場合のみ、印刷の処理を行う。
【選択図】図2

Description

【0001】
【発明の属する技術分野】
本発明は、外部デバイス接続用のポートを備えたデータ処理装置において、デバイスアクセスを制御する技術に関するものである。
【0002】
【従来の技術】
オペレーティングシステムを備えたデータ処理装置において、ポートに接続された外部デバイスへのアプリケーションのアクセスの制御はオペレーティングシステムを介して行われる。そして、オペレーティングシステムのなかには、ポートに外部デバイスが接続されていない状態において行われたアプリケーションの外部デバイスへのアクセスに対するエラー処理の機能を備えていなかったり、このようなエラー処理の機能として、外部デバイスへのアクセス完了が所定時間内に完了しないタイムアウトが生じてからアクセスエラーをアプリケーションに返す機能しか備えていないオペレーティングシステムが存在する。
【0003】
なお、データ処理装置において、ポートへの外部デバイスの接続の有無を確認するための技術としては、外部デバイス接続検出用の装置をデータ処理装置と外部デバイスの間に配置し、データ処理装置において、当該検出用装置における検出内容を取り込んで、ポートへの外部デバイスの接続の有無を確認する技術が知られている(たとえば、特開2002−366919号公報)。
この出願の発明に関連する先行技術文献情報としては以下のものがある。
【0004】
【特許文献1】
特開2002−269025号公報
【0005】
【発明が解決しようとする課題】
さて、前述のように、外部デバイスがポートに接続されていない状態において行われたアプリケーションの外部デバイスのアクセスに対するエラー処理の機能を備えていないオペレーションシステムを用いる場合、アプリケーションがそのようなアクセスを行うと、処理がアプリケーションに戻らず、データ処理装置の動作がハングアップしてしまうという問題が生じる。また、外部デバイスが装着されていない状態において行われたアプリケーションの外部デバイスのアクセスに対してタイムアウトを用いたエラー処理の機能しか備えないオペレーティングシステムを用いる場合には、アプリケーションが、接続されていない外部デバイスのアクセスを行うと、処理がアプリケーションに戻るまでに長時間を要してしまい、その間、データ処理装置の動作が凍結してしまう問題が生じる。
【0006】
そこで、本発明は、ポートに外部デバイスが接続されていない場合に、アプリケーションによる外部デバイスのアクセスが行われないよう抑止することを課題とする。
【0007】
【課題を解決するための手段】
前記課題達成のために、本発明は、外部デバイスを接続するポートと、オペレーティングシステムとを備えたデータ処理装置に、前記オペレーティングシステム上で稼働するアプリケーションの他、前記ポートへの前記外部デバイスの接続の有無を調査し、調査結果を応答する、前記アプリケーションが呼び出し可能な関数を備えたデバイスドライバを備えたものである。
【0008】
このようなデータ処理装置によれば、たとえば、前記アプリケーションは、前記外部デバイスにアクセスする際に、前記デバイスの前記関数を呼び出して、前記ポートへの前記外部デバイスの接続の有無を確認し、前記ポートへの前記外部デバイスの接続を確認できた場合に、前記外部デバイスへのアクセスを行い、前記ポートへの前記外部デバイスの接続を確認できなかった場合に、前記外部デバイスへのアクセスを行わないようにすることができる。
【0009】
したがって、本データ処理装置によれば、ポートに外部デバイスが接続されていない場合に、アプリケーションによる外部デバイスのアクセスが行われないよう抑止することができる。
【0010】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
図1に本実施形態に係るデータ処理装置の構成を示す。
図示するように、データ処理装置10は、CPU1、メモリ2、表示装置3、入力装置4、表示装置ポート3、入力装置ポート4、SCSIなどの周辺装置バスポート6、IEEE−1284などのパラレルポート7、RS−232Cなどの2つのシリアルポート8を備えている。そして、表示装置ポート3には表示装置3が接続され、入力装置ポート4には入力装置4が接続され、2つのシリアルポート8には各々、メモリカードリーダ装置40やその他の外部機器70が接続され、周辺装置バスポート6には外部記憶装置50が接続され、パラレルポート7にはプリンタ60が接続されている。
【0011】
このように、データ処理装置10は、一般的な電子計算機としての構成を備えた装置であり。このような構成において、CPU1は外部記憶装置50からメモリ2にロードしたプログラムを実行することによりデータ処理装置10上でオペレーティングシステムや各種アプリケーションのプロセスを稼働する。そして、各アプリケーションプロセスは、オペレーティングシステムにアクセス要求を発行することにより、各ポートに接続された外部デバイスにアクセスする。オペレーティングシステムは、各ポートを制御し、各アプリケーションプロセスからの要求に応じた外部デバイスのアクセス処理を実行する。
【0012】
図2に、このようなデータ処理装置10の機能構成を示す。
図示するように、データ処理装置10は、オペレーティングシステム202上で、1または複数のアプリケーション201が稼働する構成を有している。
また、オペレーティングシステム202には、ポートの入出力を制御するポートドライバ204が各ポート毎に組み込まれている。そして、ポートドライバ204を利用して各ポートに接続された外部デバイスと入出力を行って、各デバイスを制御するための外部デバイスドライバ203が、各外部デバイス毎に、オペレーティングシステム202に組み込まれる。
【0013】
より具体的には、たとえば、パラレルポート7に対してはパラレルポートドライバ220がオペレーティングシステム202に組み込まれ、パラレルポート7に接続されたプリンタ60に対してはプリンタドライバ210がオペレーティングシステム202に組み込まれる。
【0014】
以下、このプリンタ60に対するアクセスを例にとり、本実施形態の外部デバイスアクセスの制御について説明する。
さて、本実施形態では、このプリンタ60へのアクセスに用いられるパラレルポートドライバ220に、パラレルポート7の入出力を制御する入出力関数部221の他に、接続チェック関数部222を設けている。そして、入出力関数部221は、オペレーティングシステム202を介してプリンタドライバ210等がコール可能な入出力関数を提供する。一方、接続チェック関数部222は、オペレーティングシステム202を介してアプリケーション201がコール可能なAPIとして接続チェック関数を提供する。
【0015】
入出力関数部221は、入出力関数がコールされると、オペレーティングシステム組み込みのポートアクセス関数などのライブラリ関数を利用して、パラレルポート7におけるデータの入出力を実行する。なお、ここで入出力関数がパラレルポート7からのデータの入出力に用いるオペレーティングシステム組み込みのライブラリ関数は、パラレルポート7にプリンタ60が接続されていないことにより生じるエラーに対応していないものとする。
【0016】
一方、接続チェック関数部222は、接続チェック関数がコールされると、パラレルポート7へのプリンタ60の接続の有無を調査し、その結果をコール元のアプリケーション201に返す。
接続チェック関数部222のパラレルポート7へのプリンタ60の接続の有無の調査は、パラレルポート7の入出力を行うハードウエアであるパラレルポートコントローラに直接アクセスする等して、パラレルポート7上の信号線の信号状態を取り込んで、取り込んだ信号状態に応じて、パラレルポート7へのプリンタ60の接続の有無を判定することにより行うことができる。ただし、どのような信号状態を非接続として扱うかは、予めプリンタ60に設定したパラレルポート7上の信号配置に従う。
【0017】
または、接続チェック関数部222のパラレルポート7へのプリンタ60の接続の有無の調査は、パラレルポートコントローラを制御して実際にパラレルポート7を介してプリンタ60にデータを送り、そのデータに対するプリンタ60の応答が存在するかどうかに応じて、パラレルポート7へのプリンタ60の接続の有無を判定することにより行うようにすることもできる。たとえば、送信したデータに対してプリンタ60から送られる応答データの有無によって接続の有無を判定するようにすることもできるし、送信したデータに対してプリンタ60から送られるACK信号の有無に応じて発生する送信成功/エラーの発生状態に応じてプリンタ接続の有無を判定するようにすることもできる。
【0018】
さて、次に、アプリケーション201のプリント制御動作について説明する。アプリケーション201は、たとえば、メモリカードリーダ装置40に装着されたメモリカードから画像データを読み出し、読み出した画像データが表す画像を表示装置3に表示したり、その他の有料の処理を画像に施したり、有料の処理を施した画像枚数などを、たとえば課金装置などである外部機器70に通知したり、課金した料金を示すレシートをプリンタ60から印刷したりする処理などを行うものである。
【0019】
そして、このアプリケーション201内において、ユーザ操作やアプリケーション201内の他モジュールの動作結果によって印刷要求が発生すると、アプリケーション201内の印刷実行可否制御モジュールの処理が実行される。印刷実行可否制御モジュールの処理では、図3に示すように、まず、オペレーティングシステム202を介してパラレルポートドライバ220の接続チェック関数をコールし(ステップ302)、その応答よりパラレルポート7にプリンタ60が接続されているかどうかを調べ(ステップ304)、接続されていない場合には、プリンタ未接続を示すメッセージを表示装置3に表示し(ステップ310)、処理を終了する。
【0020】
一方、プリンタ60が接続されている場合には、プリンタドライバ210が印刷設定や印刷ジョブの受付のためにオペレーティングシステム202を介してアプリケーション201にAPIとして提供している印刷制御関数をオペレーティングシステム202を介して呼び出し(ステップ306)、処理を終了する。
以降、印刷制御関数が呼び出されたプリンタドライバ210は、適宜アプリケーション201と協調して、アプリケーション201からの印刷ジョブを受付け、適宜スプーリングなどの処理を行った後、プリンタ60へのポートドライバ204の入出力関数を呼び出して、パラレルポート7からプリンタ60に受け付けた印刷ジョブの印刷データを出力する。
【0021】
以上、本発明の実施形態について説明した。
なお、以上では、外部デバイスへのアクセス制御の例として、アプリケーション201のパラレルポート7を介したプリンタ60へのアクセスを例にとり説明したが、本実施形態は任意のポートを介した任意の外部デバイスのアクセスの制御に同様に適用可能である。
【0022】
また、本実施形態では、ポートドライバ204にポートへの外部デバイスの接続の有無を検出する接続チェック関数を配置したが、このようなポートへの外部デバイスの接続の有無を検出する接続チェック関数は、ポートの入出力を制御するポートコントローラや別途設けたポートの信号状態を検出するハードウエアにアクセスする権限をオペレーティングシステム202下で持つことのできるものであれば、任意のデバイスドライバに配置してかまわない。
【0023】
以上のように本実施形態によれば、ポートに外部デバイスが接続されている場合には、アプリケーション201は外部デバイスのアクセスを行わないので、データ処理装置10がハングアップしたり、長期間にわたってフリーズしてしまうことを抑止することができる。
【0024】
【発明の効果】
以上のように、本発明によれば、ポートに外部デバイスが接続されていない場合に、アプリケーションによる外部デバイスのアクセスが行われないよう抑止することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係るデータ処理装置の構成を示す図である。
【図2】本発明の実施形態に係るデータ処理装置の機能構成を示す図である。
【図3】本発明の実施形態に係るデータ処理装置におけるアプリケーションの処理を示すフローチャートである。
【符号の説明】
1…CPU、2…メモリ、3…表示装置、3…表示装置ポート、4…入力装置、4…入力装置ポート、6…周辺装置バスポート、7…パラレルポート、8…シリアルポート、10…データ処理装置、40…メモリカードリーダ装置、50…外部記憶装置、60…プリンタ、70…外部機器、201…アプリケーション、202…オペレーティングシステム、203…外部デバイスドライバ、204…ポートドライバ、210…プリンタドライバ、220…パラレルポートドライバ、222…接続チェック関数部、221…入出力関数部。

Claims (3)

  1. 外部デバイスを接続するポートを備えたデータ処理装置であって、
    オペレーティングシステムと、
    前記オペレーティングシステム上で稼働するアプリケーションと、
    前記ポートへの前記外部デバイスの接続の有無を調査し、調査結果を応答する、前記アプリケーションが呼び出し可能な関数を備えたデバイスドライバとを有することを特徴とするデータ処理装置。
  2. 請求項1記載のデータ処理装置であって、
    前記アプリケーションは、前記外部デバイスにアクセスする際に、前記デバイスの前記関数を呼び出して、前記ポートへの前記外部デバイスの接続の有無を確認し、前記ポートへの前記外部デバイスの接続を確認できた場合に、前記外部デバイスへのアクセスを行い、前記ポートへの前記外部デバイスの接続を確認できなかった場合に、前記外部デバイスへのアクセスを行わないことを特徴とするデータ処理装置。
  3. 外部デバイスを接続するポートと、オペレーティングシステムと、前記オペレーティングシステム上で稼働するアプリケーションとを備えたコンピュータによって読みとられ実行されるコンピュータプログラムであって、
    前記コンピュータを、
    前記ポートへの前記外部デバイスの接続の有無を調査し、調査結果を応答する、前記アプリケーションが呼び出し可能な関数を備えたデバイスドライバとして機能させることを特徴とするコンピュータプログラム。
JP2003121877A 2003-04-25 2003-04-25 データ処理装置 Pending JP2004326551A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003121877A JP2004326551A (ja) 2003-04-25 2003-04-25 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003121877A JP2004326551A (ja) 2003-04-25 2003-04-25 データ処理装置

Publications (1)

Publication Number Publication Date
JP2004326551A true JP2004326551A (ja) 2004-11-18

Family

ID=33500301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003121877A Pending JP2004326551A (ja) 2003-04-25 2003-04-25 データ処理装置

Country Status (1)

Country Link
JP (1) JP2004326551A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008276582A (ja) * 2007-04-28 2008-11-13 Nidec Sankyo Corp 非接触式ic記録媒体処理システム及び非接触式ic記録媒体処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008276582A (ja) * 2007-04-28 2008-11-13 Nidec Sankyo Corp 非接触式ic記録媒体処理システム及び非接触式ic記録媒体処理方法

Similar Documents

Publication Publication Date Title
JP4887150B2 (ja) コプロセッサを監視及びリセットするための方法及び装置
US6594787B1 (en) Input/output device managed timer process
JPH0679307B2 (ja) コプロセッサの並行動作制御方式
US6973598B2 (en) Computer system with improved data capture system
US7124235B2 (en) USB apparatus with switchable host/hub functions and control method thereof
KR100720922B1 (ko) 인쇄 제어 프로그램을 격납한 전자계산기, 및 인쇄 제어용 프로그램을 기록한 전자계산기로 읽을 수 있는 저장매체
JP2015032249A (ja) 情報処理装置及びプログラム
JP2004326551A (ja) データ処理装置
JP3880513B2 (ja) 中継処理装置、制御方法、プログラム、記録媒体、及び端末制御サーバ
JP3376256B2 (ja) 印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP3450735B2 (ja) 処理装置
JP2001211232A (ja) リモートアクセスによる機器管理制御方法ならびにシステム
JPH1078856A (ja) 優先度別割り込み印刷方法およびシステム
JP2000155738A (ja) データ処理装置
JP2000347828A (ja) 情報処理装置及び情報処理装置のジョブ管理方法
JP2912294B2 (ja) プリンタ装置
JPS6042496B2 (ja) パリテイエラ−処理方式
JP3254200B2 (ja) 画像処理方法及びその装置
JP2000227843A (ja) インターフェース装置、その制御方法および情報記録媒体
JP2004181769A (ja) 印刷装置
KR100274640B1 (ko) 인쇄가능한메모리를표시하는장치및방법
JPH09307685A (ja) イメージデータ読み取りシステム
JP2931027B2 (ja) ハングアップ検出装置
JP2003029954A (ja) 電子機器のスリープモード解除方法、コンピュータ及びプログラム
JP2000293482A (ja) コンピュータシステム及び同システムに於ける表示制御方法