シリアルポートに接続されているデバイスを知るには?


シリアル初心者  2006-05-12 02:40:43  No: 61771

シリアルポートで通信しようとしているのですが、USBの変換アダプタでRC232Cを接続した場合、COMポートが複数見つかってしまいます。特定のデバイスと接続されているポートと接続したいのですが、シリアルポートに接続されているデバイスを知る方法がわかりません。
ご存知の方よろしくご教授ください。
また手順としては、過去ログから推測するとCreateFile後にしか確認できないような気しますが、どうでしょうか?
よろしくお願いいたします。


REE  2006-05-12 03:44:52  No: 61772

>CreateFile後にしか確認できないような気しますが、どうでしょうか?
そうです。

そもそも、シリアルポートでは、実際に通信してみないと相手が分かりません。それどころか、ポートの先に繋がっているかどうかすら分かりません。

それどころか、通信したい相手以外も接続されている場合には、
通信しても分かる保障はありません。(汎用的な識別手順が無いため)

一番簡単で現実的なのは、ユーザーにポートを選んでもらうことですね。


けーた  2006-05-12 04:36:28  No: 61773

一応、できないことはないですよ。
特にUSBで接続されているならドライバの情報がありますので。

特定のデバイスがわかっているなら、
レジストリからそのデバイスの情報を引っ張ってこれば。

フレンドリネームからその特定のデバイスを
検索してポート番号を取得するとか。

レジストリからMBに元からついている
シリアルポートのポート番号を取得して、
それ以外のポートの場合はUSBポートだと識別させるとか。
(直付けの拡張ボードが載ってる場合は無理ですが・・・)

方法はいろいろです。

実際に通信しなくても、ある程度相手のことはわかります。
(純シリアルデバイスを除く・・・)


ひでらん  2006-05-12 17:49:38  No: 61774

ぶっちゃけた話、市販されているUSB-232C変換器を
使用して接続されたRS-232C機器が何か?を判定するのは
無理だと思う。

特定のUSB-232C変換器のポートはどれか?という事なら
けーたさんの仰る様にわかると思います。

実はこれ私も困ってまして、無理だと諦めましたw


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加