c# - 出现错误:System.Exception:无法获取设备接口详细信息。错误代码:使用 HID.Net 和 USB.Net 时出现 122
问题描述
我有一个使用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());
}
}
}
}
我不明白我做错了什么,因此非常感谢任何解释或见解。
解决方案
编辑:这个错误已经被修复并且在当前的 2.3 版本中。但是,如果您认为没有返回设备,则仍然值得克隆 repo 并逐步执行代码。如果在尝试收集有关设备的信息的过程中出现问题,设备将不会返回
上一个答案: 这是一个已知的错误。有时,获取隐藏详细信息的调用不起作用,因此其余的将失败。我实际上已在此提交 664978f5084a6113a2b9e9a0371d5c7d40f30731 中修复了此问题,但我相信修复仅在开发分支中。如果您签出该修订版,则代码不应崩溃。我会尽快发布一个新的 NuGet 版本来解决这个问题。但是,您应该明白,如果 Hid.Net 无法获取设备的详细信息,则不会认为它已连接。
推荐阅读
- xampp - 如何在 xampp 中禁用 localhost/dashboard 目录列表
- reactjs - 我可以在反应功能组件中更新嵌套函数内的状态吗?
- flutter - 在flutter中,如何从api数据中获取单个字段
- python - 满足条件时停止 CuPy 操作?
- javascript - 无法通过剃刀页面中的javascript从控件中获取值
- jquery - 计时器与正确时间不同
- sql-server - 排除日期为星期日且单元格值为零或空的行(在 SQL Server 中)
- python - 如何将 python 列表转换为 lxml.etree._Element
- vue.js - 如何显示上传的图片
- ios - “本机模块不能为空”