(57)【要約】【課題】スキャンドライバのＡＰＩを呼び出すことができないプログラムで容易にスキャンデータを読み込む。【解決手段】スキャナ６０と通信可能な無線ＬＡＮＩ／Ｆ２０と、画像処理プログラム３２を記憶する記憶部１４とを備えたＰＣ１０において、疑似画像ファイルが、データ記憶領域３６に仮想的に設けられ、画像処理プログラムによる疑似画像ファイルの読み込みの有無が判定される。そして、画像処理プログラムによる疑似画像ファイルの読み込みがあった場合に、スキャナにスキャン指令が送信される。このスキャン指令の返信として、ＰＣがスキャンデータを受信し、そのスキャンデータが、疑似画像ファイルに書き込まれる。これにより、疑似画像ファイルに書き込まれたスキャンデータが、画像処理プログラムにより読み取られるため、スキャンドライバのＡＰＩを呼び出すことができないプログラムで、容易にスキャンデータを読み込むことが可能となる。【選択図】図１
2015126521.tif 000002
【特許請求の範囲】
【請求項１】
スキャン装置と通信可能な通信部と、所定のプログラムを記憶する記憶部とを備えた情報処理装置のコンピュータが読み取り可能なスキャンプログラムであって、
仮想的に設けられている疑似画像ファイルの、前記所定のプログラムによる読み込みの有無を判断する読み込み判断手段と、
前記読み込み判断手段によって前記所定のプログラムによる前記疑似画像ファイルの読み込みが有ったと判断された場合に、前記スキャン装置に、前記通信部を介して、スキャン指令を送信するスキャン指令送信手段と、
前記スキャン指令の返信として、前記スキャン装置から、前記通信部を介して、スキャンデータを受信するスキャンデータ受信手段と、
前記スキャン装置から受信したスキャンデータを、前記疑似画像ファイルに書き込むスキャンデータ書き込み手段と、
して前記コンピュータを機能させることを特徴とするスキャンプログラム。
【請求項２】
前記疑似画像ファイルを作成する疑似画像ファイル作成手段と
して前記コンピュータを機能させることを特徴とする請求項１に記載のスキャンプログラム。
【請求項３】
前記疑似画像ファイル作成手段は、
前記疑似画像ファイルを記憶させる時点の時に関する情報である時情報を含んだファイル名の前記疑似画像ファイルを作成し、
前記疑似画像ファイルを、前記疑似画像ファイル作成手段が当該疑似画像ファイルを作成する時点から予め設定された経過時間が経過したことに応じて削除する第１疑似画像ファイル削除手段と
して前記コンピュータを機能させることを特徴とする請求項２に記載のスキャンプログラム。
【請求項４】
前記疑似画像ファイル作成手段は、
前記第１疑似画像ファイル削除手段によって前記疑似画像ファイルが削除された後に、当該削除された疑似画像ファイルのファイル名が含んでいた時情報とは異なる時情報をファイル名に含む疑似画像ファイルを作成することを特徴とする請求項３に記載のスキャンプログラム。
【請求項５】
前記疑似画像ファイル作成手段は、
前記スキャンプログラム以外のプログラムからについては、読み込みのみを許容する前記疑似画像ファイルを作成することを特徴とする請求項２乃至４の何れか１項に記載のスキャンプログラム。
【請求項６】
前記疑似画像ファイル作成手段は、
前記スキャン装置によるスキャン処理に関して設けられた複数の設定値のうちの、いずれかの設定値と関連づけて、前記疑似画像ファイルを作成し、
前記スキャン指令送信手段は、
前記読み込み判断手段によって読み込みがあったと判断された疑似画像ファイルに関連づけられた設定値でのスキャン指令を、前記通信部を介して、前記スキャン装置に送信することを特徴とする請求項２乃至５の何れか１項に記載のスキャンプログラム。
【請求項７】
前記読み込み判断手段によって前記所定のプログラムによる前記疑似画像ファイルの読み込みが有ったと判断された場合に、前記スキャン処理に関して設けられた複数の設定値を表示部に表示させる画面表示手段と、
前記画面表示手段により前記表示部に表示された複数の設定値のいずれかを入力部より受信する設定値受信手段と、
して前記コンピュータを機能させ、
前記スキャン指令送信手段は、
前記設定値受信手段により受信された設定値でのスキャン指令を、前記通信部を介して、前記スキャン装置に送信することを特徴とする請求項１乃至５の何れか１項に記載のスキャンプログラム。
【請求項８】
前記所定のプログラムが、前記疑似画像ファイルへの読み込みを完了したことに応じて、 
当該疑似画像ファイルを削除する第２疑似画像ファイル削除手段と、
前記第２疑似画像ファイル削除手段により削除される疑似画像ファイルのファイル名を付して、前記スキャンデータ受信手段が受信したスキャンデータを前記記憶部に記憶させる、第１記憶制御手段と、
して前記コンピュータを機能させ、
前記疑似画像ファイル作成手段は、前記第２疑似画像ファイル削除手段により削除されるファイル名とは異なるファイル名の疑似画像ファイルを作成することを特徴とする請求項２乃至７の何れか１項に記載のスキャンプログラム。
【請求項９】
前記スキャンデータ受信手段がスキャンデータの受信を完了したことに応じて、受信を完了したスキャンデータを前記記憶部に記憶させる第２記憶制御手段と、
して前記コンピュータを機能させ、
前記第２記憶制御手段は、
前記スキャンデータ受信手段がスキャンデータの受信を完了する都度、ユニークなファイル名を付して受信を完了したスキャンデータを記憶させることを特徴とする、請求項１乃至８の何れか１項に記載のスキャンプログラム。
【請求項１０】
前記第２記憶制御手段は、前記スキャンデータを記憶させる時点の時に関する情報である時情報を、少なくとも含んだファイル名を付して受信を完了したスキャンデータを記憶させることを特徴とする、請求項９に記載のスキャンプログラム。
【請求項１１】
前記スキャンデータ受信手段による前記スキャンデータの受信が適切に行われなかった場合に、前記疑似画像ファイルを閉鎖する疑似画像ファイル閉鎖手段と
して前記コンピュータを機能させることを特徴とする請求項１乃至１０の何れか１項に記載のスキャンプログラム。
【請求項１２】
前記スキャンデータ受信手段による前記スキャンデータの受信が適切に行われなかった場合に、エラーを報知するためのデータを前記疑似画像ファイルに書き込むエラーデータ書き込み手段と
して前記コンピュータを機能させることを特徴とする請求項１乃至１１の何れか１項に記載のスキャンプログラム。
【請求項１３】
前記疑似画像ファイルは、
書き込みが行われるとその書き込まれたデータが読み込まれるまで次の書き込みが拒否あるいは遅延されるように構成されたファイルであり、
前記判断手段は、
前記疑似画像ファイルに書き込みが可能となった場合に読み込み有と判断することを特徴とする請求項１乃至１２の何れか１項に記載のスキャンプログラム。
【請求項１４】
前記疑似画像ファイルは、名前付きパイプであることを特徴とする請求項１３に記載のスキャンプログラム。
【請求項１５】
スキャン装置と通信可能な通信部と、所定のプログラムを記憶する記憶部と、制御部とを備えた情報処理装置であって、
前記制御部は、
仮想的に設けられている疑似画像ファイルの、前記所定のプログラムによる読み込みの有無を判断する読み込み判断手段と、
前記読み込み判断手段によって前記所定のプログラムによる前記疑似画像ファイルの読み込みが有ったと判断された場合に、前記スキャン装置に、前記通信部を介して、スキャン指令を送信するスキャン指令送信手段と、
前記スキャン指令の返信として、前記スキャン装置から、前記通信部を介して、スキャンデータを受信するスキャンデータ受信手段と、
前記スキャン装置から受信したスキャンデータを、前記疑似画像ファイルに書き込むスキャンデータ書き込み手段と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャン装置と通信可能な情報処理装置、その情報処理装置のコンピュータが読み取り可能なプログラムに関する。
【背景技術】
【０００２】
ＰＣ（Personal computerの略）等の情報処理装置で読み取り可能なプログラムの多くは、下記特許文献に記載されているように、ＡＰＩ（Application Programming Interfaceの略）を使用することによって、デバイスのドライバを呼び出すことが可能である。このため、プログラム実行中にデバイスのドライバへの出力を行い、情報処理装置と通信可能な印刷装置を用いて、印刷、スキャン等の各種処理を行うことが可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−７１０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、情報処理装置で読み取り可能なプログラムには、スキャンドライバのＡＰＩを呼び出すことができないものがある。このため、このようなプログラムでは、下記の操作を行うことで、プログラムによりスキャンデータを読み込むことが可能である。まず、スキャンドライバのＡＰＩを呼び出し可能なプログラムからスキャンドライバを起動して、情報処理装置と通信可能なスキャン装置を用いて、スキャン処理を行う。次に、スキャン処理により得られたスキャンデータを、情報処理装置の記憶部に記憶させる。そして、記憶部に記憶されたスキャンデータを、ファイルとしてプログラムによって読み込む。このように、スキャンドライバのＡＰＩを呼び出すことができないプログラムによりスキャンデータを読み込むには、非常に煩雑な操作を行う必要がある。また、スキャンドライバのＡＰＩを呼び出すことが可能なプログラムであったとしても、スキャンデータを取り込む都度スキャンドライバの設定画面が表示され、設定値を確認し、実行ボタンを押すという煩雑な作業を行う必要がある。本発明は、そのような事情に鑑みてなされたものであり、容易な操作により、スキャンデータを読み込むことである。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のプログラムは、スキャン装置と通信可能な通信部と、所定のプログラムを記憶する記憶部とを備えた情報処理装置のコンピュータが読み取り可能なスキャンプログラムであって、仮想的に設けられている疑似画像ファイルの、前記所定のプログラムによる読み込みの有無を判断する読み込み判断手段と、前記読み込み判断手段によって前記所定のプログラムによる前記疑似画像ファイルの読み込みが有ったと判断された場合に、前記スキャン装置に、前記通信部を介して、スキャン指令を送信するスキャン指令送信手段と、前記スキャン指令の返信として、前記スキャン装置から、前記通信部を介して、スキャンデータを受信するスキャンデータ受信手段と、前記スキャン装置から受信したスキャンデータを、前記疑似画像ファイルに書き込むスキャンデータ書き込み手段と、して前記コンピュータを機能させることを特徴とする。
【０００６】
上記課題を解決するために、本発明の情報処理装置は、スキャン装置と通信可能な通信部と、所定のプログラムを記憶する記憶部と、制御部とを備えた情報処理装置であって、前記制御部は、仮想的に設けられている疑似画像ファイルの、前記所定のプログラムによる読み込みの有無を判断する読み込み判断手段と、前記読み込み判断手段によって前記所定のプログラムによる前記疑似画像ファイルの読み込みが有ったと判断された場合に、前記スキャン装置に、前記通信部を介して、スキャン指令を送信するスキャン指令送信手段と、前記スキャン指令の返信として、前記スキャン装置から、前記通信部を介して、スキャンデータを受信するスキャンデータ受信手段と、前記スキャン装置から受信したスキャンデータを、前記疑似画像ファイルに書き込むスキャンデータ書き込み手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明のプログラム、および、情報処理装置では、疑似画像ファイルが、情報処理装置の記憶部の所定領域に仮想的に設けられており、プログラムによる疑似画像ファイルの読み込みの有無が判定される。そして、プログラムによる疑似画像ファイルの読み込みがあったと判定された場合に、スキャン装置にスキャン指令が送信される。このスキャン指令の返信として、情報処理装置が、スキャン装置からスキャンデータを受信した場合に、受信したスキャンデータが、疑似画像ファイルに書き込まれる。これにより、疑似画像ファイルに書き込まれたスキャンデータが、プログラムによって読み取られる。したがって、本発明のプログラム、および、情報処理装置によれば、スキャンドライバのＡＰＩを呼び出すことができないプログラムにおいて、容易な操作により、スキャンデータを読み込むことが可能となる。
【図面の簡単な説明】
【０００８】
【図１】通信システム１のブロック図である。
【図２】設定値変更画面７０を示す図である。
【図３】設定値入力画面８０を示す図である。
【図４】ＰＣ１０の動作フローチャートを示す図である。
【図５】ＰＣ１０の動作フローチャートを示す図である。
【図６】ＰＣ１０の動作フローチャートを示す図である。
【図７】ＰＣ１０の動作フローチャートを示す図である。
【図８】ＰＣ１０の動作フローチャートを示す図である。
【図９】ＰＣ１０の動作フローチャートを示す図である。
【図１０】ＰＣ１０の動作フローチャートを示す図である。
【図１１】設定値入力画面１１０を示す図である。
【図１２】パイプ名入力画面１３０を示す図である。
【図１３】第２実施例のＰＣ１０の動作フローチャートを示す図である。
【図１４】第２実施例のＰＣ１０の動作フローチャートを示す図である。
【図１５】第２実施例のＰＣ１０の動作フローチャートを示す図である。
【図１６】設定値入力画面１５０を示す図である。
【図１７】第３実施例のＰＣ１０の動作フローチャートを示す図である。
【図１８】変形例のＰＣ１０の動作フローチャートを示す図である。
【発明を実施するための形態】
【０００９】
＜通信システムの構成＞
図１に、本願に係る第１実施形態として例示される通信システム１のブロック図を示す。通信システム１は、ＰＣ（Personal computerの略）（本発明の情報処理装置の一例）１０、アクセスポイント５０、スキャナ（本発明のスキャン装置の一例）６０を備える。ＰＣ１０とスキャナ６０とは、既知の無線ＬＡＮ端末装置としての機能を備えており、アクセスポイント５０を介して、互いにデータの送受信を行うことが可能である。また、スキャナ６０は、ＰＣ１０から送信されたデータに基づいて、スキャン処理を実行する装置である。
【００１０】
ＰＣ１０の構成について説明する。ＰＣ１０は、ＣＰＵ（Central Processing Unitの略）（本発明の制御部およびコンピュータの一例）１２、記憶部１４（本発明の記憶部の一例）、無線ＬＡＮＩ／Ｆ（本発明の通信部の一例）２０、パネル２２、ボタン入力部２４、マウス（本発明の入力部の一例）２６を主に備えている。これらの構成要素は、入出力ポート３０を介して互いに通信可能とされている。
【００１１】
無線ＬＡＮＩ／Ｆ２０は、無線ＬＡＮ方式のインフラストラクチャーモード（複数の無線ＬＡＮ端末装置が、アクセスポイントを介してデータ通信するモード）に準拠する無線通信（電波を用いたデータ通信）６２を行うことが可能とされている。無線通信６２は、ＩＥＥＥの８０２．１１の規格およびそれに準ずる規格に基づいて、Ｗｉ−Ｆｉ(R)（Ｗｉ-Ｆｉ Ａｌｌｉａｎｃｅの登録商標）方式の無線通信である。また、スキャナ６０も、無線通信６２を行うことが可能である。このため、ＰＣ１０が、アクセスポイント５０へアクセスし、無線ＬＡＮ方式の無線通信６２を行える状態になれば、スキャナ６０と、データ通信することが可能になる。
【００１２】
ＣＰＵ１２は、記憶部１４内の画像処理プログラム（本発明の所定のプログラムの一例）３２若しくは、スキャンプログラム（本発明のスキャンプログラムの一例）３４に従って処理を実行する。画像処理プログラム３２は、画像データを処理するためのプログラムである。また、スキャンプログラム３４は、スキャナ６０にスキャン処理を実行させ、スキャンデータを取得するためのプログラムである。以降、画像処理プログラム３２若しくは、スキャンプログラム３４など、プログラムを実行するＣＰＵ１２のことを、単にプログラム名でも記載する場合がある。例えば、「画像処理プログラム３２が」という記載は、「画像処理プログラム３２を実行するＣＰＵ１２が」ということを意味する場合がある。なお、記憶部１４は、ＲＡＭ（Random Access Memoryの略）、ＲＯＭ（Read Only Memoryの略）、フラッシュメモリー、ＨＤＤ（ハードディスクの略）、ＣＰＵ１２が備えるバッファなどが組み合わされて構成されている。また、記憶部１４は、データ記憶領域（本発明の所定領域の一例）３６を備える。データ記憶領域３６は、スキャナ６０によりスキャンされたスキャンデータ、各プログラム３２，３４の実行に必要なデータなどを記憶する領域である。
【００１３】
パネル２２は、画像データに基づく画像等を表示する。ボタン入力部２４は、キーボードにより構成されており、ユーザによるボタン操作を受け付ける。パネル２２は、ボタン入力部２４により入力された文字等を表示する。マウス２６は、パネル２２に表示されるポインタを移動させるためのものであり、ユーザによるクリック操作を受け付ける。
【００１４】
＜名前付きパイプを利用したスキャンデータの取得＞
画像処理プログラム３２は画像ファイルを読み込み、その画像を処理するように構成されている。この画像処理プログラムはスキャナドライバのＡＰＩを呼び出す機能、及びスキャナを直接制御する機能はもたない。このようなプログラムは画像アップローダ等で一般的な構成である。そのような画像処理プログラムに対してスキャン画像を読み込ます構成として、本実施例では「名前付パイプ」（本発明の疑似画像ファイルの一例）を用いている。
【００１５】
この名前付パイプは下記のような特徴を有するファイルである。
（１）      書き込まれたデータは、書き込まれた順に読み出される。
（２）      読み出されたデータはファイルから消去される。
（３）      書き込み・ブロッキングモードでオープンを行うと、そのパイプに対して別プロセスから読み込みがあるまで、オープン処理が遅延する。 
この名前付パイプは、Ｕｎｉｘ（登録商標），Ｌｉｎｕｘ（登録商標）にて一般的なものである。
【００１６】
ＰＣ１０にはスキャンプログラム３４がインストールされており、そのスキャンプログラム３４を用いて名前付パイプを介して画像処理プログラムにスキャン画像を提供する。画像処理プログラム３２は通常の画像ファイルと同様に名前付パイプをファイルとして読み込むことによりスキャン画像を読み込む。
【００１７】
まず、その名前付パイプに係るファイル名とスキャン条件の設定及び、生成について説明する。なお、この処理は初期設定として画像処理プログラム３２の起動前にあらかじめ行われもので、スキャンプログラム３４を設定モードで立ち上げる起動されることにより行われる。
【００１８】
スキャンプログラム３４は、名前付きパイプにパイプ名を設定し、異なるパイプ名の名前付きパイプの各々に、スキャナ６０によるスキャン処理の設定値を設定する。具体的には、スキャン処理の設定値を設定する際に、まず、図２に示すように、パネル２２に設定値変更画面７０が表示される。この設定値変更画面７０には、複数のパイプ名選択ボタン７２、追加ボタン７４、修正ボタン７６、削除ボタン７８が表示されている。
【００１９】
パイプ名選択ボタン７２は、名前付きパイプのパイプ名を選択するためのボタンである。追加ボタン７４は、新たな名前付きパイプのパイプ名を設定するためのボタンである。修正ボタン７６は、名前付きパイプのパイプ名に対応して既に設定されているスキャン処理の設定値を修正するためのボタンである。削除ボタン７８は、名前付きパイプのパイプ名に対応して既に設定されているスキャン処理の設定値を削除するためのボタンである。なお、各ボタンは、操作対象のボタン上にポインタを移動させた後に、マウス２６のクリック操作により操作される。
【００２０】
追加ボタン７４が操作されると、図３に示すように、設定値入力画面８０が表示される。設定値入力画面８０には、パイプ名表示エリア８２、スキャンサイズ選択ボタン８４、スキャンカラー選択ボタン８６、スキャン解像度選択ボタン８８、ＯＫボタン９０、キャンセルボタン９２、プレビューボタン９４、プレビューエリア９６が表示されている。
【００２１】
スキャンサイズ選択ボタン８４は、スキャン原稿のサイズを設定するためのボタンであり、スキャンサイズ選択ボタン８４の操作により、Ａ３，Ａ４，Ａ５等のプルダウンリストが表示され、それら複数のリストの中から、ユーザが任意のサイズを選択する。スキャンカラー選択ボタン８６は、スキャン時の色を設定するためのボタンであり、スキャンカラー選択ボタン８６の操作により、カラーとモノクロのプルダウンリストが表示され、それら２つのリストの中から、ユーザが任意の色設定を選択する。スキャン解像度選択ボタン８８は、スキャン解像度を設定するためのボタンであり、スキャン解像度選択ボタン８８の操作により、３００ｄｐｉ，４００ｄｐｉ，５００ｄｐｉ等のプルダウンリストが表示され、それら複数のリストの中から、ユーザが任意の解像度を選択する。
【００２２】
スキャンサイズ選択ボタン８４等のボタン操作により、スキャン処理の設定値が選択された後に、ＯＫボタン９０が操作されることで、選択された設定値に応じたパイプ名が、パイプ名選択ボタン７２に新たに加えられるとともに、そのパイプ名と設定値を含む設定ファイルが作成され、データ記憶領域３６に記憶される。このパイプ名は、画像フォーマットを示す拡張子がつけられている。
【００２３】
また、設定値変更画面７０において、パイプ名選択ボタン７２の操作により、任意のパイプ名が選択されるとともに、修正ボタン７６が操作された場合にも、設定値入力画面８０が表示される。そして、設定値入力画面８０において、スキャンサイズ選択ボタン８４等のボタン操作により、スキャン処理の設定値が選択された後に、ＯＫボタン９０が操作されることで、既存のパイプ名に対応して設定されているスキャン処理の設定値が修正される。
【００２４】
また、設定値変更画面７０において、パイプ名選択ボタン７２の操作により、任意のパイプ名が選択されるとともに、削除ボタン７８が操作されると、選択されたパイプ名に対応して既に設定されているスキャン処理の設定値が削除される。
【００２５】
上記設定値変更画面７０および設定値入力画面８０を用いて設定されたパイプ名に応じて、後述する処理では、名前付きパイプが作成される。詳しくは、スキャンプログラム３４の実行により、設定されているパイプ名が読み込まれ、パイプ名毎にスキャン処理の設定値が抽出される。そして、スキャン処理の設定値に応じて、名前付きパイプが、データ記憶領域３６に作成される。なお、名前付きパイプを作成するためのコマンドは、「ｍｋｆｉｆｏ（ファイル名，ＰＥＲＭＩＳＳＩＯＮ）」である。
【００２６】
次に、スキャンプログラム３４を常駐モードで起動した場合の処理について説明する。通常、このスキャンプログラム３４の常駐モードでの起動はＰＣ１０の起動時のみでよいが、前述のようにスキャンプログラム３４を設定モードで起動し、設定を変更した場合には再度常駐モードで起動する必要がある。スキャンプログラム３４が常駐モードで起動すると、設定モードで作成された設定ファイルに基づき、名前付きパイプが作成される。
次に、作成された名前付パイプに対しブロッキングモードが指定されオープン処理が行われる。そして、名前付パイプに対して外部（画像処理プログラム３２）から読み込み要求があると、名前付パイプが、待機関数（Ｓｅｌｅｃｔ）に対する待機条件リストにセットされる。
【００２７】
なお、上記手順で名前付きパイプが作成される際に、パーミッションは「６４４」に設定されている。具体的には、コマンドの「ｍｋｆｉｆｏ（ｃｏｎｓｔ  ｃｈａｒ  ＊ｐａｔｈｎａｍｅ、ｍｏｄｅ＿ｔ  ｍｏｄｅ）」の「ｍｏｄｅ＿ｔ」が、「６４４」とされる。これにより、名前付きパイプへの書き込みは、スキャンプログラム３４を用いた場合にのみ許容され、スキャンプログラム３４以外のプログラムによる名前付きパイプへの書き込みは許容されない。つまり、スキャンプログラム３４以外のプログラム、例えば、画像処理プログラム３２では、名前付きパイプの読み込みのみが許容されている。なお、スキャンプログラム３４はこの名前付パイプの所有者となり、読み込み、書き込みが許容される。これは、この常駐モードは通常の使用者とは別のオーナーで起動されるからである。
【００２８】
上述したように待機関数にセットされた名前付きパイプが、画像処理プログラム３２によって読み込まれた場合には、読み込まれた名前付きパイプが特定され、その名前付きパイプに対応して設定されているスキャン処理の設定値が取得される。そして、取得した設定値に基づくスキャン処理の指令が、無線ＬＡＮＩ／Ｆ２０を介して、スキャナ６０に送信される。
【００２９】
スキャン指令を受信したスキャナ６０では、指令とともに受信した設定値に応じたスキャン処理が実行され、スキャンデータが作成される。そして、作成されたスキャンデータが、スキャナ６０から無線通信６２を用いて、ＰＣ１０に送信される。スキャンプログラム３４は、スキャンデータを受信すると、受信したスキャンデータを、データ記憶領域３６のテンポラリファイルに記憶する。そして、スキャンデータを拡張子に応じてフォーマット変換する。
【００３０】
続いて、スキャンプログラム３４は、フォーマット変換されたテンポラリファイルからスキャンデータを読み取り、その読み取ったスキャンデータを、画像処理プログラム３２によって読み込まれた名前付きパイプに書き込む。これにより、名前付きパイプに書き込まれたスキャンデータが、画像処理プログラム３２を用いて取得される。つまり、画像処理プログラム３２は通常の画像ファイルの読み込みと同じ操作にてスキャナ６０で作成されたスキャンデータを読み込むことができる。
【００３１】
また、スキャナ６０において、スキャン処理が適切に行われない場合がある。具体的には、例えば、無線通信６２を用いて、ＰＣ１０とスキャナ６０との間で、データの送受信ができない場合、スキャナ６０に原稿がセットされていない場合、スキャナ６０の電源が入っていない場合等には、スキャナ６０において、スキャン処理が行われず、スキャンプログラム３４は、スキャンデータを取得することができない。このような場合には、スキャンプログラム３４は、エラーを示す画像データを、画像処理プログラム３２によって読み込まれた名前付きパイプに書き込む。これにより、名前付きパイプに書き込まれたエラーを示す画像データに基づいて、画像処理プログラム３２側では、スキャンデータが取得できなかった場合の処理が行われる。
【００３２】
名前付きパイプへのスキャンデータの書き込み、若しくは、エラーを示す画像データの書き込みが終了すると、名前付きパイプが使用不能な状態とされる。つまり、名前付きパイプが閉鎖される。そして、名前付きパイプが、データ記憶領域３６から削除される。ただし、削除された名前付きパイプは、上述した手法により、再度、作成され、使用可能な状態とされる。なお、テンポラリファイルに記憶されているスキャンデータも、削除される。
【００３３】
＜スキャンプログラム＞
上述した名前付きパイプの作成および、名前付きパイプを利用したスキャンデータの取得は、ＰＣ１０のＣＰＵ１２においてスキャンプログラム３４が実行されることによって行われる。以下に、図４乃至図１０を用いて、ＣＰＵ１２でスキャンプログラム３４が実行される際のフローを説明する。なお、設定モードでのフローは本発明の本質と離れるのでここでは説明を省略する。
【００３４】
スキャンプログラム３４が常駐モードで実行されると、まず、設定ファイルが読み込まれる（ステップ（以下、「Ｓ」と略す）１００）。この設定ファイルはスキャンプログラム３４を設定モードで起動したときに作成されるもので、パイプ名及び当該パイプ名に対応づけられた設定値が記述されている。次に、設定ファイルに記載された各パイプ名の名前付きパイプがすべて作成されているかが判断される（Ｓ１０２）。まだ名前付きパイプが作成されていないパイプ名が設定ファイルにある場合には（Ｓ１０２のＮＯ）、設定ファイルから、そのパイプ名及びスキャン処理の設定値が抽出され（Ｓ１０４）、抽出されたパイプ名及びスキャン処理の設定値に基づくパイプ作成サブルーチンが実行される（Ｓ１０６）。
【００３５】
パイプ作成サブルーチンでは、図５に示すように、名前付きパイプが作成される（Ｓ２００）。名前付きパイプを作成するためのコマンドは、「ｍｋｆｉｆｏ（ファイル名，ＰＥＲＭＩＳＳＩＯＮ）」である。そして、スレッドを作成し（Ｓ２０２）、パイプ作成ルーチンを終了する。そして、Ｓ２０２において作成されたスレッドのルーチンは、図４に示す処理と並行に実行される。まず、図６に示すように、Ｓ２００で作成された名前付パイプに対しオープン処理が行われる（Ｓ２０４）。この際に書き込みオンリーのモードでかつブロッキングモードが指定される。ブロッキングモードとは書き込み可能となるまで関連する処理を停止するモードであり、このモードでオープンされた場合に、このオープン処理はその名前付パイプに対して読み込みがあるまでブロッキング（処理停止）状態となる。このオープン処理を終了すると、換言すれば名前付パイプに対して外部（画像処理プログラム）から読み込み要求があると、名前付パイプが、待機関数（Ｓｅｌｅｃｔ）に対する待機条件リストにセットされる（Ｓ２０６）。この処理はＦＤ＿ＳＥＴマクロにより行われる。次に後述する待機処理（Ｓ３００）に対して待機終了を指示する（Ｓ２０８）。そして、スレッドのサブルーチンを終了する。
【００３６】
また、Ｓ１０２で、設定ファイルにあるすべてのパイプ名に対応して、名前付きパイプが作成されている場合には（Ｓ１０２のＹＥＳ）、待機サブルーチンが実行される（Ｓ１０８）。待機サブルーチンでは、図７に示すように、スレッドのサブルーチンから待機終了が指示されるまで待機する（Ｓ３００）。なお、複数の名前付きパイプについて、パイプ作成ルーチンが実行された場合、そのいずれかひとつのパイプに対応する待機終了が指示されるまで待機する。そして、待機終了が指示されるとＳ３０２へ進む。Ｓ３０２では、待機終了の指示に関連するパイプに対して、書き込み可能となるまでさらに待機する（Ｓ３０２）。そして、書き込み可能となると、Ｓ３０４へ進む。Ｓ３０４では、待機解除要因がパイプであるかを判断する（Ｓ３０４）。この処理はselect関数により行われる。なお、Ｓ３０４を実行するのは、select関数が、パイプとは別要因で待機解除される場合もあるためである。待機解除要因、すなわちselect関数の解除要因がパイプではない場合は（Ｓ３０４のＮＯ）、Ｓ３０２に戻り待機を継続する。一方、待機解除要因、すなわちselect関数の解除要因がパイプによるものの場合は（Ｓ３０４のＹＥＳ）、待機サブルーチンを終了する。
【００３７】
待機サブルーチンが終了すると、メインルーチンに戻り、待機終了要因の名前付きパイプが選択される（Ｓ１１０）。そして、選択された名前付きパイプに対応するスキャン設定が設定ファイルより読み取られる（Ｓ１１２）。次に、スキャン処理サブルーチンが実行される（Ｓ１１４）。スキャン処理サブルーチンでは、図８に示すように、ＰＣ１０がスキャナ６０に接続されているか否か、つまり、ＰＣ１０とスキャナ６０との間でデータの送受信が可能であるか否かが、ＣＰＵ１２によって判断される（Ｓ４００）。
【００３８】
ＰＣ１０とスキャナ６０との間でデータの送受信が可能である場合には（Ｓ４００のＹＥＳ）、スキャナ６０に原稿がセットされているか否かが、ＣＰＵ１２によって判断される（Ｓ４０２）。スキャナ６０に原稿がセットされている場合には（Ｓ４０２のＹＥＳ）、スキャン指令が、無線ＬＡＮＩ／Ｆ２０を介して、スキャナ６０に送信される（Ｓ４０４）。そして、スキャン指令の返信としてスキャンデータを受信し、受信したスキャンデータを、データ記憶領域３６のテンポラリファイルに保存する（Ｓ４０６）。
【００３９】
次に、スキャンデータを使用された名前付パイプの拡張子に応じて対応する画像フォーマットを変換する（Ｓ４０８）。続いて、このフォーマット変換されたスキャンデータをテンポラリファイルから読み取る（Ｓ４１０）。この読み取りは所定のデータ量のデータブロックごとに行われる。そして、待機状態となる（Ｓ４１２）。この待機状態の解除条件は先にＳ３０２にて行われたものと同一である。すなわち通常は後述するＳ４１８により書き込まれたデータが画像処理プログラムにより読み込まれることにより名前付パイプにデータが書き込み可能となるまで待機する。なお、Ｓ４１２において待機サブルーチンが呼び出された場合は、すでにＳ２０８により待機終了が指示されているためＳ３００において新たに指示を待つことなく、すぐにＳ３０２が実行される。次に、待機状態が終了したか否かが、ＣＰＵ１２によって判断され、待機状態が終了した場合に、待機状態の終了要因がタイムアウトに起因するものであるか否かが、ＣＰＵ１２によって判断される（Ｓ４１４）。待機状態の終了要因がタイムアウトに起因するものでない場合には（Ｓ４１４のＮＯ）、待機状態の終了要因が名前付きパイプに起因するものであるか否かが、ＣＰＵ１２によって判断される（Ｓ４１６）。待機状態の終了要因が名前付きパイプに起因するものでない場合には（Ｓ４１６のＮＯ）、Ｓ４１２に戻る。
【００４０】
一方、待機状態の終了要因が名前付きパイプに起因するものである場合には（Ｓ４１６のＹＥＳ）、スキャンデータを名前付きパイプに書き込む（Ｓ４１８）。そして、全てのスキャンデータの書き込みが終了したか否かが、ＣＰＵ１２によって判断される（Ｓ４２０）。スキャンデータの書き込みが終了していない場合には（Ｓ４２０のＮＯ）、Ｓ４１０に戻り、次のデータブロックを同様に処理する。一方、スキャンデータの書き込みが終了している場合には（Ｓ４２０のＹＥＳ）、スキャン処理サブルーチンが終了する。
【００４１】
また、Ｓ４１４で待機状態の終了要因がタイムアウトに起因するものである場合には（Ｓ４１４のＹＥＳ）、スキャン処理サブルーチンが終了する。
【００４２】
また、Ｓ４００でＰＣ１０とスキャナ６０との間でデータの送受信が不能である場合（Ｓ４００のＮＯ）、若しくは、Ｓ４０２でスキャナ６０に原稿がセットされていない場合には（Ｓ４０２のＮＯ）、エラーを示す画像データが作成される（Ｓ４２２）。そして、エラーを示す画像データが名前付きパイプに書き込まれ（Ｓ４１８）、スキャン処理サブルーチンが終了する。
【００４３】
スキャン処理サブルーチンが終了すると、メインルーチンに戻り、後処理サブルーチンが実行される（Ｓ１１６）。後処理サブルーチンでは、図１０に示すように、名前付きパイプが使用不能な状態にされる、つまり、閉鎖される（Ｓ５００）。次に、閉鎖された名前付きパイプが、データ記憶領域３６から削除される（Ｓ５０２）。続いて、テンポラリファイルに記憶されているスキャンデータが削除される（Ｓ５０４）。そして、後処理サブルーチンが終了する。
【００４４】
後処理サブルーチンが終了すると、メインルーチンに戻り、パイプ作成サブルーチンが実行される（Ｓ１１８）。Ｓ１１８のパイプ作成サブルーチンでは、削除された名前付きパイプが作成されるが、Ｓ１０６のパイプ作成サブルーチンと略同じであるため、説明を省略する。そして、Ｓ１１８のパイプ作成サブルーチンが終了すると、Ｓ１０８に戻る。
【００４５】
＜第２実施形態＞
第１実施形態では、同じスキャン処理の設定で、複数回数スキャンデータを取得する場合は、画像処理装置にて読み取る際に使用される疑似的なファイル名はすべて同一となる。そのため画像処理プログラムが例えば画像ファイルをサーバーにアップロードするプログラムである場合、複数の画像をアップロードする際に、同じファイル名にてアップロードされる。これはサーバーの構成によっては問題を生じる可能性がある。第２実施形態はこの問題を解決しうる。以下に、第２実施形態に係るＰＣ１０において、スキャンプログラム３４を用いたスキャンデータの取得に関して、説明する。なお、第２実施形態におけるＰＣ１０の構成は、スキャナドライバがインストールされていることを除いて、第１実施形態におけるＰＣ１０の構成と略同じであるため、ここでは説明を省略する。
【００４６】
第２実施形態のＰＣ１０では、第１実施形態における設定モードにあたる機能がスキャナドライバに組み込まれている。詳しくは、スキャンＡＰＩを実行可能なプログラムによるスキャナドライバの実行により、図１１に示すように、パネル２２に、設定値入力画面１１０が表示される。設定値入力画面１１０は、スキャナドライバを用いてスキャン処理を実行する際の設定値を設定するための画面であり、設定値入力画面１１０には、スキャンサイズ選択ボタン１１２、スキャンカラー選択ボタン１１４、スキャン解像度選択ボタン１１６、ファイル作成ボタン１１８、スキャンボタン１２０、キャンセルボタン１２２、プレビューボタン１２４、プレビューエリア１２６が表示されている。
【００４７】
スキャンサイズ選択ボタン１１２、スキャンカラー選択ボタン１１４、スキャン解像度選択ボタン１１６は、第１実施形態での設定値入力画面８０のスキャンサイズ選択ボタン８４、スキャンカラー選択ボタン８６、スキャン解像度選択ボタン８８と同じ操作ボタンであり、各ボタン操作により、スキャン処理の設定値が選択される。そして、スキャンボタン１２０が操作されることで、選択されている設定値に応じたスキャン処理が実行される。またこの設定がなされた状態にて、ファイル作成ボタン１１８がクリックされることにより、第１実施形態における設定モードと同様に設定ファイルが作成される。一度、ファイル作成ボタン１１８がクリックされると、次回よりスキャナドライバのＡＰＩを呼び出すことのできない画像処理プログラム３２にあっても、第１実施形態と同様に名前付きパイプを読み込むことにより、同様にスキャンが可能となる。
【００４８】
具体的には、ファイル作成ボタン１１８が操作されることで、図１２に示すように、パネル２２に、パイプ名入力画面１３０が表示される。パイプ名入力画面１３０には、パイプ名入力エリア１３２とＯＫボタン１３４とが表示されており、パイプ名入力エリア１３２に、ユーザ操作によりパイプ名のテンプレートが入力される。なお、パイプ名のテンプレートには、設定日に関する情報（＄ＤＡＴＥ）（本発明の時情報の一例）および、シリアルナンバーに関する情報（＄ＳＥＲＩＡＬ）のマクロを含ませることができる。これらは常駐モードで起動された場合に対応する情報の文字列に置き換えられる。そして、ＯＫボタン１３４が操作されることで、パイプ名入力エリア１３２に表示されているパイプ名のテンプレートが設定される。
【００４９】
スキャンプログラムを常駐モードで起動すると、上記パイプ名入力画面１３０を用いて設定されたパイプ名のテンプレートに応じて、名前付きパイプが作成される。詳しくは、スキャンプログラム３４の実行により、設定されているパイプ名のテンプレートが読み込まれ、テンプレートに応じたパイプ名が作成される。例えば、テンプレートが「Ａ４＿３００ｄｐｉ＿＄ＤＡＴＥ＿＄ＳＥＲＩＡＬ」であり、名前付きパイプの作成日が２０１３年１１月２０日である場合には、パイプ名が「Ａ４＿３００ｄｐｉ＿２０１３＿１１＿２０＿００１」とされる。そして、そのパイプ名の名前付きパイプが、データ記憶領域３６に作成される。
【００５０】
作成日に関する情報が含まれたパイプ名の名前付きパイプでは、待機終了要因に日付変更が加えられており、日付が変更した場合には、名前付きパイプが、データ記憶領域３６から削除される。具体的には、パイプ名が「Ａ４＿３００ｄｐｉ＿２０１３＿１１＿２０＿００１」である名前付きパイプは、２０１３年１１月２０日に作成されたものであり、例えば、２０１３年１１月２１日にスキャンされたスキャンデータが書き込まれると、ユーザが混同してしまう虞がある。このため、ＰＣ１０では、２０１３年１１月２１日になった時点で、パイプ名が「Ａ４＿３００ｄｐｉ＿２０１３＿１１＿２０＿００１」である名前付きパイプを、データ記憶領域３６から削除している。そして、シリアル番号をリセットし、新たな日付のパイプ名が作成される。
【００５１】
また、パイプ名のテンプレートにシリアルナンバーに関する情報（＄ＳＥＲＩＡＬ）が含まれている場合には、テンポラリファイルのファイル名が、名前付きパイプのパイプ名に変更され、テンポラリファイル内のスキャンデータは、削除されることなく、保存される。これにより、画像処理プログラム３２で用いられるスキャンデータを、データ記憶領域３６のテンポラリファイルにおいて保存するとともに、テンポラリファイルのファイル名に基づいて、スキャンデータの判別を容易に行うことが可能となる。なお、新たに名前付きパイプが作成される際には、シリアル番号はインクリメントされる。
【００５２】
上述したテンプレートに基づくパイプ名の名前付きパイプの作成、日付の変更による名前付きパイプの削除、テンポラリファイルのスキャンデータの保存等は、第２実施形態のＰＣ１０のＣＰＵ１２においてスキャンプログラム３４が実行されることによって行われる。以下に、第２実施形態のスキャンプログラム３４が実行される際のフローを説明する。ただし、第２実施形態のスキャンプログラム３４が実行される際のフローと、第１実施形態のスキャンプログラム３４が実行される際のフローとは、パイプ作成サブルーチン，待機サブルーチン，後処理サブルーチンを除いて、同じである。このため、パイプ作成サブルーチン，待機サブルーチン，後処理サブルーチンにおけるフローを、図１２乃至図１４を用いて説明する。
【００５３】
パイプ作成サブルーチンが実行されると、図１３に示すように、パイプ名のテンプレートが、ＣＰＵ１２によって読み取られる（Ｓ６００）。次に、読み取られたテンプレートに応じたパイプ名が作成される（Ｓ６０２）。この際にテンプレート中の＄ＤＡＴＥは２０１３＿１２＿２５などのようにその作成時の日にちを表す情報に置き換えられる。また＄ＳＥＲＩＡＬは初期値００１の通し番号に置き換えられる。そして、Ｓ６０４，Ｓ６０５において、図５に示すＳ２００，Ｓ２０２と同じ処理が行われる。これにより、パイプ作成サブルーチンが終了する。なお、Ｓ６０５において作成されたスレッドのルーチンは、図６に示す処理と同様の処理が行われる。
【００５４】
また、待機サブルーチンが実行されると、図１４に示すように、Ｓ６１０による名前付パイプに対する書き込み可能条件ならびにパイプのオープン処理通知（第１実施形態におけるＳ２０４の処理）に加えて、日付変更が、ＣＰＵ１２によって待機終了要因に設定される（Ｓ７００）。そして、待機状態となる（Ｓ７０２）。次に、待機状態が終了したか否かが、ＣＰＵ１２によって判断され、待機状態が終了した場合に、待機状態の終了要因が日付変更であるか否かが、ＣＰＵ１２によって判断される（Ｓ７０４）。待機状態の終了要因が日付変更でない場合には（Ｓ７０４のＮＯ）、待機状態の終了要因が名前付きパイプに起因するものであるか否かが、ＣＰＵ１２によって判断される（Ｓ７０６）。つまり、名前付きパイプの読み取りが発生したことにより、待機状態が終了したか否かが、ＣＰＵ１２によって判断される。待機状態の終了要因が名前付きパイプに起因しない場合には（Ｓ７０６のＮＯ）、Ｓ７０２に戻る。一方、待機状態の終了要因が名前付きパイプに起因する場合には（Ｓ７０６のＹＥＳ）、待機サブルーチンが終了する。
【００５５】
また、Ｓ７０４で待機状態の終了要因が日付変更である場合には（Ｓ７０４のＹＥＳ）、名前テンプレートに＄ＤＡＴＥを含む全ての名前付きパイプが閉鎖される（Ｓ７０８）。そして、それら名前付きパイプが、データ記憶領域３６から削除される（Ｓ７１０）。次に、シリアル番号がリセットされ（Ｓ７１２）、削除された全ての名前付きパイプが、同一のテンプレートで再作成される（Ｓ７１４）その際＄ＤＡＴＥの部分は新しい日付に置き換わる。これにより、再びＳ７０２に戻り待機状態となる。
【００５６】
また、後処理サブルーチンが実行されると、図１５に示すように、名前付きパイプが閉鎖される（Ｓ８００）。次に、閉鎖された名前付きパイプが、データ記憶領域３６から削除される（Ｓ８０２）。続いて、パイプ名のテンプレートにシリアル番号が含まれているか否かが、ＣＰＵ１２によって判断される（Ｓ８０４）。パイプ名のテンプレートにシリアル番号が含まれていない場合には（Ｓ８０４のＮＯ）、テンポラリファイルとして記憶されているスキャンデータが削除される（Ｓ８１０）。一方、パイプ名のテンプレートにシリアル番号が含まれている場合には（Ｓ８０４のＹＥＳ）、テンポラリファイルのファイル名が、前記削除された名前付きパイプのパイプ名に変更される（Ｓ８０６）。そして、シリアル番号がインクリメントされる（Ｓ８０８）。これにより、後処理サブルーチンが終了する。その後Ｓ１１８において新たな名前付パイプが作成されるが、その名前はＳ８０８にてインクリメントされたシリアル番号を用いた新しいファイル名となる。この処理により、読み込みに使用された名前付きパイプと同じ名前にて、画像ファイルが残ることになる。このため、同一のファイル名を画像処理装置で再度読み込んだ場合に、今度はスキャンされるのではなく、前回読み込まれた画像を再度読み込むことになる。つまり使用者は新たにスキャンされる画像と過去にスキャンされた画像を同一の感覚で扱えることになる。
【００５７】
＜第３実施形態＞
第３実施形態に係るＰＣ１０では、名前付きパイプのパイプ名にスキャン処理の設定値が関連付けられていない場合において、名前付きパイプの読み込みが発生した後に、スキャン処理の設定値が入力される。以下に、名前付きパイプの読み込み発生後のスキャン処理の設定値入力に関して、説明する。なお、第３実施形態におけるＰＣ１０の構成は、第１実施形態におけるＰＣ１０の構成と略同じであるため、ここでは説明を省略する。
【００５８】
第３実施形態のＰＣ１０では、スキャン処理の設定値が関連付けられていないパイプ名の名前付きパイプに、読み込みが発生した場合に、図１６に示すように、設定値入力画面１５０がパネル２２に表示される。設定値入力画面１５０には、スキャンサイズ選択ボタン１５２、スキャンカラー選択ボタン１５４、スキャン解像度選択ボタン１５６、ＯＫボタン１５８、キャンセルボタン１６０、プレビューボタン１６２、プレビューエリア１６４が表示されている。
【００５９】
スキャンサイズ選択ボタン１５２、スキャンカラー選択ボタン１５４、スキャン解像度選択ボタン１５６は、第１実施形態での設定値入力画面８０のスキャンサイズ選択ボタン８４、スキャンカラー選択ボタン８６、スキャン解像度選択ボタン８８と同じ操作ボタンであり、各ボタン操作により、スキャン処理の設定値が選択される。そして、ＯＫボタン１５８が操作されることで、選択されている設定値に応じたスキャン処理が実行される。
【００６０】
上述した名前付きパイプの読み込み発生後のスキャン処理の設定値入力は、第３実施形態のＰＣ１０のＣＰＵ１２においてスキャンプログラム３４が実行されることによって行われる。以下に、第３実施形態のスキャンプログラム３４が実行される際のフローを説明する。ただし、第３実施形態のスキャンプログラム３４が実行される際のフローと、第１実施形態のスキャンプログラム３４が実行される際のフローとは、待機サブルーチンを除いて、同じである。このため、待機サブルーチンにおけるフローを、図１６を用いて説明する。
【００６１】
待機サブルーチンが実行されると、図１７に示すように、待機状態となる（Ｓ９００）。次に、待機状態の終了要因がパイプオープン処理終了且つ書き込み可によるものかが、ＣＰＵ１２によって判断される（Ｓ９０２）。つまり、名前付きパイプの読み取りが発生したことにより、待機状態が終了したか否かが、ＣＰＵ１２によって判断される。待機状態の終了要因が名前付きパイプに起因しない場合には（Ｓ９０２のＮＯ）、Ｓ９００に戻る。一方、待機状態の終了要因が名前付きパイプに起因する場合には（Ｓ９０２のＹＥＳ）、名前付きパイプのパイプ名にスキャン処理の設定値が含まれているか否かが、ＣＰＵ１２によって判断される（Ｓ９０４）。
【００６２】
パイプ名にスキャン処理の設定値が含まれている場合、あるいは、関連する設定が設定ファイルに書き込まれている場合には（Ｓ９０４のＮＯ）、待機サブルーチンが終了し、その設定にてスキャンが行われる（Ｓ１１４相当の処理）。一方、パイプ名にスキャン処理の設定値が含まれていない場合には（Ｓ９０４のＹＥＳ）、設定値入力画面１５０がパネル２２に表示される（Ｓ９０６）。そして、スキャン処理の設定値が入力されたか否かが、ＣＰＵ１２によって判断される（Ｓ９０８）。つまり、スキャンサイズ選択ボタン１５２等の操作により、スキャン処理の設定値が選択された後に、ＯＫボタン１５８が操作されたか否かが、ＣＰＵ１２によって判断される。スキャン処理の設定値が入力されていない場合には（Ｓ９０８のＮＯ）、Ｓ９００に戻る。一方、スキャン処理の設定値が入力された場合には（Ｓ９０８のＹＥＳ）待機サブルーチンが終了する。その場合は設定値入力画面にて設定された設定にてＳ１１４においてスキャンが行われる。
【００６３】
＜変形例＞
上述した後処理サブルーチンと異なる後処理サブルーチンを、変形例として記載する。変形例の後処理サブルーチンでは、図１８に示すように、名前付きパイプが使用不能な状態、つまり、閉鎖される（Ｓ１０００）。次に、閉鎖された名前付きパイプが、データ記憶領域３６から削除される（Ｓ１００２）。続いて、シリアル番号ｎを１にする（Ｓ１００４）。そして、パイプ名とシリアル番号ｎというファイル名のファイルが存在するか否かが、ＣＰＵ１２によって判断される（Ｓ１００６）。
【００６４】
パイプ名とシリアル番号ｎというファイル名のファイルが存在する場合には（Ｓ１００６のＹＥＳ）、シリアル番号ｎに１が加算される（Ｓ１００８）。そして、Ｓ１００６に戻る。一方、パイプ名とシリアル番号ｎというファイル名のファイルが存在しない場合には（Ｓ１００６のＮＯ）、テンポラリファイルのファイル名が、パイプ名とシリアル番号ｎというファイル名に変更される（Ｓ１０１０）。そして、後処理サブルーチンが終了する。上述した変形例におけるシリアル番号は、第２実施形態において、シリアルナンバーに関する情報（＄ＳＥＲＩＡＬ）のマクロにより、パイプ名に付されるシリアル番号とは異なるものである。なお、この変形例の適用の際には、パイプ名のテンプレートにシリアル番号を示すマクロ＄ＳＥＲＩＡＬを付さないことが望ましい。
【００６５】
＜ＣＰＵの機能構成＞
上述したＰＣ１０のスキャンプログラム３４を実行するＣＰＵ１２は、それの実行処理に鑑みれば、図１に示すような機能構成を有するものと考えることができる。図から解るように、ＣＰＵ１２は、読み込み判断手段１７０と、スキャン指令送信手段１７２と、スキャンデータ受信手段１７４と、スキャンデータ書き込み手段１７６と、疑似画像ファイル作成手段１７８と、第１疑似画像ファイル削除手段１８０と、第２疑似画像ファイル削除手段１８２と、第１記憶制御手段１８４と、第２記憶制御手段１８６と、疑似画像ファイル閉鎖手段１８８と、画面表示手段１９０と、設定値受信手段１９２と、エラーデータ書き込み手段１９４を有している。
【００６６】
読み込み判断手段１７０は、上記スキャンプログラム３４のＳ３０２、Ｓ７０６、Ｓ９０２の処理を実行する機能部である。スキャン指令送信手段１７２は、上記スキャンプログラム３４のＳ４０４の処理を実行する機能部である。スキャンデータ受信手段１７４は、上記スキャンプログラム３４のＳ４０６の処理を実行する機能部である。スキャンデータ書き込み手段１７６は、上記スキャンプログラム３４のＳ４１８の処理を実行する機能部である。疑似画像ファイル作成手段１７８は、上記スキャンプログラム３４のＳ２００、Ｓ６０４の処理を実行する機能部である。第１疑似画像ファイル削除手段１８０は、上記スキャンプログラム３４のＳ７１０の処理を実行する機能部である。第２疑似画像ファイル削除手段１８２は、上記スキャンプログラム３４のＳ５０２、Ｓ８０２の処理を実行する機能部である。第１記憶制御手段１８４は、上記スキャンプログラム３４のＳ８０６の処理を実行する機能部である。第２記憶制御手段１８６は、上記スキャンプログラム３４のＳ４０６の処理を実行する機能部である。疑似画像ファイル閉鎖手段１８８は、上記スキャンプログラム３４のＳ５００、Ｓ８００の処理を実行する機能部である。画面表示手段１９０は、上記スキャンプログラム３４のＳ９０６の処理を実行する機能部である。設定値受信手段１９２は、上記スキャンプログラム３４のＳ９０８の処理を実行する機能部である。手段１９４は、上記スキャンプログラム３４のＳ４２４の処理を実行する機能部である。
【００６７】
なお、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。具体的には、例えば、上記実施形態では、画像処理プログラム３２が実行されている際に、スキャンプログラム３４を用いてスキャンデータが取得されているが、文書作成プログラム，印刷処理プログラム等、種々のプログラム実行時に、スキャンプログラム３４を用いてスキャンデータを取得することが可能である。
【００６８】
また、上記実施例では、名前付きパイプがＰＣ１０のデータ記憶領域３６に記憶されているが、ＰＣ１０に接続された別の装置に記憶されてもよい。
【００６９】
また、上記実施形態では、パイプ名に、日付に関する情報が含まれているが、時刻，曜日等に関する情報が含まれてもよい。
【００７０】
また、上記実施形態では、ＰＣ１０がスキャンデータを取得できなかった場合に、エラー情報が名前付きパイプに書き込まれているが、エラー情報を名前付きパイプに書き込むことなく、名前付きパイプを閉鎖してもよい。
【００７１】
また、上記実施形態では、ＣＰＵ１２によって図４乃至図９、図１２乃至図１４、図１６に示す処理が実行される例を説明したが、これら処理は、ＣＰＵ１２に限らず、ＡＳＩＣや他の論理集積回路により実行されてもよいし、これら処理が、ＣＰＵやＡＳＩＣ、他の論理集積回路が協働することにより実行されてもよい。
【００７２】
また、上記実施形態におけるスキャンの処理はＡＰＩによるものとして説明したが、別のプログラムの呼び出しによるもの、あるいはスキャナドライバの呼び出しによるものであっても構わない。
【符号の説明】
【００７３】
１０：ＰＣ（情報処理装置）
１２：ＣＰＵ（制御部）（コンピュータ）
１４：記憶部
２０：無線ＬＡＮＩ／Ｆ（通信部）
３２：画像処理プログラム（所定のプログラム）
３４：スキャンプログラム
２６：マウス（入力部）
６０：スキャナ（スキャン装置）
１７０：読み込み判断手段
１７２：スキャン指令送信手段
１７４：スキャンデータ受信手段
１７６：スキャンデータ書き込み手段
１７８：疑似画像ファイル作成手段
１８０：第１疑似画像ファイル削除手段
１８２：第２疑似画像ファイル削除手段
１８４：第１記憶制御手段
１８６：第２記憶制御手段
１８８：疑似画像ファイル閉鎖手段
１９０：画面表示手段
１９２：設定値受信手段
１９４：エラーデータ書き込み手段
【図１】
2015126521.tif 000003
【図２】
2015126521.tif 000004
【図３】
2015126521.tif 000005
【図４】
2015126521.tif 000006
【図５】
2015126521.tif 000007
【図６】
2015126521.tif 000008
【図７】
2015126521.tif 000009
【図８】
2015126521.tif 000010
【図９】
2015126521.tif 000011
【図１０】
2015126521.tif 000012
【図１１】
2015126521.tif 000013
【図１２】
2015126521.tif 000014
【図１３】
2015126521.tif 000015
【図１４】
2015126521.tif 000016
【図１５】
2015126521.tif 000017
【図１６】
2015126521.tif 000018
【図１７】
2015126521.tif 000019
【図１８】
2015126521.tif 000020
【手続補正書】
【提出日】平成26年10月23日(2014.10.23)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2015126521.tif 000021