Я пытаюсь получить статус доступности с устройства 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...");
foreach(device in collection)
{
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