Използвам ръчен четец на баркод Motorola DS4208. В миналото успях успешно да настроя и използвам това устройство, но наскоро то спря да работи. Това може да е резултат от инсталиране на други устройства, които също използват OPOS и POS за .Net интерфейси.
Това е USB устройство, така че създадох файл за конфигурация на управление с име *Moto_Scanner.xml* и го поставих на правилното място.
<PointOfServiceConfig Version="1.0">
<ServiceObject Type="Scanner" Name="Example Scanner">
<HardwareId
From="HID\VID_05E0&PID_1300&REV_0100"
To="HID\VID_05E0&PID_1300&REV_0100" />
<HardwareId
From="HID\VID_05E0&PID_1300"
To="HID\VID_05E0&PID_1300" />
</ServiceObject>
</PointOfServiceConfig>
С помощта на SOMgr.exe мога да видя устройството в POSDevices с правилния път. След това създадох LogicalName на 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, за подпомагане на конфигурацията и тестването. С помощта на това приложение мога да потвърдя, че устройството работи. В крайна сметка това приложение беше деинсталирано като част от отстраняването на неизправности.
Всякакви предложения ще бъдат оценени.