2

コンテキスト:
Windows 10 環境で、スキャナーと連携する C# アプリケーションがあります。
状況によっては、ユーザーがローカル コンピューターから、アプリケーションを実行しているリモート コンピューターに接続することがあります。
アプリケーションは、ローカルとリモートの両方で利用可能なスキャナーのリストを表示します。
スキャナーがローカル (ユーザーが使用しているコンピューターに接続されている) かリモート (アプリケーションが実行されているコンピューターに接続されている) かをアプリケーションで識別できるようにする必要があります。

私が試したこと: WIA ライブラリのDeviceManager
オブジェクト を使用して、コンピューターに接続されている各デバイスからプロパティ (DeviceInfo.Properties) のリストを取得できます。 1 つのプロパティPnP ID Stringは、リモート スキャナに対して常に「&rev」を表示します。

ローカル スキャナーの PnP ID 文字列の例: PnP ID 文字列、ローカル スキャナー

リモート スキャナの場合: PnP ID 文字列、リモート スキャナ

この動作は、さまざまなブランド (Fujitsu、HP など) の複数のスキャナで確認されています。
リモート スキャナーで検出された「tsusb-session」文字列は、最初は興味深いように見えましたが、HP スキャナーでテストすると表示されません。

また、復元されるプロパティの 1 つに Remote Device ID がありますが、常に空白で表示されます。

「&rev」はリモート デバイスを識別するための信頼できる方法ですか? そうでない場合、それを行う正確な方法はありますか?

4

0 に答える 0