comparison USBLib/Communication/USBIO/USBIODevice.cs @ 65:abe0d55a2201

Removed some redundant USB communication code
author Ivo Smits <Ivo@UCIS.nl>
date Tue, 15 Oct 2013 16:19:45 +0200
parents 053cc617af54
children 2d16447eff12
comparison
equal deleted inserted replaced
64:99ed461509fe 65:abe0d55a2201
107 get { return base.Configuration; } 107 get { return base.Configuration; }
108 set { 108 set {
109 IList<LibUsbDotNet.Info.UsbConfigInfo> configs = (new LibUsbDotNet.UsbDevice(this)).Configs; 109 IList<LibUsbDotNet.Info.UsbConfigInfo> configs = (new LibUsbDotNet.UsbDevice(this)).Configs;
110 for (int i = 0; i < configs.Count; i++) { 110 for (int i = 0; i < configs.Count; i++) {
111 LibUsbDotNet.Info.UsbConfigInfo config = configs[i]; 111 LibUsbDotNet.Info.UsbConfigInfo config = configs[i];
112 if (config.Descriptor.ConfigID == value) { 112 if (config.Descriptor.ConfigurationValue == value) {
113 unsafe { 113 unsafe {
114 USBIO_SET_CONFIGURATION req = new USBIO_SET_CONFIGURATION(); 114 USBIO_SET_CONFIGURATION req = new USBIO_SET_CONFIGURATION();
115 req.ConfigurationIndex = (ushort)i; 115 req.ConfigurationIndex = (ushort)i;
116 req.NbOfInterfaces = Math.Min((ushort)32, config.Descriptor.InterfaceCount); 116 req.NbOfInterfaces = Math.Min((ushort)32, config.Descriptor.NumInterfaces);
117 for (int j = 0; j < req.NbOfInterfaces; j++) { 117 for (int j = 0; j < req.NbOfInterfaces; j++) {
118 LibUsbDotNet.Info.UsbInterfaceInfo intf = config.InterfaceInfoList[j]; 118 LibUsbDotNet.Info.UsbInterfaceInfo intf = config.InterfaceInfoList[j];
119 *((USBIO_INTERFACE_SETTING*)(req.InterfaceList + sizeof(USBIO_INTERFACE_SETTING) * j)) = 119 *((USBIO_INTERFACE_SETTING*)(req.InterfaceList + sizeof(USBIO_INTERFACE_SETTING) * j)) =
120 new USBIO_INTERFACE_SETTING() { InterfaceIndex = intf.Descriptor.InterfaceID, AlternateSettingIndex = 0, MaximumTransferSize = UInt16.MaxValue }; 120 new USBIO_INTERFACE_SETTING() { InterfaceIndex = intf.Descriptor.InterfaceNumber, AlternateSettingIndex = 0, MaximumTransferSize = UInt16.MaxValue };
121 } 121 }
122 try { 122 try {
123 DeviceIoControl(DeviceHandle, IOCTL_USBIO_SET_CONFIGURATION, (IntPtr)(&req), sizeof(USBIO_SET_CONFIGURATION), IntPtr.Zero, 0); 123 DeviceIoControl(DeviceHandle, IOCTL_USBIO_SET_CONFIGURATION, (IntPtr)(&req), sizeof(USBIO_SET_CONFIGURATION), IntPtr.Zero, 0);
124 } catch (Win32Exception ex) { 124 } catch (Win32Exception ex) {
125 if (ex.NativeErrorCode == unchecked((int)0xE0001005L)) return; 125 if (ex.NativeErrorCode == unchecked((int)0xE0001005L)) return;