Как определить, является ли устройство (сканер) локальным или удаленным? - PullRequest
2 голосов
/ 29 октября 2019

Контекст:
У меня есть приложение C #, которое работает со сканером в среде Windows 10.
В некоторых случаях пользователи с локального компьютера подключаются к удаленномукомпьютер, на котором запущено приложение.
Приложение отображает список доступных сканеров, как локальных, так и удаленных.
Мне нужно, чтобы приложение могло определить, является ли сканер локальным (подключен к компьютеру пользователявключен) или удаленно (подключен к компьютеру, на котором запущено приложение).

Что я пробовал:
Использование объекта DeviceManager изБиблиотека WIA, я могу получить список свойств (DeviceInfo.Properties) от каждого устройства, подключенного к компьютеру.
Одно свойство, PnP ID String , всегда отображает «& rev» для удаленных сканеров.

Пример строки ID PnP для локального сканера: PnP ID string, local scanner

Для удаленного сканера: PnP ID string, remote scanner

Такое поведение должно бытьru наблюдается на нескольких сканерах разных марок (а именно Fujitsu, HP).
Строка "tsusb-session", найденная для удаленного сканера, выглядела в первую очередь интересной, но отсутствует при тестировании со сканерами HP.

Кроме того, одно из восстановленных свойств - это идентификатор удаленного устройства, но оно всегда отображается пустым.

Является ли «& rev» надежным способом идентификации удаленного устройства? Если нет, есть ли точный способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...