gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 06:41:26 26 4
gpt4 key购买 nike

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

  • 我可以毫无问题地找到设备(GetDeviceSelector、DeviceInformation),也可以毫无问题地打开设备(FromIdAsync)。
  • 我也可以毫无问题地向它发送输出报告(CreateOutputReport,为消息添加字节数组,SendOutputReportAsync),USB 设备通过打开 LED 做出正确 react 。
  • 无论我如何尝试包括不同的报告 ID,我都无法读回输入报告 (GetInputReportAsync)。尝试执行此操作时,该设备仍然有效且不为空。

我仔细检查了 VID、PID、使用页面和 ID。这些都没有违反我在文档中可以找到的任何内容,而不是尝试使用顶级使用页面。

我仔细检查了设备中的固件及其 USB 描述符。设备管理器在 Windows 7 或 10 中很满意,没有报告任何问题。我可以通过我用 Windows DDK 编写的接口(interface) DLL 访问 Windows 7 或 10 中的设备,以便与 Windows 7 和测试应用程序一起使用,并在 Windows 7 或 10 中正常发送/接收。我可以设置 LED,读回值,等等,所有功能都可以工作。

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

使用 Window 10 家庭版,启用开发者模式。试用过 Visual Studio 2015 Community Edition 和 VS 2015 Pro 试用版。我已经尝试了 GitHub 上的 Windows-universal-samples-master 和 CustomHidDeviceAccess 项目,运气不好,我的设备与本演示中使用的设备有点不同。

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

最佳答案

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

关于usb - Windows 10 UWP HID DLL 读取输入报告失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40556786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com