WMI查询PNP_entity的父/子

时间:2015-07-28 13:25:33

标签: c# usb wmi

我目前正在开发一个程序来检查是否在C#中的特定USB集线器上检测到USB设备。我知道连接到集线器的集线器和从设备的PID和VID。 我使用ManagementObjectSearcher Query来获取设备:

ManagementObjectSearcher USBSearchQuery = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_PnPEntity WHERE DeviceID LIKE \"%VID_17EF&PID_6019%\"");
ManagementObjectCollection DeviceCollection = USBSearchQuery.Get();

这很好用。 ManagementObjectCollection DeviceCollection包含2个元素。一个HID设备和一个USB设备。当我检查设备管理器时,我看到了元素,并且可以访问属性Parent,但似乎无法通过WMI查询获取对象的父节点或子节点。

我可以通过集线器的子节点或设备的父节点来完成此操作。你们有没有想过如何做到这一点?

1 个答案:

答案 0 :(得分:0)

ManagementObjectCollection DeviceCollection = USBSearchQuery .Get();
foreach (ManagementObject mo in DeviceCollection )
    {
      //get all properties 
      //ex: mo.Properties["Description"].Value represents the friendly name of the device
      //mo.Properties["PNPClass"].Value represents the parent class of the device
    }