Windowsシリアルポートから読み込むためにWin32 ReadFileを呼び出しています。私のデバイスが接続されていない場合、ReadFileはまだ成功を返します。デバイスへの接続が失われているかどうかを確認するにはどうすればよいですか?私はメッセージを送信し、応答を得ない、またはデバイスイベントを聞くことでこれを行うことができますが、それ以上の簡単な方法はありますか?Windowsでデバイスのプラグが抜かれたために既存のシリアル接続が失われているかどうかを検出します。
0
A
答えて
2
シリアルポートは、シリアルポートに何かが接続されているか接続されていないかをデバイスに依存しない方法で知ることができないという点でダムです。このため、シリアルポートを使用するほとんどのデバイスは、何らかの通信プロトコルをサポートしています。これにより、何かが接続されているかどうかを判断できます。
0
言語によっては、シリアルデバイスによってデバイス変更イベントが発生するかどうかは確かではありません。テストするタイミングはありません。
しかしPNPがそれをピックアップする場合、私はあなたがバンそこからWmiCodeクリエータ
Imports System
Imports System.Management
Imports System.Windows.Forms
Namespace WMISample
Public Class WMIReceiveEvent
Public Overloads Shared Function Main() As Integer
Try
Dim query As New WqlEventQuery(_
"SELECT * FROM Win32_DeviceChangeEvent")
Dim watcher As New ManagementEventWatcher(query)
Console.WriteLine("Waiting for an event...")
Dim eventObj As ManagementBaseObject = watcher.WaitForNextEvent()
Console.WriteLine("{0} event occurred.", eventObj("__CLASS"))
' Cancel the event subscription
watcher.Stop()
Return 0
Catch err As ManagementException
MessageBox.Show("An error occurred while trying to receive an event: " & err.Message)
End Try
End Function
End Class
End Namespace
から
をしようと、さらにシステムから追加または削除されたものを絞り込みます。 しかし、デバイスが接続されていない状態でマシンが起動された可能性はほとんどありません。
どちらの方法でも、私はすべての通信プロトコルで、適切な通信エラーの引き渡しが不可欠であることをお勧めします。接続されているかどうかを確認する際にソケットが切断されたことを保証できないという事実に似ています。
関連する問題
- 1. iPhoneデバイスがデバッグ目的のためにマシンに接続されているかどうかを検出する
- 2. SSH接続が失われました
- 3. スピーカーが接続されているかどうかを検出しますか?
- 4. Mongoosejsでは、DB接続のタイムアウトを検出して設定する方法が失われていますか?
- 5. C#/ Javaソケット接続が失われましたか?
- 6. iPhoneとSQLite - データベース接続が失われましたか?
- 7. VB6でSysInfoコントロールを使用してUSBデバイスのプラグ/プラグが外されたことを検出する
- 8. Firebaseに接続が検出されませんでしたか?
- 9. NSURLConnection "ネットワーク接続が失われました"というエラー?
- 10. Cの接続が失われた
- 11. ウェブカメラが接続されたWindows Mobileデバイス
- 12. ノードjsで接続の検出に失敗しましたか?
- 13. Android:低速センサー(プラグが抜かれている場合のみ)
- 14. コマンドラインでコンピュータに接続されているデバイスを検出しますか?
- 15. iPadのアプリケーションでBluetoothデバイスが接続されているかどうかを検出
- 16. ヘッドフォンのプラグが抜かれたときのイベントはありますか?
- 17. Notes接続が失われたクライアント
- 18. アプリケーションローダーが待機中で、ネットワーク接続が失われました
- 19. デバイスのテストとデバッグ:デバイスを接続するたびにiTunesが狂ってしまうのを止めるにはどうすればいいですか?
- 20. node.jsのresponse.endで接続が失われました
- 21. AndroidアプリがCromecastのオーディオまたはビデオに接続されているかどうかを検出するにはどうすればよいですか?
- 22. デバッガが接続されているかどうかの検出*および*
- 23. デバイスがウェブに接続されているかどうかを確認する
- 24. "エラー:既に接続されているソケットで接続要求が行われました"
- 25. Bluetoothデバイスが接続されているかどうかを検出する方法
- 26. Garmin GPSデバイスが大容量ストレージモードで接続されているかどうかを検出するにはどうすればよいですか?
- 27. Androidデバイスが外付けキーボードに接続されているかどうかを検出するにはどうすればよいですか?
- 28. Symbian - デバイスがインターネットに接続されているかどうかを調べる
- 29. デバイスが電源、USBまたはDockに接続されているかどうかを確認する方法
- 30. spymemcached:memcachedが正常に接続されたかどうかはどうすればわかりますか?
DSRハードウェア信号を確認してください。 –