-1

を使用して RAS 対応デバイスを列挙し、"RasEnumDevices"DeviceNameを取得しています。"Communications cable between two computers #8""Communications cable between two computers #7""USB Device (COM10)"SetupDiGetDeviceRegistryProperty

これは正常な動作ですか?Rasphonebook を作成しようとすると、接続されているデバイス名を識別できないためです。デバイス名とフレンドリ名を同じにする方法はありますか?

列挙しようとし"RasEnumDevices"ましたが、デバイスのリストを取得しています。

WAN Miniport (L2TP)
WAN Miniport (L2TP)
WAN Miniport (PPTP)
WAN Miniport (PPTP)
WAN Miniport (PPPOE)
Communications cable between two computers #14
Communications cable between two computers #13

上記のリストからデバイスを選択するにはどうすればよいですか?

または、接続された RAS デバイスを一覧表示するためだけに利用できる API はありますか?

または接続されたデバイス名のみを取得する API はありますか? 私の場合、「2台のコンピューター間の通信ケーブル#8」のように..

アップデート :

RAS デバイス

上の図では、RAS デバイス名と COM ポート名を確認できます。これらのデバイスを COM ポート名で列挙する方法はありますか?

4

1 に答える 1

1

残念ながら、RasEnumDevices から返されたものは、まさに期待どおりのものです。RASDEVINFO 構造体を実際のハードウェア、または割り当てられているポートに直接結び付ける方法はありません。これは、構造体がハードウェアを一意に識別する方法を実際に提供しないためです。

2 つの PPTP VPN ポートがあるとします。ポート 1 とポート 2 を区別することはできません...どちらも API 呼び出しから「WAN ミニポート (PPTP)」として返されます。

ちなみに、相互運用コードを自分で処理したくない場合は、CodePlex の DotRas SDK をチェックしてみてください。RAS API のほぼ全体がラップされています。

using DotRas;

IEnumerable<RasDevice> devices = RasDevice.GetDevices();

これは、上記の SDK を使用して RasEnumDevices からリストされたデバイスを取得するために行った呼び出しです。

必要な場合のリンクは次のとおりです。http://dotras.codeplex.com

編集:追加したかったのですが、電話帳のエントリには、関連付けられているCOMポートがわかっているため、「2台のコンピューター間の通信ケーブル#14」という名前のみが必要です。それを自分で識別する必要はありません。また、デバイス名に COM ポート情報を追加した場合、エントリは機能しません。

幸運を!

于 2012-07-05T23:16:52.217 に答える