システムで現在使用されている USB デバイスの種類を知る必要があります。USB デバイスのクラスコードに関するUSB 仕様があります。しかし、デバイス タイプを取得できません。WMI 要求WQL: select * from Win32_UsbHub
で、クラス コード、サブクラス コード、プロトコル タイプ フィールドに null 値が返されます。現在使用中の 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
}
}