string VendorMatching = "VID_053A&PID_0B01"; // Vendor Id Prod Id Minor Revisioin
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_PnPEntity")) //Win32_PnPEntity Win32_USBHub
{
foreach (ManagementObject queryObj in searcher.Get())
{
var v = new
{
ConfigManagerErrorCode = queryObj.Properties["ConfigManagerErrorCode"].Value,
Status = queryObj.Properties["Status"].Value,
StatusInfo = queryObj.Properties["StatusInfo"].Value,
Availability = queryObj.Properties["Availability"].Value,
LastErrorCode = queryObj.Properties["LastErrorCode"].Value,
DeviceID = queryObj.Properties["DeviceID"].Value,
PNPDeviceID = queryObj.Properties["PNPDeviceID"].Value,
ClassGuid = queryObj.Properties["ClassGuid"].Value,
HardwareID = queryObj.Properties["HardwareID"].Value,
};
if (v.DeviceID.ToString().Contains(VendorMatching))
Debug.WriteLine(v);
}
}
// Win32_PnPEntity class has Error Code
// { ConfigManagerErrorCode = 0, Status = OK, StatusInfo = , Availability = , LastErrorCode = , DeviceID = HID\VID_053A&PID_0B01&MI_01&COL04\9&98E7406&0&0003, PNPDeviceID = HID\VID_053A&PID_0B01&MI_01&COL04\9&98E7406&0&0003, ClassGuid = {745a17a0-74d3-11d0-b6fe-00a0c90f57da}, HardwareID = System.String[] }
Thursday, January 1, 2015
Query PnP device health Status
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment