Не удалось включить заявленное устройство с помощью POS для .Net

Я использую ручной считыватель штрих-кодов Motorola DS4208. В прошлом мне удавалось успешно настроить и использовать это устройство, однако недавно оно перестало работать. Это может быть результатом установки других устройств, которые также используют интерфейсы OPOS и POS для .Net.

Это USB-устройство, поэтому я создал файл конфигурации управления с именем *Moto_Scanner.xml* и поместил его в нужное место.

<PointOfServiceConfig Version="1.0">
<ServiceObject Type="Scanner" Name="Example Scanner">
<HardwareId 
    From="HID\VID_05E0&amp;PID_1300&amp;REV_0100" 
    To="HID\VID_05E0&amp;PID_1300&amp;REV_0100" />
<HardwareId 
    From="HID\VID_05E0&amp;PID_1300" 
    To="HID\VID_05E0&amp;PID_1300" />
</ServiceObject>
</PointOfServiceConfig>

Используя SOMgr.exe, я вижу устройство в POSDevices с правильным путем. Затем я создал логическое имя MotoScan. Затем он появится в списке логических имен, как и ожидалось.

Используя Microsoft Point Of Service\SDK\Samples\Sample Application\TestApp.exe, я могу открыть и заявить права на устройство. Однако после попытки установить флажок «Включить» я получаю следующее сообщение об ошибке.

POSControlException ErrorCode(Failure) ExtendedErrorCode(0) occurred: Unable to enable the device.  See inner exception for details.
System.ComponentModel.Win32Exception: The process cannot access the file because it is being used by another process
   at Microsoft.PointOfService.ExampleServiceObjects.HidReader.HidThread.StartReading()
   at Microsoft.PointOfService.ExampleServiceObjects.HidReader.OpenDevice()
   at Microsoft.PointOfService.ExampleServiceObjects.ExampleScanner.set_DeviceEnabled(Boolean value)
Opened device: Example Scanner
Created instance of device: Example Scanner

Motorola предоставляет приложение под названием 123Scan для помощи в настройке и тестировании. Используя это приложение, я могу подтвердить, что устройство работает. В конечном итоге это приложение было удалено в рамках устранения неполадок.

Любые предложения будут оценены.


person David Rupe    schedule 15.06.2011    source источник


Ответы (2)


Вы пробовали установить драйвер OPOS?

РЕДАКТИРОВАТЬ:

Вместо того, чтобы повторно связывать это каждый раз, когда срок его действия истекает, вы должны активно искать «драйвер OPOS» на http://support.symbol.com, чтобы вы могли загрузить драйвер для соответствующей платформы.

person Bryan Crosby    schedule 15.07.2011
comment
@bluefeet: обновил пост - person Bryan Crosby; 19.11.2013

В процессе обучения стало ясно, что открытие и запрос устройства не означает, что оно на самом деле подключено. POS Explorer позволит вам открыть соединение и запросить устройство для эксклюзивного использования, даже если оно физически не подключено. Частично это связано с тем, что POS Explorer использует объект службы для связи с оборудованием.

Только после того, как вы включите устройство, вы получите положительное подтверждение того, что устройство доступно. На самом деле, если включить не удается, у вас есть подтверждение, что устройство не подключено.

Для ручного сканера Motorola DS4208 не требуется специальный файл сопоставления конфигурации. После установки Motorola ADK устанавливаются правильные сервисные объекты, и в них сохраняются идентификаторы оборудования. В моем предыдущем коде я попытался использовать объект службы «Пример сканера», доступный в SDK POS Explorer, для связи с этим оборудованием, что было моей основной ошибкой.

После установки драйвера OPOS для сканеров символов версии 3.31 у меня не возникло проблем с тестированием оборудования.

person David Rupe    schedule 18.07.2011