我试图访问用于OCR和Mag Stripe读取的HID设备,即Desko mini MPR。它的venpid是0x0744 0x001D,它有三个接口,[使用页面使用id] 0x0001 0x0002,0x0001 0x0006和0xFFA0 0x0001。
与链接问题类似,FindAllAsync返回DeviceInformation,HidDevice.FromIdAsync返回null,DeviceAccessInformation.CurrentStatus抛出ElementNotFound。 我理解使用页面0x0001被阻止但我希望0xFFA0能够访问。
对于设备功能,我尝试过:
<m2:DeviceCapability Name="humaninterfacedevice">
<!--Desko Device-->
<m2:Device Id="vidpid:0744 001D usb">
<m2:Function Type="usage:0001 *"/>
</m2:Device>
</m2:DeviceCapability>
和
<m2:DeviceCapability Name="humaninterfacedevice">
!--Desko Device-->
<m2:Device Id="vidpid:0744 001D usb">
<m2:Function Type="usage:FFA0 0001"/>
/m2:Device>
</m2:DeviceCapability>
和
<m2:DeviceCapability Name="humaninterfacedevice">
<!--Desko Device-->
<m2:Device Id="vidpid:0744 001D usb">
<m2:Function Type="usage:FFA0 *"/>
</m2:Device>
</m2:DeviceCapability>
没有产生预期的结果。
我该怎么做才能访问此设备?自定义UMDF?经纪人的组件?获取新设备 - 我如何提前知道它是否兼容?
答案 0 :(得分:2)
耗尽所有其他途径,在尝试疯狂之前 - UMDF或Brokered Components,我再次阅读这篇调试文章: Writing Apps for USB Devices
这次我特别注意了司机部分。在查看为我的设备安装的驱动程序时,我注意到安装了卡巴斯基的驱动程序。因此,为了测试,我卸载了Kaspersky,重新启动,然后删除了设备管理器和注册表(HKLM \ System \ CurrentControlSet \ Control \ DeviceClasses)中设备的所有条目。
然后我插入设备,运行我的测试程序,FromIdAsync使用预期的usagePage FFA0和用法0001。