public Status GetCurrentStatus()
{
JoystickAPI.JOYINFOEX ji = new JoystickAPI.JOYINFOEX();
ji.size = System.Runtime.InteropServices.Marshal.SizeOf(ji);
ji.flags = (Info.capabilities.axesNumber > 5) ? JoystickAPI.JoyPosFlags.ReturnAll :
requestFlags[Info.capabilities.axesNumber];
if (JoystickAPI.joyGetPosEx(Info.ID, ji) != JoystickAPI.ResultCode.NoError)
{
throw new NotConnectedException("The requested joystick is not connected to the system.");
}
return new Status(ji, Info.capabilities);
}