Mercurial > hg > ucis.core
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; |