per MSDN, szPname, szRegKey, szOEMVxD members should be TCHAR's
currently, this is taken care of by JOYCAPSA, JOYCAPSW, JOYCAPS definitions
could be simplified, now that __UNICODE__ is in use, and TCHAR is properly sized
wXmin, wXmax, wYmin, wYmax, wZmin, wZmax, wNumButtons, wPeriodMin, wPeriodMax members
should be UINT's (DWORD's)
JOYCAPSA STRUCT
wMid WORD ?
wPid WORD ?
szPname BYTE MAXPNAMELEN dup (?)
wXmin WORD ?
wXmax WORD ?
wYmin WORD ?
wYmax WORD ?
wZmin WORD ?
wZmax WORD ?
wNumButtons WORD ?
wPeriodMin WORD ?
wPeriodMax WORD ?
wRmin DWORD ?
wRmax DWORD ?
wUmin DWORD ?
wUmax DWORD ?
wVmin DWORD ?
wVmax DWORD ?
wCaps DWORD ?
wMaxAxes DWORD ?
wNumAxes DWORD ?
wMaxButtons DWORD ?
szRegKey BYTE MAXPNAMELEN dup(?)
szOEMVxD BYTE MAX_JOYSTICKOEMVXDNAME dup(?)
JOYCAPSA ENDS
typedef struct {
WORD wMid;
WORD wPid;
TCHAR szPname[MAXPNAMELEN];
UINT wXmin;
UINT wXmax;
UINT wYmin;
UINT wYmax;
UINT wZmin;
UINT wZmax;
UINT wNumButtons;
UINT wPeriodMin;
UINT wPeriodMax;
UINT wRmin;
UINT wRmax;
UINT wUmin;
UINT wUmax;
UINT wVmin;
UINT wVmax;
UINT wCaps;
UINT wMaxAxes;
UINT wNumAxes;
UINT wMaxButtons;
TCHAR szRegKey[MAXPNAMELEN];
TCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
} JOYCAPS;
http://msdn.microsoft.com/en-us/library/windows/desktop/dd757103%28v=vs.85%29.aspx (http://msdn.microsoft.com/en-us/library/windows/desktop/dd757103%28v=vs.85%29.aspx)