问题描述
我尝试按照 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 来解释 Function
。 here 是如何在包清单中指定设备功能的文档。这是您可以参考的 support list。
长度在 1 到 100 个字符之间的字符串。在适当的情况下,字符串可以以“classId:”开头 | "winUsbId:" | "serviceId:" | "serviceId:" | “用法:” | “接口 ID:”