コンテキスト:
Windows 10 環境で、スキャナーと連携する C# アプリケーションがあります。
状況によっては、ユーザーがローカル コンピューターから、アプリケーションを実行しているリモート コンピューターに接続することがあります。
アプリケーションは、ローカルとリモートの両方で利用可能なスキャナーのリストを表示します。
スキャナーがローカル (ユーザーが使用しているコンピューターに接続されている) かリモート (アプリケーションが実行されているコンピューターに接続されている) かをアプリケーションで識別できるようにする必要があります。
私が試したこと: WIA ライブラリのDeviceManager
オブジェクト
を使用して、コンピューターに接続されている各デバイスからプロパティ (DeviceInfo.Properties) のリストを取得できます。
1 つのプロパティPnP ID Stringは、リモート スキャナに対して常に「&rev」を表示します。
この動作は、さまざまなブランド (Fujitsu、HP など) の複数のスキャナで確認されています。
リモート スキャナーで検出された「tsusb-session」文字列は、最初は興味深いように見えましたが、HP スキャナーでテストすると表示されません。
また、復元されるプロパティの 1 つに Remote Device ID がありますが、常に空白で表示されます。
「&rev」はリモート デバイスを識別するための信頼できる方法ですか? そうでない場合、それを行う正確な方法はありますか?