Windowsで使用可能なモデムを取得する

Posted by atusi on 2010/12/09 in PC | Short Link

 仕事で調べた。Webも有効な情報がなく、SDKにも載って無く苦労した。ひたすらレジストリとにらめっこ。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Modem\Enumから0で始まるキーの値を取得する。
ex. HDAUDIO\FUNC_02&VEN_14F1&DEV_2C06&SUBSYS_104D1700&REV_1000\4&a1f29e7&0&0102
複数のモデムが使えるときは0~連番の数字で登録されているのですべて取得する。

取得した値をもとにHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enumから情報を取得する。
ex. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HDAUDIO\FUNC_02&VEN_14F1&DEV_2C06&SUBSYS_104D1700&REV_1000\4&a1f29e7&0&0102
名称を取得するときはFriendlyName項目から取得する。この項目を取得すると同じ名前のデバイスがあった時、#付きの番号が付いた名前で取得できる。

更に詳細のドライバー情報を取得するときにはDriver項目を元にHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Classから情報を取得する。
ex. Driverが{4d36e96d-e325-11ce-bfc1-08002be10318}\0000のとき、
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96d-e325-11ce-bfc1-08002be10318}\0000
COMポートが必要ならAttachedTo項目から取得する。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96d-e325-11ce-bfc1-08002be10318}には過去に認識したすべてのモデム情報が登録されている。

この方法で取得すれば、WindowsXPだろうがWindows7だろうが問題なく接続しているモデムの情報が取得できる。

タグ: , ,

Copyright © 2003-2021 いっちゃってる~日々 All rights reserved.
Shades-custom, v1.0, was grown from the Shades theme, v2.4.1, created by BuyNowShop.com.