投稿者 みっちー  (社会人) 投稿日時 2009/2/24 08:47:37
みっちーです。
返信をいただいたにも関わらず、かなり間が空いてしまって大変申し訳ございません。

ドライバがマルチプロセス対応かどうかはまだ調べきれていないのですが、複数のリクエストを投げないようにしてもフリーズが起こるようなんです。
装置を1つだけにし、接続していないとき(isOpenフラグがFalseのとき)は再接続以外のことを行わない、(再接続用の)BackgroundWorkerがビジーのときは再接続処理も行わない。
このようにしても、やはりフリーズしてしまいます。
(テキストボックスやボタンなどに対する入力が受け付けられず、「(応答なし)」となってしまう状態です。)

この場合、daiveさんが示してくださったプロセスの二番目「ドライバに対する他のリクエストも受付けない」という部分がなく、結果三番目の「メインルーチン停止」も起こらないのではないかと思うのですが・・・。

私の勘違いなのか、それとも別の原因があるのか、ご教授いただければとおもいます。
また、もしほかにこのような仕様を実装できるやり方などありましたら、そちらもお願いいたします。