USB機器の挿抜が割り込みによりUSBデバイスドライバ経由でOSに通知され、前記OSがウインドウメッセージにより前記USB機器の挿抜をアプリケーションプログラムに通知するプログラム構造を有する、前記USB機器が接続されるホスト装置であって、前記ウインドウメッセージを受信すると、前記ウインドウメッセージの種別を判定し、前記ウインドウメッセージが、前記USB機器が挿入されたことを示す場合に、前記USBデバイスドライバをオープンする処理を実行し、前記ウインドウメッセージが、前記USB機器が抜かれたことを示す場合に、前記USBデバイスドライバをクローズする処理を実行する、前記アプリケーションプログラムによってシェアされるプログラムを読み出して実行するプログラム実行手段、を有することを特徴とするUSB機器が接続されるホスト装置。前記プログラム実行手段は、前記USBデバイスドライバのオープンまたはクローズ処理を行う前に、呼び出し先の関数の引数としてコールバック関数への参照情報を引き渡すことを特徴とする請求項1記載のUSB機器が接続されるホスト装置。前記プログラム実行手段は、前記アプリケーションプログラムによりスレッドが起動されると、ウインドウを生成して前記ウインドウメッセージの受信待ちを行い、前記ウインドウメッセージを受信すると、受信した前記ウインドウメッセージの種別を判定して前記USBデバイスドライバのオープン処理又はクローズ処理を実行する前記ダイナミックリンクライブラリを読み出し、前記アプリケーションプログラムにリンクすることを特徴とする請求項1または2記載のUSB機器使用装置。USB機器の挿抜が割り込みによりUSBデバイスドライバ経由でOSに通知され、前記OSがウンイドウメッセージを生成して前記USB機器の挿抜を前記アプリケーションプログラムに通知する前記USB機器が接続されるホスト装置に用いられるプログラムであって、前記アプリケーションプログラムによりスレッドが起動されるとウインドウを生成して前記ウインドウメッセージの受信待ちを行う第1のステップと、前記ウインドウメッセージを受信すると前記受信したウインドウメッセージの種別を判定する第2のステップと、前記ウインドウメッセージが、前記USB機器が挿入されたことを示す場合に、前記USBデバイスドライバのオープン処理を実行する第3のステップと、前記ウインドウメッセージが、前記USB機器が抜かれたことを示す場合に、前記USBデバイスドライバのクローズ処理を実行する第4のステップと、前記アプリケーションプログラムから終了要求を受信すると、前記受信待ちループを抜けて終了処理を実行する第5のステップと、をコンピュータに実行させることを特徴とするプログラム。前記第3のステップは、前記オープン処理を実行する前に、前記アプリケーションプログラムにコールバック関数への参照情報を引き渡すサブステップを有することを特徴とする請求項4記載のプログラム。前記第4のステップは、前記クローズ処理を実行する前に、前記アプリケーションプログラムにコールバック関数への参照情報を引き渡すサブステップを有することを特徴とする請求項4記載のプログラム。上記したUSB機器200が接続されるホスト装置によれば、アプリケーションプログラム303の作成者は、アプリケーションプログラム303を作成する毎にUSB機器200の挿抜処理プログラムを作成する必要がある。図4では、これをUSB機器の挿抜処理プログラム304としてアプリケーションプログラム中に実装されている様子が示されている。また、ウインドウによりメッセージを受信する機構を持たないアプリケーションプログラムではメッセージ受信ができないため、USB機器200の挿抜を検知することができないといった課題を有していた。本発明は上記の課題を解決するためになされたものであり、プログラム作成者の負担を軽減すると共に、ウインドウによりメッセージを受信できないアプリケーションプログラムであってもUSB機器の挿抜検知が可能な、USB機器が接続されるホスト装置及びそのプログラムを提供することを目的とする。上記の課題を解決するために本発明は、USB機器の挿抜が割り込みによりUSBデバイスドライバ経由でOSに通知され、前記OSがウインドウメッセージにより前記USB機器の挿抜をアプリケーションプログラムに通知するプログラム構造を有する、前記USB機器が接続されるホスト装置であって、前記ウインドウメッセージを受信すると、前記ウインドウメッセージの種別を判定し、前記ウインドウメッセージが、前記USB機器が挿入されたことを示す場合に、前記USBデバイスドライバをオープンする処理を実行し、前記ウインドウメッセージが、前記USB機器が抜かれたことを示す場合に、前記USBデバイスドライバをクローズする処理を実行する、前記アプリケーションプログラムによってシェアされるプログラムを読み出して実行するプログラム実行手段、を有することを特徴とする。本発明によれば、プログラム実行手段は、アプリケーションプログラムによりスレッドが起動されるとウインドウを生成し、ウインドウメッセージを受信するとその種別を判定して、USBデバイスドライバのオープン或いはクローズ処理を実行する。このため、アプリケーションプログラムはUSB機器の挿抜処理に関する負担から解放され、したがって、プログラム作成者の負担が軽減される。本発明において、前記プログラム実行手段は、前記USBデバイスドライバのオープンまたはクローズ処理を行う前に、呼び出し先の関数の引数としてコールバック関数への参照情報を引き渡すことを特徴とする。本発明によれば、プログラム実行手段は、USBデバイスドライバのオープン処理あるいはクローズ処理を実行する前に、アプリケーションプログラムに対してコールバック関数への参照情報を引き渡す。このため、アプリケーションプログラムは別スレッドで他の処理を実行することができるため。システム全体としてのスループットが向上する。本発明において、前記プログラム実行手段は、前記アプリケーションプログラムによりスレッドが起動されると、ウインドウを生成して前記ウインドウメッセージの受信待ちを行い、前記ウインドウメッセージを受信すると、受信した前記ウインドウメッセージの種別を判定して前記USBデバイスドライバのオープン処理又はクローズ処理を実行する前記ダイナミックリンクライブラリを読み出し、前記アプリケーションプログラムにリンクすることを特徴とする。本発明によれば、プログラム実行手段は、ウインドウを生成してウインドウメッセージの受信待ちを行い、USBデバイスドライバのオープン又はクローズ処理を実行するDLLを読み出してアプリケーションプログラムにリンクして実行する。このため、アプリケーションプログラムは、メッセージ受信にウインドウを必要とせず、したがって、ウインドウによりメッセージを受信できないアプリケーションプログラムでもUSB機器の挿抜検知が可能になる。本発明は、USB機器の挿抜が割り込みによりUSBデバイスドライバ経由でOSに通知され、前記OSがウンイドウメッセージを生成して前記USB機器の挿抜を前記アプリケーションプログラムに通知するUSB使用装置に用いられるプログラムであって、前記アプリケーションプログラムによりスレッドが起動されるとウインドウを生成して前記ウインドウメッセージの受信待ちを行う第1のステップと、前記ウインドウメッセージを受信すると前記受信したウインドウメッセージの種別を判定する第2のステップと、前記ウインドウメッセージが、前記USB機器が挿入されたことを示す場合に、前記USBデバイスドライバのオープン処理を実行する第3のステップと、前記ウインドウメッセージが、前記USB機器が抜かれたことを示す場合に、前記USBデバイスドライバのクローズ処理を実行する第4のステップと、前記アプリケーションプログラムから終了要求を受信すると、前記受信待ちループを抜けて終了処理を実行する第5のステップと、をコンピュータに実行させることを特徴とする。本発明によれば、アプリケーションプログラムによりスレッドが起動されると、アプリケーションプログラムにリンクしたDLLが、ウインドウを生成し、ウインドウメッセージを受信するとその種別を判定して、USBデバイスドライバのオープン或いはクローズ処理を実行する。このため、アプリケーションプログラムは、USB機器の挿抜処理に関する負担から解放され、したがって、プログラム作成者の負担が軽減される。また、アプリケーションプログラムは、メッセージ受信にウインドウを必要とせず、したがって、ウインドウによりメッセージを受信できないアプリケーションプログラムでもUSB機器の挿抜検知が可能になる。本発明において、前記第3のステップは、前記オープン処理を実行する前に、前記アプリケーションプログラムにコールバック関数への参照情報を引き渡すサブステップを有することを特徴とする。本発明によれば、アプリケーションプログラムは別スレッドで他の処理を実行することができるため、システム全体としてのスループットが向上する。本発明において、前記第4のステップは、前記クローズ処理を実行する前に、前記アプリケーションプログラムにコールバック関数への参照情報を引き渡すサブステップを有することを特徴とする。本発明によれば、アプリケーションプログラムは別スレッドで他の処理を実行することができるため、システム全体としてのスループットが向上する。本発明のUSB機器が接続されるホスト装置およびそのプログラムによれば、プログラム作成者の負担を軽減すると共に、ウインドウによりメッセージを受信できないアプリケーションプログラムであってもUSB機器の挿抜検知が可能になる。以下、添付図面を参照して本発明を実施するための実施の形態以下、単に本実施形態というについて詳細に説明する。実施形態の構成図1は、本実施形態に係るUSB機器が接続されるホスト装置の構成を示す図である。ここではホスト装置1としてPCが例示されている。図1に示されるように、PCは、CPU/MMU主記憶からなるPC本体10をシステムの制御中枢とし、このPC本体10に、USB機器11と、UIUserInterface装置12と、外部メモリ13とが、アドレス、データ、コントロールのための信号線が複数本からなるシステムバス14経由で共通接続され、構成される。USB機器11は、不図示のコネクタを介してPC本体10に着脱自在とした実装構造を有し、USB規格に基づきPC本体10と通信を行う周辺機器である。USB機器11は、例えば、不揮発性メモリ、マウス、ハードディスク、プリンタ等のUSB対応周辺機器である。UI装置12は、キーボードやLCDLiquidCrystalDeviceモニタ等、PC本体10とのマンマシンとなる入出力デバイスである。外部メモリ13は、例えば、大容量のハードディスク装置であり、PC本体10に収容しきれない各種プログラムやデータが格納される。以降で説明するDLLDynamicLinkLibraryも多数格納され、必要に応じてPC本体10に読み出され実行される。ここで、DLLとは、動的リンクを使ったライブラリのことであり、複数のプログラムアプリケーションプログラムから共通して使用できるように、種々の機能をメインのプログラムとは分離して実装されるモジュール化されたプログラムのことをいうPC本体10は、図1に、実行するプログラムの構造が機能的に展開されて示されているように、OS101と、USBデバイスドライバ102と、アプリケーションプログラム103と、USB挿抜処理を行うスレッドUSB挿抜処理プログラム104とを含み構成される。ここでは、OS101として、マルチスレッドをサポートし、USB機器11の挿抜を含む入力イベントをウインドウメッセージで通知するWindows登録商標が実装されている。OS101は、USBデバイスドライバ102を含むこともある。アプリケーションプログラム103は、例えば、文書作成、画像処理等の各種ユーザプログラムであり、スレッドを生成し、OS101と協働して動作することによりUSB機器11を使用して所望の処理を実行する。ここで関係するスレッドは、アプリケーションプログラム103により適宜読み出されリンクされるUSB挿抜処理プログラム104であり、このUSB挿抜処理プログラム104は、アプリケーションプログラム103によりリンクされるDLLとして実装される。PC本体10は、このDLLにしたがい、ウインドウメッセージを受信すると、ウインドウメッセージの種別を判定し、ウインドウメッセージが、USB機器11が挿入されたことを示す場合に、USBデバイスドライバ102をオープンする処理を実行し、ウインドウメッセージが、USB機器11が抜かれたことを示す場合に、USBデバイスドライバ102をクローズする処理を実行する。このため、PC本体10は、アプリケーションプログラムによってシェアされるDLLを読み出して実行するプログラム実行手段、として機能する。実施形態の動作以下、図2のフローチャートを参照しながら、図1に示す、本実施形態に係るUSB機器が接続されるホスト装置の動作について詳細に説明する。図2において、USB挿抜処理を行うスレッドUSB挿抜処理プログラム104を実行するPC本体10は、アプリケーションプログラム103によりそのスレッドが起動されるとステップS101YES、表示されないウインドウを生成しステップS102、ウインドウメッセージの受信待ちを行うステップS103。具体的に、アプリケーションプログラム103は、DLLに含まれるInitialize関数初期化コードをコールすることで、USB機器11の挿抜を検知するスレッド、およびその処理ルーチンを起動させることができる。続いて、PC本体10は、ウインドウメッセージを受信するとステップS103YES、受信したウインドウメッセージが、USB機器11の挿抜状態のいずれの状態を示すかを判定するステップS104。PC本体10は、ウインドウメッセージが、USB機器11がPC本体10に挿入されたことを示す場合にステップS105挿、USBデバイスドライバ102のオープン処理を実行するがステップS107、その前に、コールバック関数への参照情報の引き渡しを行うステップS106。ここで、コールバック関数とは、呼び出し先の関数の引数としてコールバック関数への参照情報を引き渡すことで、呼び出し先から任意のコールバック関数を実行させ、コールバック関数に実行制御を移すことをいう。このコールバック関数は、呼び出し先で何らかのイベントが発生した場合の処理を指定する目的で使用される。ここでは、アプリケーションプログラム103に、別スレットでUSB再生等、他の処理を行なわせるための配慮で用いられる。コールバック関数が設定されていない場合は、コールバック関数は当然に呼ばれない。一方、ウインドウメッセージが、USB機器11が抜かれたことを示す場合にステップS105抜、USBデバイスドライバ102のクローズ処理を実行するがステップS109、その前に、コールバック関数への参照情報の引き渡しを行うステップS108。なお、ここでいうオープン処理、クローズ処理とは、USBデバイスドライバ102が認識したUSB機器11に対し、アドレスを新規に割り当て、あるいは割り当てたアドレスを他のリソースに解放する処理をいう。最後に、PC本体10は、アプリケーションプログラム103から終了要求を受信するとステップS110YES、受信待ちループを抜け、アプリケーションプログラム103に処理を委ねる終了処理を実行してステップS111、DLLによるUSB挿抜処理動作を終了する。アプリケーションプログラム103は、USB挿抜処理を行うためのスレッドを終了させるためにFinalize関数を用意している。Finalize関数を呼ぶことで、Windowsのメッセージを受信するループから抜け、スレッドにより処理は終了する。以下、図3に示す模式図を参照しながら、図4に模式図で示す従来例との差異を説明する。図3によれば、aユーザがコネクタを介してUSB機器11を挿抜すると、bそのイベントはハードウエア割り込みによりUSBデバイスドライバ102経由でOS105に通知される。これを受けたらOS105は、アプリケーションプログラム103のウインドウに対してUSB機器11が挿抜されたことをウインドウメッセージにより通知する。d続いてアプリケーションプログラム103は、ウインドウを生成してUSB機器11の挿抜処理を行うDLLをリンクし、このDLLの中でウインドウメッセージを受信することによってUSBデバイスドライバ102のオープン又はクローズ処理を実行する。なお、a~cの吹き出し内に示す処理は、図4のa~cで示す手順と同様であり、dの手順のみ異なる。このように、ベンダ作成のUSBデバイスドライバ102をアプリケーションプログラム103が使用する場合、その挿抜検知は、自身でポーリングを行なってUSB機器11の挿抜状態を確認する場合以外には必ず必要になる。USBデバイスドライバ102がオープンされた後に、PC本体10からUSB機器11を抜くと、USBデバイスドライバ102との整合を取るために、USBデバイスドライバ102をクローズしなければならない。しかながら、アプリケーションプログラム103にUSB機器11が抜かれたことか通知されていなければ、アプリケーションプログラム103は、USBデバイスドライバ102をクローズするタイミングが不明である。このため、本実施形態に係るUSB機器が接続されるホスト装置では、上記したウインドウメッセージを利用するものであり、上記したスレッド104の中でUSB挿抜処理を行う。ここで行われる処理は、ベンダ作成のUSBデバイスドライバ102をアプリケーションプログラム103の中で使用する場合に必ず必要になる。具体的に、図4にdの吹き出しで示すように、従来、アプリケーションプログラム毎に作成する必要のあったUSB挿抜処理が、図3にdの吹き出しで示すように、この処理をDLL化することで都度作成する必要がなくなる。実施形態の効果以上説明のように、本実施形態に係るUSB機器が接続されるホスト装置1によれば、PC本体10は、アプリケーションプログラム103によりスレッドスレッド挿抜処理プログラム104が起動されると、ウインドウを生成し、ウインドウメッセージを受信するとその種別を判定して、USBデバイスドライバ102のオープン或いはクローズ処理を実行する。このため、アプリケーションプログラム103は、USB機器11の挿抜処理に関する負担から解放され、したがって、プログラム作成者の負担が軽減される。また、アプリケーションプログラム103は、メッセージ受信にウインドウを必要とせず、したがって、ウインドウによりメッセージを受信できないアプリケーションプログラムでもUSB機器11の挿抜検知が可能になる。更に、USBデバイスドライバ102のオープンあるいはクローズ処理を実行する前に、アプリケーションプログラム103にてコールバック関数への参照情報を引き渡す機構を付加することで、アプリケーションプログラム103は、別スレッドで他の処理を実行することができるため、システム全体としてのスループットが向上する。なお、本実施形態に係るプログラムは、例えば、図1に示されるように、USB機器11の挿抜が割り込みによりUSBデバイスドライバ102経由でOS101に通知され、前記OS101がウンイドウメッセージを生成して前記USB機器11の挿抜を前記アプリケーションプログラム103に通知する前記USB機器11が接続されるホスト装置1に用いられるプログラムである。そして、そのプログラムは、例えば、図2にフローチャートで示されるように、前記アプリケーションプログラムによりスレッドが起動されるとウインドウを生成して前記ウインドウメッセージの受信待ちを行う第1のステップS101~S103と、前記ウインドウメッセージを受信すると前記受信したウインドウメッセージの種別を判定する第2のステップS103YES~S104と、前記ウインドウメッセージが、前記USB機器が挿入されたことを示す場合に、前記USBデバイスドライバのオープン処理を実行する第3のステップS105挿~S107と、前記ウインドウメッセージが、前記USB機器が抜かれたことを示す場合に、前記USBデバイスドライバのクローズ処理を実行する第4のステップS105抜~S109と、前記アプリケーションプログラムから終了要求を受信すると、前記受信待ちループを抜けて終了処理を実行する第5のステップS110YES~S111と、をコンピュータに実行させることを特徴とするものである。本実施形態に係るプログラムによれば、アプリケーションプログラム103によりスレッドが起動されると、アプリケーションプログラム103にリンクしたDLLUSB挿抜処理プログラム104が、ウインドウを生成し、ウインドウメッセージを受信するとその種別を判定して、USBデバイスドライバ102のオープン或いはクローズ処理を実行するものであり、このため、アプリケーションプログラム103は、USB機器11の挿抜処理に関する負担から解放され、したがって、プログラム作成者の負担が軽減される。また、アプリケーションプログラム103は、メッセージ受信にウインドウを必要とせず、したがって、ウインドウによりメッセージを受信できないアプリケーションプログラムでもUSB機器11の挿抜検知が可能になる。更に、USBデバイスドライバ102のオープンあるいはクローズ処理を実行する前に、アプリケーションプログラム103にてコールバック関数への参照情報を引き渡すことで、アプリケーションプログラム103は、別スレッドで他の処理を実行することができるため、システム全体としてのスループットが向上する。なお、上記した本実施形態では、USB機器11が接続されるホスト装置1としてPCのみ例示したが、PCのみならず、ウインドウメッセージによりUSB機器11の挿抜イベントの通知を行うOSを実装した組み込み製品を含む全てのUSB利用装置に適用可能である。以上、本実施形態について説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されないことは言うまでもない。上記実施形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。またそのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。