VC++でプログラムを作成しています。
COMポートで通信するプログラムを作っており、断線したことを検出するようにしたいのですが、SetCommTimeoutsを使っても検出できず、WaitCommEventで止まってしまいます(WaitCommEventで指定した待ちプログラム呼び出すことを繰り返す無限ループになってしまう)。そこから、脱出できるようなプログラミング方法はありませんでしょうか?
ただし、タイマを使ってタイムアウトを検出しその通信スレッドを強制終了させるTerminateThreadは最終手段と考えています。
また、SetCommTimeoutsの使い方も説明していただけると助かります(もしかするとコレをちゃんと使えばできるのかも)。
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
タイムアウトとエラー イベントは意味合いが異なります。
まずは WaitCommEvent 呼び出しから処理が戻らない原因を突き止めるべきでしょう。
たとえばリファレンスに書いてある "hFile を開くときに FILE_FLAG_OVERLAPPED フラグをセットしなかった場合は、監視対象のイベントのいずれかが発生するか、エラーが発生するまで制御が戻りません。" に合致していないかチェックする、などです。
http://msdn.microsoft.com/library/ja/jpfileio/ht …
実装例として Platform SDK のサンプルを活用することもお勧めします。
古いサンプルが今でも手に入ります。
http://msdn.microsoft.com/library/en-us/vcsample …
http://msdn2.microsoft.com/en-us/library/ms81046 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ダイヤルアップ Raspberry Piでアナログモデム経由で音声再生 1 2022/05/20 18:01
- Visual Basic(VBA) Vba UserFormを前面に出す方法を教えてください 1 2023/08/17 11:08
- デスクトップパソコン デスクトップPCの具合いが悪い ヤフオクで富士通FMVD16010Z Window11を購入したので 9 2023/08/13 16:34
- カスタマイズ(車) いわゆる「テレビキャンセラー」について・・・・・ 7 2022/11/01 20:57
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- インターネット広告・アフィリエイト アフェリエイトサイト 作成について 5 2022/05/13 21:31
- ルーター・ネットワーク機器 AU光10G回線について 6 2022/07/25 00:12
- Java Java モンスターブリーダー 1 2023/02/05 09:44
- JavaScript HTMLでJavaScriptを使用してプログラムを作ります。 入力されたパスワードを取得して、パス 2 2022/10/18 01:05
- 格安スマホ・SIMフリースマホ E-SIM電話番号不明表示 1 2023/07/23 19:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ミキサーの情報の取得方法を教えて
-
VBでUSB制御プログラム作成する...
-
vba 時間の引き算 例えば 15:00...
-
C++初心者です。 debug asserti...
-
分かる人は簡単なのだろうが、v...
-
IT初心者です 仕事で、vb.netで...
-
アウトルックが起動しているか...
-
Designer.vbは直接コードをいじ...
-
ActiveReportsを使って[印刷ダ...
-
PHPでPDFファイルの直接印刷
-
【助けて】 VB2005とVB.NETにつ...
-
Windowsの起動時間
-
印刷ダイアログを表示させたくない
-
印刷ダイアログを表示させない方法
-
「読み込み違反」が起きたとき...
-
印刷要求順番と印刷出力順番が...
-
C#VB、exeに埋め込んだexeの実行
-
リンク先のページを印刷したい
-
Format 関数のバグ?
-
htmlからcgiを自動的に起動させ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBでUSB制御プログラム作成する...
-
MSCommによるCOMポートの制御
-
九九の答えの計算
-
ミキサーの情報の取得方法を教えて
-
ハンディターミナル
-
vb.netでCreateEventの引数
-
VB2005でスケジュール追加
-
遺伝的アルゴリズムについて教...
-
VBSでサウンドデバイスの変更方...
-
外部装置を扱うプログラムについて
-
コーディングの仕事に必要なも...
-
Android Studio で実行 できま...
-
拡張子に関連ついているプログ...
-
USBシリアルケーブル仕様の通信...
-
プログラム作成ソフトは何をダ...
-
派遣社員ですビジュアルベーシ...
-
美しいソースコード
-
Lotus Notesのカレンダーに外部...
-
CSS Dock Menu[jQuery]について
-
webサイトから自動ダウンロード
おすすめ情報