AVaRICEDebugPackage.UsbDriverHelper.TryFindDeviceInstance C# (CSharp) Method

TryFindDeviceInstance() public static method

public static TryFindDeviceInstance ( UsbIdentity usbIdentities ) : DeviceRecord
usbIdentities UsbIdentity
return DeviceRecord
        public static DeviceRecord TryFindDeviceInstance(UsbIdentity[] usbIdentities)
        {
            if (usbIdentities == null)
                throw new ArgumentNullException("usbIdentities");

            var allDevices = DeviceRecord.FindAllUsbDevices();
            if (allDevices == null)
                return null;

            foreach (var dev in allDevices)
            {
                foreach (var id in usbIdentities)
                    if (string.Equals(dev.VendorID, id.VID, StringComparison.InvariantCultureIgnoreCase) && string.Equals(dev.ProductID, id.PID, StringComparison.InvariantCultureIgnoreCase))
                    {
                        if (string.IsNullOrEmpty(id.Interface) || string.Equals(id.Interface, dev.Interface))
                            return dev;
                    }
            }

            return null;
        }