Added many missing *Pxxx types.
Removed a few *LPxxx types that are not supposed to be there (in
particular LPICONINFO).
Added a few missing *LPCxxx types (MENUITEMINFO, SCROLLINFO,
DLGITEMTEMPLATE).
WINHELP and PE_ACCEL are internal types.
MULTIKEYHELP and HELPWININFO both have an A and W variant.
NUMBERFMT, CURRENCYFMT and the related API belong to winnls.h.
Added missing ARW_xxx defines (for sysmetrics).
diff --git a/include/winuser.h b/include/winuser.h
index 32cc7c2..c1f2796 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -44,7 +44,7 @@
UINT paramH;
DWORD time;
HWND hwnd;
-} EVENTMSG, *LPEVENTMSG;
+} EVENTMSG, *PEVENTMSG, *LPEVENTMSG;
/* Mouse hook structure */
@@ -66,7 +66,7 @@
UINT wMessage;
WPARAM wParam;
LPARAM lParam;
-} HARDWAREHOOKSTRUCT, *LPHARDWAREHOOKSTRUCT;
+} HARDWAREHOOKSTRUCT, *PHARDWAREHOOKSTRUCT, *LPHARDWAREHOOKSTRUCT;
/* Debug hook structure */
@@ -78,7 +78,7 @@
LPARAM lParam;
WPARAM wParam;
INT code;
-} DEBUGHOOKINFO, *LPDEBUGHOOKINFO;
+} DEBUGHOOKINFO, *PDEBUGHOOKINFO, *LPDEBUGHOOKINFO;
#define HKL_PREV 0
#define HKL_NEXT 1
@@ -142,7 +142,7 @@
WPARAM wParam;
UINT message;
HWND hwnd;
-} CWPSTRUCT, *LPCWPSTRUCT;
+} CWPSTRUCT, *PCWPSTRUCT, *LPCWPSTRUCT;
typedef struct
{
@@ -151,7 +151,7 @@
WPARAM wParam;
DWORD message;
HWND hwnd;
-} CWPRETSTRUCT, *LPCWPRETSTRUCT;
+} CWPRETSTRUCT, *PCWPRETSTRUCT, *LPCWPRETSTRUCT;
typedef struct
{
@@ -161,7 +161,7 @@
POINT ptMinPosition WINE_PACKED;
POINT ptMaxPosition WINE_PACKED;
RECT rcNormalPosition WINE_PACKED;
-} WINDOWPLACEMENT, *LPWINDOWPLACEMENT;
+} WINDOWPLACEMENT, *PWINDOWPLACEMENT, *LPWINDOWPLACEMENT;
/* WINDOWPLACEMENT flags */
@@ -1233,7 +1233,7 @@
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
-} WNDCLASSA, *LPWNDCLASSA, *PWNDCLASSA;
+} WNDCLASSA, *PWNDCLASSA, *LPWNDCLASSA;
typedef struct
{
@@ -1247,17 +1247,17 @@
HBRUSH hbrBackground;
LPCWSTR lpszMenuName;
LPCWSTR lpszClassName;
-} WNDCLASSW, *LPWNDCLASSW, *PWNDCLASSW;
+} WNDCLASSW, *PWNDCLASSW, *LPWNDCLASSW;
DECL_WINELIB_TYPE_AW(WNDCLASS)
-DECL_WINELIB_TYPE_AW(LPWNDCLASS)
DECL_WINELIB_TYPE_AW(PWNDCLASS)
+DECL_WINELIB_TYPE_AW(LPWNDCLASS)
typedef struct {
DWORD dwData;
DWORD cbData;
LPVOID lpData;
-} COPYDATASTRUCT, *PCOPYDATASTRUCT, *LPCOPYDATASTRUCT;
+} COPYDATASTRUCT, *PCOPYDATASTRUCT;
typedef struct {
HMENU hmenuIn;
@@ -1265,22 +1265,23 @@
HWND hwndNext;
} MDINEXTMENU, *PMDINEXTMENU, *LPMDINEXTMENU;
-/* WinHelp internal structure */
-typedef struct {
- WORD size;
- WORD command;
- LONG data;
- LONG reserved;
- WORD ofsFilename;
- WORD ofsData;
-} WINHELP,*LPWINHELP;
+typedef struct
+{
+ WORD mkSize;
+ CHAR mkKeyList;
+ CHAR szKeyphrase[1];
+} MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
typedef struct
{
WORD mkSize;
- BYTE mkKeyList;
- BYTE szKeyphrase[1];
-} MULTIKEYHELP, *LPMULTIKEYHELP;
+ WCHAR mkKeyList;
+ WCHAR szKeyphrase[1];
+} MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;
+
+DECL_WINELIB_TYPE_AW(MULTIKEYHELP)
+DECL_WINELIB_TYPE_AW(PMULTIKEYHELP)
+DECL_WINELIB_TYPE_AW(LPMULTIKEYHELP)
typedef struct {
WORD wStructSize;
@@ -1289,8 +1290,22 @@
WORD dx;
WORD dy;
WORD wMax;
- char rgchMember[2];
-} HELPWININFO, *LPHELPWININFO;
+ CHAR rgchMember[2];
+} HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;
+
+typedef struct {
+ WORD wStructSize;
+ WORD x;
+ WORD y;
+ WORD dx;
+ WORD dy;
+ WORD wMax;
+ WCHAR rgchMember[2];
+} HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;
+
+DECL_WINELIB_TYPE_AW(HELPWININFO)
+DECL_WINELIB_TYPE_AW(PHELPWININFO)
+DECL_WINELIB_TYPE_AW(LPHELPWININFO)
#define HELP_CONTEXT 0x0001
#define HELP_QUIT 0x0002
@@ -1350,7 +1365,7 @@
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
HICON hIconSm;
-} WNDCLASSEXA, *LPWNDCLASSEXA;
+} WNDCLASSEXA, *PWNDCLASSEXA, *LPWNDCLASSEXA;
typedef struct
{
@@ -1366,9 +1381,10 @@
LPCWSTR lpszMenuName;
LPCWSTR lpszClassName;
HICON hIconSm;
-} WNDCLASSEXW, *LPWNDCLASSEXW;
+} WNDCLASSEXW, *PWNDCLASSEXW, *LPWNDCLASSEXW;
DECL_WINELIB_TYPE_AW(WNDCLASSEX)
+DECL_WINELIB_TYPE_AW(PWNDCLASSEX)
DECL_WINELIB_TYPE_AW(LPWNDCLASSEX)
typedef struct tagMSG
@@ -1396,7 +1412,7 @@
DWORD yHotspot;
HBITMAP hbmMask;
HBITMAP hbmColor;
-} ICONINFO,*LPICONINFO;
+} ICONINFO, *PICONINFO;
/* this is the 6 byte accel struct used in Win32 when presented to the user */
@@ -1408,16 +1424,6 @@
WORD cmd;
} ACCEL, *LPACCEL;
-/* this is the 8 byte accel struct used in Win32 resources (internal only) */
-typedef struct
-{
- BYTE fVirt;
- BYTE pad0;
- WORD key;
- WORD cmd;
- WORD pad1;
-} PE_ACCEL, *LPPE_ACCEL;
-
/* Flags for TrackPopupMenu */
#define TPM_LEFTBUTTON 0x0000
@@ -1464,14 +1470,17 @@
HMENU hSubMenu;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
- DWORD dwItemData;
- LPWSTR dwTypeData;
+ DWORD dwItemData;
+ LPWSTR dwTypeData;
UINT cch;
HBITMAP hbmpItem;
} MENUITEMINFOW, *LPMENUITEMINFOW;
DECL_WINELIB_TYPE_AW(MENUITEMINFO)
DECL_WINELIB_TYPE_AW(LPMENUITEMINFO)
+typedef const MENUITEMINFOA *LPCMENUITEMINFOA;
+typedef const MENUITEMINFOW *LPCMENUITEMINFOW;
+DECL_WINELIB_TYPE_AW(LPCMENUITEMINFO)
typedef struct {
DWORD cbSize;
@@ -1483,7 +1492,7 @@
DWORD dwMenuData;
} MENUINFO, *LPMENUINFO;
-typedef MENUINFO const * LPCMENUINFO;
+typedef const MENUINFO *LPCMENUINFO;
#define MIM_MAXHEIGHT 0x00000001
#define MIM_BACKGROUND 0x00000002
@@ -1667,7 +1676,9 @@
INT nPos;
INT nTrackPos;
} SCROLLINFO, *LPSCROLLINFO;
-
+
+typedef const SCROLLINFO *LPCSCROLLINFO;
+
/* GetScrollInfo() flags */
#define SIF_RANGE 0x0001
#define SIF_PAGE 0x0002
@@ -1870,7 +1881,7 @@
#define HELPINFO_MENUITEM 0x0002
/* Structure pointed to by lParam of WM_HELP */
-typedef struct
+typedef struct
{
UINT cbSize; /* Size in bytes of this struct */
INT iContextType; /* Either HELPINFO_WINDOW or HELPINFO_MENUITEM */
@@ -1894,7 +1905,7 @@
DWORD dwContextHelpId;
MSGBOXCALLBACK lpfnMsgBoxCallback;
DWORD dwLanguageId;
-} MSGBOXPARAMSA,*LPMSGBOXPARAMSA;
+} MSGBOXPARAMSA, *PMSGBOXPARAMSA, *LPMSGBOXPARAMSA;
typedef struct
{
@@ -1908,53 +1919,12 @@
DWORD dwContextHelpId;
MSGBOXCALLBACK lpfnMsgBoxCallback;
DWORD dwLanguageId;
-} MSGBOXPARAMSW,*LPMSGBOXPARAMSW;
+} MSGBOXPARAMSW, *PMSGBOXPARAMSW, *LPMSGBOXPARAMSW;
DECL_WINELIB_TYPE_AW(MSGBOXPARAMS)
+DECL_WINELIB_TYPE_AW(PMSGBOXPARAMS)
DECL_WINELIB_TYPE_AW(LPMSGBOXPARAMS)
-typedef struct _numberfmt32a {
- UINT NumDigits;
- UINT LeadingZero;
- UINT Grouping;
- LPCSTR lpDecimalSep;
- LPCSTR lpThousandSep;
- UINT NegativeOrder;
-} NUMBERFMTA;
-
-typedef struct _numberfmt32w {
- UINT NumDigits;
- UINT LeadingZero;
- UINT Grouping;
- LPCWSTR lpDecimalSep;
- LPCWSTR lpThousandSep;
- UINT NegativeOrder;
-} NUMBERFMTW;
-
-typedef struct _currencyfmt32a
-{
- UINT NumDigits;
- UINT LeadingZero;
- UINT Grouping;
- LPCSTR lpDecimalSep;
- LPCSTR lpThousandSep;
- UINT NegativeOrder;
- UINT PositiveOrder;
- LPCSTR lpCurrencySymbol;
-} CURRENCYFMTA;
-
-typedef struct _currencyfmt32w
-{
- UINT NumDigits;
- UINT LeadingZero;
- UINT Grouping;
- LPCWSTR lpDecimalSep;
- LPCWSTR lpThousandSep;
- UINT NegativeOrder;
- UINT PositiveOrder;
- LPCWSTR lpCurrencySymbol;
-} CURRENCYFMTW;
-
#define MONITOR_DEFAULTTONULL 0x00000000
#define MONITOR_DEFAULTTOPRIMARY 0x00000001
#define MONITOR_DEFAULTTONEAREST 0x00000002
@@ -2001,10 +1971,10 @@
typedef DLGTEMPLATE *LPDLGTEMPLATEA;
typedef DLGTEMPLATE *LPDLGTEMPLATEW;
-#define LPDLGTEMPLATE WINELIB_NAME_AW(LPDLGTEMPLATE)
+DECL_WINELIB_TYPE_AW(LPDLGTEMPLATE)
typedef const DLGTEMPLATE *LPCDLGTEMPLATEA;
typedef const DLGTEMPLATE *LPCDLGTEMPLATEW;
-#define LPCDLGTEMPLATE WINELIB_NAME_AW(LPCDLGTEMPLATE)
+DECL_WINELIB_TYPE_AW(LPCDLGTEMPLATE)
typedef struct tagDLGITEMTEMPLATE
{
@@ -2017,12 +1987,12 @@
WORD id;
} DLGITEMTEMPLATE;
+typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA;
+typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW;
+DECL_WINELIB_TYPE_AW(PDLGITEMTEMPLATE)
typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA;
typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW;
-#define LPDLGITEMTEMPLATE WINELIB_NAME_AW(LPDLGITEMTEMPLATE)
-typedef const DLGITEMTEMPLATE *LPCDLGITEMTEMPLATEA;
-typedef const DLGITEMTEMPLATE *LPCDLGITEMTEMPLATEW;
-#define LPCDLGITEMTEMPLATE WINELIB_NAME_AW(LPCDLGITEMTEMPLATE)
+DECL_WINELIB_TYPE_AW(LPDLGITEMTEMPLATE)
/* CBT hook values */
@@ -2347,7 +2317,7 @@
LOGFONTA lfMenuFont;
LOGFONTA lfStatusFont;
LOGFONTA lfMessageFont;
-} NONCLIENTMETRICSA,*LPNONCLIENTMETRICSA;
+} NONCLIENTMETRICSA, *PNONCLIENTMETRICSA, *LPNONCLIENTMETRICSA;
typedef struct {
UINT cbSize;
@@ -2365,18 +2335,41 @@
LOGFONTW lfMenuFont;
LOGFONTW lfStatusFont;
LOGFONTW lfMessageFont;
-} NONCLIENTMETRICSW,*LPNONCLIENTMETRICSW;
+} NONCLIENTMETRICSW, *PNONCLIENTMETRICSW, *LPNONCLIENTMETRICSW;
DECL_WINELIB_TYPE_AW(NONCLIENTMETRICS)
+DECL_WINELIB_TYPE_AW(PNONCLIENTMETRICS)
DECL_WINELIB_TYPE_AW(LPNONCLIENTMETRICS)
+#define ARW_BOTTOMLEFT 0x0000L
+#define ARW_BOTTOMRIGHT 0x0001L
+#define ARW_TOPLEFT 0x0002L
+#define ARW_TOPRIGHT 0x0003L
+#define ARW_STARTMASK 0x0003L
+#define ARW_STARTRIGHT 0x0001L
+#define ARW_STARTTOP 0x0002L
+
+#define ARW_LEFT 0x0000L
+#define ARW_RIGHT 0x0000L
+#define ARW_UP 0x0004L
+#define ARW_DOWN 0x0004L
+#define ARW_HIDE 0x0008L
+
+typedef struct tagMINIMIZEDMETRICS {
+ UINT cbSize;
+ int iWidth;
+ int iHorzGap;
+ int iVertGap;
+ int iArrange;
+} MINIMIZEDMETRICS, *PMINIMIZEDMETRICS, *LPMINIMIZEDMETRICS;
+
typedef struct tagICONMETRICSA {
UINT cbSize;
int iHorzSpacing;
int iVertSpacing;
int iTitleWrap;
LOGFONTA lfFont;
-} ICONMETRICSA, *LPICONMETRICSA;
+} ICONMETRICSA, *PICONMETRICSA, *LPICONMETRICSA;
typedef struct tagICONMETRICSW {
UINT cbSize;
@@ -2384,9 +2377,10 @@
int iVertSpacing;
int iTitleWrap;
LOGFONTW lfFont;
-} ICONMETRICSW, *LPICONMETRICSW;
+} ICONMETRICSW, *PICONMETRICSW, *LPICONMETRICSW;
DECL_WINELIB_TYPE_AW(ICONMETRICS)
+DECL_WINELIB_TYPE_AW(PICONMETRICS)
DECL_WINELIB_TYPE_AW(LPICONMETRICS)
/* Window Styles */
@@ -2743,7 +2737,7 @@
UINT itemID;
HWND hwndItem;
DWORD itemData;
-} DELETEITEMSTRUCT, *LPDELETEITEMSTRUCT;
+} DELETEITEMSTRUCT, *PDELETEITEMSTRUCT, *LPDELETEITEMSTRUCT;
typedef struct
@@ -3070,7 +3064,7 @@
HACCEL WINAPI CreateAcceleratorTableA(LPACCEL,INT);
HACCEL WINAPI CreateAcceleratorTableW(LPACCEL,INT);
#define CreateAcceleratorTable WINELIB_NAME_AW(CreateAcceleratorTable)
-HICON WINAPI CreateIconIndirect(LPICONINFO);
+HICON WINAPI CreateIconIndirect(PICONINFO);
BOOL WINAPI DestroyAcceleratorTable(HACCEL);
BOOL WINAPI EnumDisplayMonitors(HDC,LPRECT,MONITORENUMPROC,LPARAM);
BOOL WINAPI EnumDisplayDevicesA(LPVOID,DWORD,LPDISPLAY_DEVICEA,DWORD);
@@ -3084,7 +3078,7 @@
#define EnumPropsEx WINELIB_NAME_AW(EnumPropsEx)
BOOL WINAPI EnumThreadWindows(DWORD,WNDENUMPROC,LPARAM);
BOOL WINAPI ExitWindowsEx(UINT,DWORD);
-BOOL WINAPI GetIconInfo(HICON,LPICONINFO);
+BOOL WINAPI GetIconInfo(HICON,PICONINFO);
HKL WINAPI GetKeyboardLayout(DWORD);
INT WINAPI GetKeyboardLayoutList(INT,HKL *);
DWORD WINAPI GetMenuContextHelpId(HMENU);
@@ -3096,9 +3090,6 @@
BOOL WINAPI GetMonitorInfoA(HMONITOR,LPMONITORINFO);
BOOL WINAPI GetMonitorInfoW(HMONITOR,LPMONITORINFO);
#define GetMonitorInfo WINELIB_NAME_AW(GetMonitorInfo)
-INT WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,int);
-INT WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int);
-#define GetNumberFormat WINELIB_NAME_AW(GetNumberFormat)
DWORD WINAPI GetWindowContextHelpId(HWND);
DWORD WINAPI GetWindowThreadProcessId(HWND,LPDWORD);
BOOL WINAPI IsWindowUnicode(HWND);