private UsbSerialDevice GetDevice(UsbManager usbManager, UsbDevice usbDevice, bool allowAnonymousCdcAcmDevices) { UsbSerialDeviceID id = new UsbSerialDeviceID(usbDevice.VendorId, usbDevice.ProductId); UsbSerialDeviceInfo info = FindDeviceInfo(id); if (info != null) { UsbSerialDevice device = new UsbSerialDevice(usbManager, usbDevice, id, info); return(device); } else if (allowAnonymousCdcAcmDevices && usbDevice.DeviceClass == UsbClass.Comm) { UsbSerialDevice device = new UsbSerialDevice(usbManager, usbDevice, id, UsbSerialDeviceInfo.CdcAcm); return(device); } return(null); }
public UsbSerialDevice(UsbManager usbManager, UsbDevice usbDevice, UsbSerialDeviceID id, UsbSerialDeviceInfo info) { UsbManager = usbManager; UsbDevice = usbDevice; ID = id; Info = info; ConstructorInfo cInfo = Info.DriverType.GetConstructor(new Type[] { typeof(UsbManager), typeof(UsbDevice), typeof(int) }); if (cInfo == null) { throw new InvalidProgramException (); } Ports = new UsbSerialPort[info.NumberOfPorts]; for (int i = 0; i < Info.NumberOfPorts; i++) { Ports[i] = (UsbSerialPort)cInfo.Invoke(new object[] { UsbManager, UsbDevice, i }); } }
public UsbSerialDevice(UsbManager usbManager, UsbDevice usbDevice, UsbSerialDeviceID id, UsbSerialDeviceInfo info) { UsbManager = usbManager; UsbDevice = usbDevice; ID = id; Info = info; ConstructorInfo cInfo = Info.DriverType.GetConstructor(new Type[] { typeof(UsbManager), typeof(UsbDevice), typeof(int) }); if (cInfo == null) { throw new InvalidProgramException(); } Ports = new UsbSerialPort[info.NumberOfPorts]; for (int i = 0; i < Info.NumberOfPorts; i++) { Ports[i] = (UsbSerialPort)cInfo.Invoke(new object[] { UsbManager, UsbDevice, i }); } }
public UsbSerialDevice(UsbManager usbManager, UsbDevice usbDevice, UsbSerialDeviceID id, UsbSerialDeviceInfo info, SmartThreadPool threadPool)