public virtual void ControlTransfer(byte requestType, byte request, int value, int index, byte[] buffer = null, int?length = null) { _winUsbDevice.ControlTransfer(requestType, request, value, index, buffer ?? new byte[0], length ?? 0); ControlTransferSent?.Invoke(this, new ControlTransferSentEventArgs(requestType, request, value, index, buffer, length)); }
public virtual void ControlTransfer(byte requestType, byte request, int value, int index, byte[] buffer = null, int?length = null) { var libUsbSetupPacket = new UsbSetupPacket(requestType, request, (short)value, (short)index, (short)(length ?? 0)); _libUsbDevice.ControlTransfer(ref libUsbSetupPacket, buffer, libUsbSetupPacket.Length, out int _); ControlTransferSent?.Invoke(this, new ControlTransferSentEventArgs(requestType, request, value, index, buffer, length)); }