【问题标题】:Getting Error: System.Exception: Could not get device interface detail. Error code: 122 when using HID.Net and USB.Net出现错误:System.Exception:无法获取设备接口详细信息。错误代码:使用 HID.Net 和 USB.Net 时出现 122
【发布时间】:2019-01-05 20:31:21
【问题描述】:

我有一个使用 Hid.Net 库的控制台应用程序 (.Net Core) 项目,其最终目标是连接我的 HID 游戏控制器并从中读取数据,但作为了解库的起点,我编写了代码来枚举我想连接的游戏控制器的连接设备。我编写的代码遵循库中的documentation。但是当我运行项目时,我得到了错误:

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());
            }
        }
    }
}

我不明白我做错了什么,因此非常感谢任何解释或见解。

【问题讨论】:

    标签: c# usb hid joystick


    【解决方案1】:

    编辑:这个错误已经被修复并且在当前的 2.3 版本中。但是,如果您认为没有返回设备,则仍然值得克隆 repo 并逐步执行代码。如果在尝试收集设备信息的过程中出现问题,设备将不会返回

    上一个答案: 这是一个已知的bug。有时,获取隐藏详细信息的调用不起作用,因此其余的将失败。我实际上已经在这个提交 664978f5084a6113a2b9e9a0371d5c7d40f30731 中修复了这个问题,但我相信修复只在开发分支中。如果您签出该修订版,则代码不应崩溃。我会尽快发布一个新的 NuGet 版本来解决这个问题。但是,您应该明白,如果 Hid.Net 无法获取设备的详细信息,则不会认为它已连接。

    【讨论】:

      猜你喜欢
      • 2022-01-15
      • 2021-07-28
      • 2020-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-29
      • 1970-01-01
      • 2016-05-14
      相关资源
      最近更新 更多