2016-07-07 9 views
0

私はこのコードを試しましたが、 "ClassGuid"しか取得しません。 USBデバイスのインターフェースガイドを入手する方法はありますか?USBデバイスのインターフェースガイドを取得するには?

private void loadUsbDevices() 
{ 
    using (var searcher = new ManagementObjectSearcher(
     @"SELECT * FROM Win32_PnPEntity WHERE DeviceID LIKE 'USB%'")) 
    { 
     ManagementObjectCollection collection = searcher.Get(); 

     foreach (var device in collection) 
     { 
      Console.WriteLine(((string) device.GetPropertyValue("Name")) + " (" 
         + ((string) device.GetPropertyValue("ClassGuid")) + ") " 
         + ((string)device.GetPropertyValue("DeviceID"))); 
     } 
    } 
} 
+0

デバイスがWinUSBをドライバとして使用していますか? –

+0

@DavidGraysonはい – joyqi

答えて

1

お使いのデバイスドライバとしてのWinUSBを使用しているため、あなたはおそらくすでにDeviceInterfaceGUIDsは、そのデバイスのレジストリに挿入するというレジストリ値のために配置されています。 SetupDiOpenDevRegKeyRegQueryValueExWを使用して同じ値を取得できます。これを行い、いくつかのサンプルコードでは、libusbpからこのコードを参照してください:あなたはまたのlibusbのソースコードに似たコードを見つけることができます

https://github.com/pololu/libusbp/blob/890379c54ef58de46afc60b9c3eccfe2bd66d523/src/windows/generic_interface_windows.c#L93

関連する問題