[H8-ML(1526)] Accessing Win2k COM port
From: Tatsuya Ishigami <ishigami@xxxxxxxxxxxxxxxx>
Date: 2001年12月28日(金)13時54分10秒
連続して、メール出させていただきます。石上です。
 
> > WindowsNTや2000で同期RS232C通信をすると結構負荷るので、メッセージの処
> > 理などに影響するのかもしれません。
> > COMMコントロールとか使うとちょっとした通信でも重くなってしまいます。
> 私も、Win95/W2K 上の COMポート通信プログラムを何本か作っているのですが、
> 負荷が高くなったような経験がありません。
> 負荷が高くなるのは、COM ポート操作をイベントとか、ウィンドウメッセージ
> をからませたようなプログラムでしょうか?
> オフトピックですみませんが、後学のために質問します...(^^;)
> --

 全機種に当てはまるかは分かりませんが、h8モニタのGUI Wrapperを作った際に
気が
付いた点をいくつか...

 1) Win9xでは、メッセージでとれた受信データが、Win2kではとれなくなった
 (別スレッドで監視する必要がある)

 2) Win9xではなにも考えずにWrite()出来たのに、Win2kでは、オーバラップ用
の
 パラメータを省略すると、動作しない。

 などの問題に遭遇しました。特に、2)は、Microsoft Press謹製の
'Communicaiton
Programming for Windows95'のサンプルプログラムでさえはまっている問題で、
解決するまで、Win2kを動作対象からはずそうと考えてました。ま、よくよく
考えたら、より「OS」らしくなっているわけですが...

 以下は憶測ですが、受信スレッドで受け取ったデータを、CWndの派生クラスに
CopyData()
する際、ある程度メッセージがたまりすぎると(派生クラスで処理が一瞬でも間
に合わないと)、
Win2kでは、急に重たくなる(あるいは、バスエラーになる)みたいです。

 オフトピックにもかかわらず、長文失礼しました〜。

 石上
スレッド概略
[1491(R)](起点)
 └[1502(U)]
   └[表示中]
     ├[1527(1)]
     └[1528(2)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]