プロが教えるわが家の防犯対策術!

以下の手順でCOMポートをオープンすると、(4)のCOMオープンが必ず失敗します。
GetLastError関数でエラーコードを取得するとERROR_FILE_NOT_FOUNDが返ってきました。
心優しい方、(4)のCOMオープンを成功させる方法を教えていただけないでしょうか?

(1)CreateFile関数でCOMポートをオープンし、オープン中にUSBを抜き差しする。
(2)PurgeComm関数で送受信バッファをクリア
(3)CloseHandle関数でCOMポートのハンドルをクローズ
(4)CreateFile関数でCOMポートを再度オープン←NG

以上、どうぞよろしくお願いいたします。

A 回答 (1件)

USB接続タイプのCOMポートの場合、USBを抜けば COMは当然認識しなくなり、


さすと、”しばらくして”ドライバが認識してCOMポートが使えるようになりますよね
その、しばらくして の部分はどのように処理されているのですか?

この回答への補足

ご回答ありがとうございます!!
デバッグモードでしていた時は(4)のCOMポートオープン前で止め、デバイスマネージャで再度認識されたことを確認してからオープンしていました。
それでも同じエラーになりました。
普通に実行すると確かに"しばらくして"の間にCOMポートオープンしようとして失敗することもありえますね…気付きませんでした。

補足日時:2014/01/10 23:05
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A