Exemple #1
0
        public UsbInterfaceInfo(UsbDevice usbDevice, UsbInterfaceDescriptor usbInterfaceDescriptor, IEnumerable <IUsbEndpointDescriptor> usbEndpoints)
        {
            mUsbDevice = usbDevice;
            mUsbInterfaceDescriptor = usbInterfaceDescriptor;

            foreach (var usbEndpoint in usbEndpoints)
            {
                mEndpointInfo.Add(new UsbEndpointInfo(usbEndpoint));
            }
        }
        internal UsbInterfaceInfo(UsbDevice usbDevice, MonoUsbAltInterfaceDescriptor monoUSBAltInterfaceDescriptor)
        {
            mUsbDevice = usbDevice;

            mUsbInterfaceDescriptor = monoUSBAltInterfaceDescriptor;
            List <IUsbEndpointDescriptor> monoUsbEndpoints = monoUSBAltInterfaceDescriptor.EndpointList;

            foreach (MonoUsbEndpointDescriptor monoUSBEndpoint in monoUsbEndpoints)
            {
                mEndpointInfo.Add(new UsbEndpointInfo(monoUSBEndpoint));
            }
        }
Exemple #3
0
        /// <summary>
        /// Gets a <see cref="IUsbInterfaceDescriptor"/> for the specified AlternateInterfaceNumber,
        /// </summary>
        /// <param name="alternateInterfaceNumber">The alternate interface index for the <see cref="IUsbInterfaceDescriptor"/> to retrieve. </param>
        /// <param name="usbAltInterfaceDescriptor">The <see cref="IUsbInterfaceDescriptor"/> for the specified AlternateInterfaceNumber.</param>
        /// <returns>True on success.</returns>
        public bool QueryInterfaceSettings(byte alternateInterfaceNumber, ref IUsbInterfaceDescriptor usbAltInterfaceDescriptor)
        {
            bool bSuccess;

            UsbInterfaceDescriptor usbInterfaceDescriptor = new UsbInterfaceDescriptor();

            bSuccess = WinUsbAPI.WinUsb_QueryInterfaceSettings(Handle, alternateInterfaceNumber, usbInterfaceDescriptor);
            if (!bSuccess)
            {
                UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "QueryInterfaceSettings", this);
            }

            usbAltInterfaceDescriptor = usbInterfaceDescriptor;
            return(bSuccess);
        }
 internal UsbInterfaceInfo(UsbDevice usbDevice, byte[] descriptor)
 {
     mUsbDevice = usbDevice;
     mUsbInterfaceDescriptor = new UsbInterfaceDescriptor();
     Helper.BytesToObject(descriptor, 0, Math.Min(UsbInterfaceDescriptor.Size, descriptor[0]), mUsbInterfaceDescriptor);
 }