我正在尝试从PnP设备获取可用性状态 我已经阅读了这篇文章:Win32_PnPEntity,似乎我应该能够获得价值;但是它总是空值,我不知道为什么。其他属性,例如“名称”,“标题”,“ ClassGUID”等,都返回良好的值。
这是一些代码,显示我要做什么...
ManagementObjectCollection collection;
using (var searcher = new ManagementObjectSearcher(@"SELECT * FROM Win32_PnPEntity WHERE Description LIKE '%USB%'"))
collection = searcher.Get();
Console.WriteLine("Waiting for CmdPort to be available...");
var availableTimeout = 50;
while (availableTimeout > 0)
{
var availability = device["Availability"] ?? -1;
if((int)availability == 3)
break;
Console.WriteLine($"Availability = {availability.ToString()} (timeout = {availableTimeout})")
availableTimeout--;
Thread.Sleep(100);
}
我希望uint16会在1到21之间恢复正常