The joyGetPosEx function queries a joystick for its position and button status.

  UINT uJoyID,     



Identifier of the joystick to be queried. Valid values for uJoyID range from zero (JOYSTICKID1) to 15, except for Windows NT 4.0. For Windows NT 4.0, valid values are limited to JOYSTICKID1 and JOYSTICKID2.


Pointer to a JOYINFOEX structure that contains extended position information and button status of the joystick. You must set the dwSize and dwFlags members or joyGetPosEx will fail. The information returned from joyGetPosEx depends on the flags you specify in dwFlags.

Return Values

Returns JOYERR_NOERROR if successful or one of the following error values.

Value Description
MMSYSERR_NODRIVER The joystick driver is not present.
MMSYSERR_INVALPARAM An invalid parameter was passed.

Windows 95/98/Me: The specified joystick identifier is invalid.

MMSYSERR_BADDEVICEID Windows 95/98/Me: The specified joystick identifier is invalid.
JOYERR_UNPLUGGED The specified joystick is not connected to the system.
JOYERR_PARMS Windows NT/2000/XP: The specified joystick identifier is invalid.


This function provides access to extended devices such as rudder pedals, point-of-view hats, devices with a large number of buttons, and coordinate systems using up to six axes. For joystick devices that use three axes or fewer and have fewer than four buttons, use the joyGetPos function.


**  Windows NT/2000/XP:** Included in Windows NT 3.1 and later.
**  Windows 95/98/Me:** Included in Windows 95 and later.
**  Header:** Declared in Mmsystem.h; include Windows.h.
**  Library:** Use Winmm.lib.

See Also

Joysticks, Multimedia Joystick Functions, JOYINFOEX, joyGetPos