(57)【要約】【課題】プリンタ未接続時のプリンタアクセスを抑止する。【構成】パラレルポートドライバ２２０に、パラレルポート７の入出力を制御する入出力関数部２２１２２１の他に、接続チェック関数部２２２２２２を設ける接続チェック関数部２２２は、オペレーティングシステム２０２を介してアプリケーション２０１がコール可能なＡＰＩとして接続チェック関数を提供する。印刷要求が発生するとアプリケーション２０１は、パラレルポートドライバ２２０の接続チェック関数をコールしパラレルポート７にプリンタ６０が接続されているかどうかを調べ接続されている場合のみ、印刷の処理を行う。【選択図】図２
2004326551.tif 000002
【特許請求の範囲】
【請求項１】
外部デバイスを接続するポートを備えたデータ処理装置であって、
オペレーティングシステムと、
前記オペレーティングシステム上で稼働するアプリケーションと、
前記ポートへの前記外部デバイスの接続の有無を調査し、調査結果を応答する、前記アプリケーションが呼び出し可能な関数を備えたデバイスドライバとを有することを特徴とするデータ処理装置。
【請求項２】
請求項１記載のデータ処理装置であって、
前記アプリケーションは、前記外部デバイスにアクセスする際に、前記デバイスの前記関数を呼び出して、前記ポートへの前記外部デバイスの接続の有無を確認し、前記ポートへの前記外部デバイスの接続を確認できた場合に、前記外部デバイスへのアクセスを行い、前記ポートへの前記外部デバイスの接続を確認できなかった場合に、前記外部デバイスへのアクセスを行わないことを特徴とするデータ処理装置。
【請求項３】
外部デバイスを接続するポートと、オペレーティングシステムと、前記オペレーティングシステム上で稼働するアプリケーションとを備えたコンピュータによって読みとられ実行されるコンピュータプログラムであって、
前記コンピュータを、
前記ポートへの前記外部デバイスの接続の有無を調査し、調査結果を応答する、前記アプリケーションが呼び出し可能な関数を備えたデバイスドライバとして機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部デバイス接続用のポートを備えたデータ処理装置において、デバイスアクセスを制御する技術に関するものである。
【０００２】
【従来の技術】
オペレーティングシステムを備えたデータ処理装置において、ポートに接続された外部デバイスへのアプリケーションのアクセスの制御はオペレーティングシステムを介して行われる。そして、オペレーティングシステムのなかには、ポートに外部デバイスが接続されていない状態において行われたアプリケーションの外部デバイスへのアクセスに対するエラー処理の機能を備えていなかったり、このようなエラー処理の機能として、外部デバイスへのアクセス完了が所定時間内に完了しないタイムアウトが生じてからアクセスエラーをアプリケーションに返す機能しか備えていないオペレーティングシステムが存在する。
【０００３】
なお、データ処理装置において、ポートへの外部デバイスの接続の有無を確認するための技術としては、外部デバイス接続検出用の装置をデータ処理装置と外部デバイスの間に配置し、データ処理装置において、当該検出用装置における検出内容を取り込んで、ポートへの外部デバイスの接続の有無を確認する技術が知られている（たとえば、特開２００２−３６６９１９号公報）。
この出願の発明に関連する先行技術文献情報としては以下のものがある。
【０００４】
【特許文献１】
特開２００２−２６９０２５号公報
【０００５】
【発明が解決しようとする課題】
さて、前述のように、外部デバイスがポートに接続されていない状態において行われたアプリケーションの外部デバイスのアクセスに対するエラー処理の機能を備えていないオペレーションシステムを用いる場合、アプリケーションがそのようなアクセスを行うと、処理がアプリケーションに戻らず、データ処理装置の動作がハングアップしてしまうという問題が生じる。また、外部デバイスが装着されていない状態において行われたアプリケーションの外部デバイスのアクセスに対してタイムアウトを用いたエラー処理の機能しか備えないオペレーティングシステムを用いる場合には、アプリケーションが、接続されていない外部デバイスのアクセスを行うと、処理がアプリケーションに戻るまでに長時間を要してしまい、その間、データ処理装置の動作が凍結してしまう問題が生じる。
【０００６】
そこで、本発明は、ポートに外部デバイスが接続されていない場合に、アプリケーションによる外部デバイスのアクセスが行われないよう抑止することを課題とする。
【０００７】
【課題を解決するための手段】
前記課題達成のために、本発明は、外部デバイスを接続するポートと、オペレーティングシステムとを備えたデータ処理装置に、前記オペレーティングシステム上で稼働するアプリケーションの他、前記ポートへの前記外部デバイスの接続の有無を調査し、調査結果を応答する、前記アプリケーションが呼び出し可能な関数を備えたデバイスドライバを備えたものである。
【０００８】
このようなデータ処理装置によれば、たとえば、前記アプリケーションは、前記外部デバイスにアクセスする際に、前記デバイスの前記関数を呼び出して、前記ポートへの前記外部デバイスの接続の有無を確認し、前記ポートへの前記外部デバイスの接続を確認できた場合に、前記外部デバイスへのアクセスを行い、前記ポートへの前記外部デバイスの接続を確認できなかった場合に、前記外部デバイスへのアクセスを行わないようにすることができる。
【０００９】
したがって、本データ処理装置によれば、ポートに外部デバイスが接続されていない場合に、アプリケーションによる外部デバイスのアクセスが行われないよう抑止することができる。
【００１０】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
図１に本実施形態に係るデータ処理装置の構成を示す。
図示するように、データ処理装置１０は、ＣＰＵ１、メモリ２、表示装置３、入力装置４、表示装置ポート３、入力装置ポート４、ＳＣＳＩなどの周辺装置バスポート６、ＩＥＥＥ−１２８４などのパラレルポート７、ＲＳ−２３２Ｃなどの２つのシリアルポート８を備えている。そして、表示装置ポート３には表示装置３が接続され、入力装置ポート４には入力装置４が接続され、２つのシリアルポート８には各々、メモリカードリーダ装置４０やその他の外部機器７０が接続され、周辺装置バスポート６には外部記憶装置５０が接続され、パラレルポート７にはプリンタ６０が接続されている。
【００１１】
このように、データ処理装置１０は、一般的な電子計算機としての構成を備えた装置であり。このような構成において、ＣＰＵ１は外部記憶装置５０からメモリ２にロードしたプログラムを実行することによりデータ処理装置１０上でオペレーティングシステムや各種アプリケーションのプロセスを稼働する。そして、各アプリケーションプロセスは、オペレーティングシステムにアクセス要求を発行することにより、各ポートに接続された外部デバイスにアクセスする。オペレーティングシステムは、各ポートを制御し、各アプリケーションプロセスからの要求に応じた外部デバイスのアクセス処理を実行する。
【００１２】
図２に、このようなデータ処理装置１０の機能構成を示す。
図示するように、データ処理装置１０は、オペレーティングシステム２０２上で、１または複数のアプリケーション２０１が稼働する構成を有している。
また、オペレーティングシステム２０２には、ポートの入出力を制御するポートドライバ２０４が各ポート毎に組み込まれている。そして、ポートドライバ２０４を利用して各ポートに接続された外部デバイスと入出力を行って、各デバイスを制御するための外部デバイスドライバ２０３が、各外部デバイス毎に、オペレーティングシステム２０２に組み込まれる。
【００１３】
より具体的には、たとえば、パラレルポート７に対してはパラレルポートドライバ２２０がオペレーティングシステム２０２に組み込まれ、パラレルポート７に接続されたプリンタ６０に対してはプリンタドライバ２１０がオペレーティングシステム２０２に組み込まれる。
【００１４】
以下、このプリンタ６０に対するアクセスを例にとり、本実施形態の外部デバイスアクセスの制御について説明する。
さて、本実施形態では、このプリンタ６０へのアクセスに用いられるパラレルポートドライバ２２０に、パラレルポート７の入出力を制御する入出力関数部２２１の他に、接続チェック関数部２２２を設けている。そして、入出力関数部２２１は、オペレーティングシステム２０２を介してプリンタドライバ２１０等がコール可能な入出力関数を提供する。一方、接続チェック関数部２２２は、オペレーティングシステム２０２を介してアプリケーション２０１がコール可能なＡＰＩとして接続チェック関数を提供する。
【００１５】
入出力関数部２２１は、入出力関数がコールされると、オペレーティングシステム組み込みのポートアクセス関数などのライブラリ関数を利用して、パラレルポート７におけるデータの入出力を実行する。なお、ここで入出力関数がパラレルポート７からのデータの入出力に用いるオペレーティングシステム組み込みのライブラリ関数は、パラレルポート７にプリンタ６０が接続されていないことにより生じるエラーに対応していないものとする。
【００１６】
一方、接続チェック関数部２２２は、接続チェック関数がコールされると、パラレルポート７へのプリンタ６０の接続の有無を調査し、その結果をコール元のアプリケーション２０１に返す。
接続チェック関数部２２２のパラレルポート７へのプリンタ６０の接続の有無の調査は、パラレルポート７の入出力を行うハードウエアであるパラレルポートコントローラに直接アクセスする等して、パラレルポート７上の信号線の信号状態を取り込んで、取り込んだ信号状態に応じて、パラレルポート７へのプリンタ６０の接続の有無を判定することにより行うことができる。ただし、どのような信号状態を非接続として扱うかは、予めプリンタ６０に設定したパラレルポート７上の信号配置に従う。
【００１７】
または、接続チェック関数部２２２のパラレルポート７へのプリンタ６０の接続の有無の調査は、パラレルポートコントローラを制御して実際にパラレルポート７を介してプリンタ６０にデータを送り、そのデータに対するプリンタ６０の応答が存在するかどうかに応じて、パラレルポート７へのプリンタ６０の接続の有無を判定することにより行うようにすることもできる。たとえば、送信したデータに対してプリンタ６０から送られる応答データの有無によって接続の有無を判定するようにすることもできるし、送信したデータに対してプリンタ６０から送られるＡＣＫ信号の有無に応じて発生する送信成功／エラーの発生状態に応じてプリンタ接続の有無を判定するようにすることもできる。
【００１８】
さて、次に、アプリケーション２０１のプリント制御動作について説明する。アプリケーション２０１は、たとえば、メモリカードリーダ装置４０に装着されたメモリカードから画像データを読み出し、読み出した画像データが表す画像を表示装置３に表示したり、その他の有料の処理を画像に施したり、有料の処理を施した画像枚数などを、たとえば課金装置などである外部機器７０に通知したり、課金した料金を示すレシートをプリンタ６０から印刷したりする処理などを行うものである。
【００１９】
そして、このアプリケーション２０１内において、ユーザ操作やアプリケーション２０１内の他モジュールの動作結果によって印刷要求が発生すると、アプリケーション２０１内の印刷実行可否制御モジュールの処理が実行される。印刷実行可否制御モジュールの処理では、図３に示すように、まず、オペレーティングシステム２０２を介してパラレルポートドライバ２２０の接続チェック関数をコールし（ステップ３０２）、その応答よりパラレルポート７にプリンタ６０が接続されているかどうかを調べ（ステップ３０４）、接続されていない場合には、プリンタ未接続を示すメッセージを表示装置３に表示し（ステップ３１０）、処理を終了する。
【００２０】
一方、プリンタ６０が接続されている場合には、プリンタドライバ２１０が印刷設定や印刷ジョブの受付のためにオペレーティングシステム２０２を介してアプリケーション２０１にＡＰＩとして提供している印刷制御関数をオペレーティングシステム２０２を介して呼び出し（ステップ３０６）、処理を終了する。
以降、印刷制御関数が呼び出されたプリンタドライバ２１０は、適宜アプリケーション２０１と協調して、アプリケーション２０１からの印刷ジョブを受付け、適宜スプーリングなどの処理を行った後、プリンタ６０へのポートドライバ２０４の入出力関数を呼び出して、パラレルポート７からプリンタ６０に受け付けた印刷ジョブの印刷データを出力する。
【００２１】
以上、本発明の実施形態について説明した。
なお、以上では、外部デバイスへのアクセス制御の例として、アプリケーション２０１のパラレルポート７を介したプリンタ６０へのアクセスを例にとり説明したが、本実施形態は任意のポートを介した任意の外部デバイスのアクセスの制御に同様に適用可能である。
【００２２】
また、本実施形態では、ポートドライバ２０４にポートへの外部デバイスの接続の有無を検出する接続チェック関数を配置したが、このようなポートへの外部デバイスの接続の有無を検出する接続チェック関数は、ポートの入出力を制御するポートコントローラや別途設けたポートの信号状態を検出するハードウエアにアクセスする権限をオペレーティングシステム２０２下で持つことのできるものであれば、任意のデバイスドライバに配置してかまわない。
【００２３】
以上のように本実施形態によれば、ポートに外部デバイスが接続されている場合には、アプリケーション２０１は外部デバイスのアクセスを行わないので、データ処理装置１０がハングアップしたり、長期間にわたってフリーズしてしまうことを抑止することができる。
【００２４】
【発明の効果】
以上のように、本発明によれば、ポートに外部デバイスが接続されていない場合に、アプリケーションによる外部デバイスのアクセスが行われないよう抑止することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るデータ処理装置の構成を示す図である。
【図２】本発明の実施形態に係るデータ処理装置の機能構成を示す図である。
【図３】本発明の実施形態に係るデータ処理装置におけるアプリケーションの処理を示すフローチャートである。
【符号の説明】
１…ＣＰＵ、２…メモリ、３…表示装置、３…表示装置ポート、４…入力装置、４…入力装置ポート、６…周辺装置バスポート、７…パラレルポート、８…シリアルポート、１０…データ処理装置、４０…メモリカードリーダ装置、５０…外部記憶装置、６０…プリンタ、７０…外部機器、２０１…アプリケーション、２０２…オペレーティングシステム、２０３…外部デバイスドライバ、２０４…ポートドライバ、２１０…プリンタドライバ、２２０…パラレルポートドライバ、２２２…接続チェック関数部、２２１…入出力関数部。
【図１】
2004326551.tif 000003
【図２】
2004326551.tif 000004
【図３】
2004326551.tif 000005