UWP 应用找不到 USB 设备总是从 UsbDevice.FromIdAsync() 获取 null

问题描述

我尝试按照 MSDN 中的说明在 uwp 中连接 USB 设备,但是我无法连接到 USB 设备并且总是从 UsbDevice.FromIdAsync () 获取空值。 我已经看到了关于这个问题的问题和答案here here

但没有解决我的问题。任何帮助将不胜感激。

这些是我正在尝试的代码片段。相同的代码片段适用于 .Net 标准应用程序。但不适用于 UWP。

UsbDevice device = null;
        string HPVID = "1008";
        string pid = "9812";
        try
        {

            Task.Run(async () =>
            {
                var aqsFilter = "System.Devices.InterfaceEnabled:= System.StructuredQueryType.Boolean#True " + "AND System.DeviceInterface.WinUsb.UsbvendorId:=" + HPVID +
                    "AND System.DeviceInterface.Winusb.UsbProductId:=" + pid;
                DeviceinformationCollection deviceInterface = await Deviceinformation.FindAllAsync(aqsFilter);

                if (deviceInterface.Count > 0)
                {
                    device = await UsbDevice.FromIdAsync(deviceInterface[0].Id);
                }

            }).Wait();
        }

解决方法

UWP 应用找不到 USB 设备。总是从 UsbDevice.FromIdAsync() 获取 null

如果添加 DeviceCapability 功能,请检查包清单文件,这里是您可以参考的 code sample

我真的很想知道到底是什么意思

我们有 document 来解释 Functionhere 是如何在包清单中指定设备功能的文档。这是您可以参考的 support list

长度在 1 到 100 个字符之间的字符串。在适当的情况下,字符串可以以“classId:”开头 | "winUsbId:" | "serviceId:" | "serviceId:" | “用法:” | “接口 ID:”