どちらも同じ内容でしたので、少々昔のプログラムを引っ張り出してみます。制作時に参考にしたのはサンプル「\WinDDK\6000\src\hid\hclient\pnp.c」です。)以後列挙して目的のデバイスを探しています。調べることが出来ます。このあたりのコードは力業です。1つ試しながらだったので、あまりきれいじゃないと思いつつ書いていた覚えがあります。);returnfound;}検索して条件に合うデバイスをリストに保持し、それぞれ個別に通信を行っています。内部でリストに追加しているだけです。見つかった最初のデバイスだけ見ているか、それとも全部列挙しているかの違いだけだと思います。テストや通信タイムアウトの判定などを行っています。判定は最初の一度だけでいいということ。テストが走ってしまい、すでにつながってるデバイスの通信も一時中断されてしまう問題がありました。このあたりの処理をきれいに組み込めずに少々苦労した覚えがあります。定期的に接続されているデバイスを確認して、動的な接続&切断に備えています。オープンしたデバイスかどうかの区別が必要となりますが、結局保持しているパスの文字列比較というもっとも安易な方法で済ませました。