C # определяет USB-устройство ClassCode (тип USB-устройства)

Мне нужно знать, какие USB-устройства в настоящее время используются в системе. EстьСпецификация USB о кодах классов USB-устройств. Но я не могу получить тип устройства, запрос WMIWQL: select * from Win32_UsbHub дать нулевые значения в коде класса, коде подкласса, полях типа протокола. Есть идеи, как определить тип используемого USB-устройства?

Мой текущий код:

ManagementObjectCollection collection; 
using (var searcher = new ManagementObjectSearcher(@"Select * From Win32_USBHub")) 
{
    collection = searcher.Get();
    foreach (var device in collection)
        {
            var deviceId = (string)GetPropertyValue("DeviceID");
            var pnpDeviceId = (string)GetPropertyValue("PNPDeviceID");
            var descr = (string)device.GetPropertyValue("Description");
            var classCode = device.GetPropertyValue("ClassCode"); //null here
        }
}

Ответы на вопрос(1)

Ваш ответ на вопрос