Can anyone assist with this error, see comments?
foreach (var ei in allEffects)
{
if (Convert.ToString((int)ei.Type & 7, 2) == "101")
{
EffectParameters ep = new EffectParameters();
int xAxisOffset = 0, yAxisOffset = 0;
int nextOffset = 0;
foreach (DeviceObjectInstance d in joystick.GetObjects())
{
if (d.ObjectType.Equals(DeviceObjectTypeFlags.ForceFeedbackActuator))
{
if (nextOffset == 0)
xAxisOffset = d.Offset;
else
yAxisOffset = d.Offset;
nextOffset++;
}
}
int[] offsets = new int[2];
offsets[0] = xAxisOffset;
offsets[1] = yAxisOffset;
int[] coords = { 0, 0 };
ep.Flags = EffectFlags.Cartesian | EffectFlags.ObjectOffsets;
ep.Directions= new int[1]{0};//MaxValue
ep.Gain = 10000;
ep.Duration = int.MaxValue;
ep.SetAxes(offsets, coords);
ep.SamplePeriod = joystick.Capabilities.ForceFeedbackSamplePeriod;
ep.TriggerButton = -1;
ep.TriggerRepeatInterval = int.MaxValue;
ep.Envelope = new Envelope();
ep.Axes = new int[1] { 0 };
ep.StartDelay = 0;
CustomForce CF = new CustomForce();
CF.ChannelCount = 2;
CF.SampleCount = 12;
CF.SamplePeriod = 1000;
int[] forces;
forces = new int[24];
forces[0] = 79;
forces[1] = 0;
forces[2] = 0;
forces[3] = 0;
forces[4] = 0;
forces[5] = 0;
forces[6] = 0;
forces[7] = 0;
forces[8] = 0;
forces[9] = 0;
forces[10] = 0;
forces[11] = 0;
forces[12] = 0;
forces[13] = 0;
forces[14] = 0;
forces[15] = 0;
forces[16] = 0;
forces[17] = 0;
forces[18] = 0;
forces[19] = 0;
forces[20] = 0;
forces[21] = 0;
forces[22] = 0;
forces[23] = 0;
CF.ForceData = forces;
ep.Parameters = CF;
Effect e = new Effect(joystick, ei.Guid, ep);//using this I get
//Additional information: HRESULT: [0x80070057], Module: [General], ApiCode: [E_INVALIDARG/Invalid Arguments], Message: The parameter is incorrect.
effect = e;
e.Start();
}