【问题标题】:Windows 8.1 Store App HidDevice.FromIdAsync returns nullWindows 8.1 应用商店应用 HidDevice.FromIdAsync 返回 null
【发布时间】:2014-06-11 17:16:53
【问题描述】:

类似于:http://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/2cb65387-aad8-444d-a462-c44f3111a877/action?threadDisplayName=win81-hid-device-returning-null

我正在尝试访问用于 OCR 和磁条读取的 HID 设备,即 Desko mini MPR。它的venpid是0x0744 0x001D,它有三个接口,[usage page usage 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?代理组件?购买新设备 - 我如何提前知道它是否兼容?

【问题讨论】:

  • 你试过第二个ffa0是小写吗?另外,您是否尝试过添加所有使用界面?根据this可以添加多个。

标签: c# windows-store-apps usb windows-8.1 hid


【解决方案1】:

用尽所有其他途径,在尝试疯狂的 UMDF 或代理组件之前,我再次通读了这篇调试文章: Writing Apps for USB Devices

这次我特别注意了驱动程序部分。查看为我的设备安装的驱动程序时,我注意到安装了卡巴斯基的驱动程序。因此,为了进行测试,我卸载了卡巴斯基,重新启动,然后在设备管理器和注册表 (HKLM\System\CurrentControlSet\Control\DeviceClasses) 中删除了设备的所有条目。

然后我插入设备,运行我的测试程序,FromIdAsync 使用预期的usagePage FFA0 和usage 0001 工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    • 2016-04-09
    相关资源
    最近更新 更多