Usb Windows 10 UWP HID DLL读取输入报告失败

Usb Windows 10 UWP HID DLL读取输入报告失败,usb,report,uwp,hid,Usb,Report,Uwp,Hid,Windows 10 UWP C#编程访问HID USB设备时出现问题 我在查找设备(GetDeviceSelector,DeviceInformation)方面没有问题,在打开设备(FromIdAsync)方面也没有问题 我还可以向它发送一个输出报告没有问题(CreateOutputReport,为消息添加一个字节数组,SendOutputReportAsync),USB设备通过打开LED正确响应 无论我如何尝试包含不同的报告ID,我都无法读回输入报告(GetInputReportAsync

Windows 10 UWP C#编程访问HID USB设备时出现问题

  • 我在查找设备(GetDeviceSelector,DeviceInformation)方面没有问题,在打开设备(FromIdAsync)方面也没有问题
  • 我还可以向它发送一个输出报告没有问题(CreateOutputReport,为消息添加一个字节数组,SendOutputReportAsync),USB设备通过打开LED正确响应
  • 无论我如何尝试包含不同的报告ID,我都无法读回输入报告(GetInputReportAsync)。尝试执行此操作时,设备仍然有效且不为空
我已经仔细检查了VID、PID、使用页面和ID。这些都没有违反我在文档中找到的任何内容,也没有尝试使用顶级使用页面

我已经仔细检查了设备中的固件及其USB描述符。设备管理器在Windows 7或10中运行良好,未报告任何问题。我可以通过我用WindowsDDK编写的用于Windows7和测试应用程序的接口DLL访问Windows7或10中的设备,并在Windows7或10中发送/接收。我可以设置LED,读取值等,所有功能都可以工作

我已连接USB分析仪,数据包在那里,但GetInputReportAsync函数不会返回任何数据,只是出现了一个异常“连接到系统的设备未正常工作。(来自HRESULT的异常:0x8007001F)”

使用Window 10 Home,启用开发人员模式。已试用Visual Studio 2015社区版和VS 2015 Pro试用版。我在GitHub上试用了Windows universal samples master和CustomHidDeviceAccess项目,不走运,我的设备与本演示中使用的设备有点不同


以前有人见过这个吗?有什么诀窍或特殊的方法可以做到这一点吗?Windows 10或我的项目中是否缺少设置?十六进制FF中是否有特定的使用页面??我不能与UWP一起使用的范围?还是某些报告ID?我只是想知道为什么我在试图通过C#UWP获取输入报告时总是遇到异常,为什么我的DDK DLL/app总是工作。建议?Thx

显然,您不能只调用GetInputReportAsync()函数来读取报告。相反,我能让它工作的唯一方法是在我的设备上添加一个事件处理程序,通过InputReportReceived处理输入报告的接收。然后,在我发送输出报告之后,等待事件处理程序启动并通知从设备返回的输入报告数据,即对我的命令的回复。这似乎是我能让它在这个配置上工作的唯一方法

我敢打赌这是一个权限问题。如果在包清单中没有完全正确地指定权限,则可以遍历设备,但无法连接。读一读这篇文章。它帮助我弄清楚我需要在舱单上放什么

下面是一个让我困惑的工作示例: . 它与图书馆配合得很好