我有一个使用Hid.Net库的控制台应用程序(.Net Core)项目,最终目标是连接我的 HID 游戏控制器并从中读取数据,但作为理解库的起点,我有编写代码来枚举我想连接的游戏控制器的连接设备。我编写的代码遵循库中的文档。但是当我运行这个项目时,我得到了错误:System.Exception:无法获取设备接口详细信息。错误代码:122这是我写的代码:using System;using System.Threading.Tasks;using Device.Net;using Hid.Net.Windows;using Usb.Net.Windows;namespace IOLibrary{ class Program { static void Main(string[] args) { CheckforDevices(); Console.ReadLine(); } static async Task CheckforDevices() { try { WindowsHidDeviceFactory.Register(); WindowsUsbDeviceFactory.Register(); var devices = await DeviceManager.Current.GetConnectedDeviceDefinitions(0x0079, 0x0006); foreach(var device in devices) { Console.WriteLine(device.DeviceId); } } catch(Exception e) { Console.WriteLine(e.ToString()); } } }}我不明白我做错了什么,因此非常感谢任何解释或见解。
1 回答

尚方宝剑之说
TA贡献1788条经验 获得超4个赞
编辑:这个错误已经被修复并且在当前的 2.3 版本中。但是,如果您认为没有返回设备,则仍然值得克隆 repo 并逐步执行代码。如果在尝试收集有关设备的信息的过程中出现问题,设备将不会返回
上一个答案: 这是一个已知的错误。有时,获取隐藏详细信息的调用不起作用,因此其余的将失败。我实际上已在此提交 664978f5084a6113a2b9e9a0371d5c7d40f30731 中修复了此问题,但我相信修复仅在开发分支中。如果您签出该修订版,则代码不应崩溃。我会尽快发布一个新的 NuGet 版本来解决这个问题。但是,您应该明白,如果 Hid.Net 无法获取设备的详细信息,则不会认为它已连接。
- 1 回答
- 0 关注
- 143 浏览
添加回答
举报
0/150
提交
取消