--- mstools/h/winuser.h 2018/08/09 18:20:01 1.1.1.1 +++ mstools/h/winuser.h 2018/08/09 18:23:07 1.1.1.4 @@ -16,86 +16,97 @@ Abstract: #ifndef _WINUSER_ #define _WINUSER_ +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#ifndef WINVER +#define WINVER 0x030A /* version 3.1 */ +#endif /* !WINVER */ + +#include + #ifndef NOUSER -typedef HWND HWNDFF; -typedef HWND HWNDVERBATIM; -typedef HANDLE HACCEL; -typedef HANDLE HWPI; -typedef PVOID LPMONO1BITS; -typedef PVOID LPMONO2BITS; -typedef PVOID LPCOLORBITS; -typedef PWORD LPPRIORITYLIST; -typedef PVOID LPMENUTEMPLATEA; -typedef PVOID LPMENUTEMPLATEW; +typedef HANDLE HDWP; +typedef VOID MENUTEMPLATEA; +typedef VOID MENUTEMPLATEW; #ifdef UNICODE -#define LPMENUTEMPLATE LPMENUTEMPLATEW +typedef MENUTEMPLATEW MENUTEMPLATE; #else -#define LPMENUTEMPLATE LPMENUTEMPLATEA +typedef MENUTEMPLATEA MENUTEMPLATE; #endif // UNICODE -typedef PVOID LPTABS; -typedef PVOID LPSYSCOLOR; -typedef PVOID LPCOLORVALUES; -typedef PVOID LPDLGTEMPLATESTUBA; -typedef PVOID LPDLGTEMPLATESTUBW; -#ifdef UNICODE -#define LPDLGTEMPLATESTUB LPDLGTEMPLATESTUBW -#else -#define LPDLGTEMPLATESTUB LPDLGTEMPLATESTUBA -#endif // UNICODE -typedef LPSTR LPSTRNULL; -typedef LPWSTR LPWSTRNULL; -#ifdef UNICODE -#define LPTSTRNULL LPWSTRNULL -#else -#define LPTSTRNULL LPSTRNULL -#endif // UNICODE -typedef LPSTR LPSTRID; -typedef LPWSTR LPWSTRID; -#ifdef UNICODE -#define LPTSTRID LPWSTRID -#else -#define LPTSTRID LPSTRID -#endif // UNICODE -typedef LPSTR LPSTR2; -typedef LPWSTR LPWSTR2; +typedef PVOID LPMENUTEMPLATEA; +typedef PVOID LPMENUTEMPLATEW; #ifdef UNICODE -#define LPTSTR2 LPWSTR2 +typedef LPMENUTEMPLATEW LPMENUTEMPLATE; #else -#define LPTSTR2 LPSTR2 +typedef LPMENUTEMPLATEA LPMENUTEMPLATE; #endif // UNICODE -typedef LPSTR OUTLPSTR; -typedef LPWSTR OUTLPWSTR; + +typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM); + +#ifdef STRICT + +typedef BOOL (CALLBACK* DLGPROC)(HWND, UINT, WPARAM, LPARAM); +typedef VOID (CALLBACK* TIMERPROC)(HWND, UINT, UINT, DWORD); +typedef BOOL (CALLBACK* GRAYSTRINGPROC)(HDC, LPARAM, int); +typedef BOOL (CALLBACK* WNDENUMPROC)(HWND, LPARAM); +typedef LRESULT (CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam); +typedef VOID (CALLBACK* SENDASYNCPROC)(HWND, UINT, DWORD, LRESULT); + +typedef BOOL (CALLBACK* PROPENUMPROCA)(HWND, LPCSTR, HANDLE); +typedef BOOL (CALLBACK* PROPENUMPROCW)(HWND, LPCWSTR, HANDLE); + +typedef BOOL (CALLBACK* PROPENUMPROCEXA)(HWND, LPSTR, HANDLE, DWORD); +typedef BOOL (CALLBACK* PROPENUMPROCEXW)(HWND, LPWSTR, HANDLE, DWORD); + +typedef int (CALLBACK* EDITWORDBREAKPROCA)(LPSTR lpch, int ichCurrent, int cch, int code); +typedef int (CALLBACK* EDITWORDBREAKPROCW)(LPWSTR lpch, int ichCurrent, int cch, int code); + +#else /* !STRICT */ + +typedef FARPROC DLGPROC; +typedef FARPROC TIMERPROC; +typedef FARPROC GRAYSTRINGPROC; +typedef FARPROC WNDENUMPROC; +typedef FARPROC HOOKPROC; +typedef FARPROC SENDASYNCPROC; + +typedef FARPROC EDITWORDBREAKPROCA; +typedef FARPROC EDITWORDBREAKPROCW; + +typedef FARPROC PROPENUMPROCA; +typedef FARPROC PROPENUMPROCW; + +typedef FARPROC PROPENUMPROCEXA; +typedef FARPROC PROPENUMPROCEXW; + +#endif /* !STRICT */ + #ifdef UNICODE -#define OUTLPTSTR OUTLPWSTR -#else -#define OUTLPTSTR OUTLPSTR -#endif // UNICODE -typedef HWND HWNDIA; -typedef DWORD GSPOLY; -typedef LPSTR CHNGMENUPOLY; -typedef LPSTR MENUPOLYA; -typedef LPWSTR MENUPOLYW; +typedef PROPENUMPROCW PROPENUMPROC; +typedef PROPENUMPROCEXW PROPENUMPROCEX; +typedef EDITWORDBREAKPROCW EDITWORDBREAKPROC; +#else /* !UNICODE */ +typedef PROPENUMPROCA PROPENUMPROC; +typedef PROPENUMPROCEXA PROPENUMPROCEX; +typedef EDITWORDBREAKPROCA EDITWORDBREAKPROC; +#endif /* UNICODE */ + +#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i))) +#define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i))) #ifdef UNICODE -#define MENUPOLY MENUPOLYW -#else -#define MENUPOLY MENUPOLYA -#endif // UNICODE -typedef PVOID LPKEYSTATE; -typedef PVOID OUTLPKEYSTATE; -#ifdef THANKS -typedef PUSHORT OUTP2CHARS; +#define MAKEINTRESOURCE MAKEINTRESOURCEW #else -typedef PVOID OUTP2CHARS; -#endif - -typedef LONG (APIENTRY *WNDPROC)(HWND, UINT, DWORD, LONG); - -#define MAKEINTRESOURCE(i) (LPSTR)((DWORD)((WORD)(i))) +#define MAKEINTRESOURCE MAKEINTRESOURCEA +#endif // !UNICODE #ifndef NORESOURCE -/* Predefined Resource Types */ +/* + * Predefined Resource Types + */ #define RT_CURSOR MAKEINTRESOURCE(1) #define RT_BITMAP MAKEINTRESOURCE(2) #define RT_ICON MAKEINTRESOURCE(3) @@ -108,48 +119,65 @@ typedef LONG (APIENTRY *WNDPROC)(HWND, U #define RT_RCDATA MAKEINTRESOURCE(10) #define RT_MESSAGETABLE MAKEINTRESOURCE(11) -#define DIFFERENCE 11 - -/* NOTE: if any new resource types are introduced above this point, then the -** value of DIFFERENCE must be changed. -** (RT_GROUP_CURSOR - RT_CURSOR) must always be equal to DIFFERENCE -** (RT_GROUP_ICON - RT_ICON) must always be equal to DIFFERENCE -*/ +#define DIFFERENCE 11 #define RT_GROUP_CURSOR MAKEINTRESOURCE((DWORD)RT_CURSOR + DIFFERENCE) -/* The value RT_BITMAP+DIFFERENCE (13) is intentionally unused */ #define RT_GROUP_ICON MAKEINTRESOURCE((DWORD)RT_ICON + DIFFERENCE) -/* The value 15 is unused/obsolete */ #define RT_VERSION MAKEINTRESOURCE(16) +#define RT_DLGINCLUDE MAKEINTRESOURCE(17) -#endif /* NORESOURCE */ +#endif /* !NORESOURCE */ -int APIENTRY wvsprintf(LPSTR, LPSTR, LPSTR); -int cdecl wsprintf(LPSTR, LPSTR, ...); +int WINAPI wvsprintfA(LPSTR, LPCSTR, va_list arglist); +int WINAPI wvsprintfW(LPWSTR, LPCWSTR, va_list arglist); +#ifdef UNICODE +#define wvsprintf wvsprintfW +#else +#define wvsprintf wvsprintfA +#endif // !UNICODE +int WINAPIV wsprintfA(LPSTR, LPCSTR, ...); +int WINAPIV wsprintfW(LPWSTR, LPCWSTR, ...); +#ifdef UNICODE +#define wsprintf wsprintfW +#else +#define wsprintf wsprintfA +#endif // !UNICODE #ifndef NOSCROLL -/* Scroll Bar Constants */ +/* + * Scroll Bar Constants + */ #define SB_HORZ 0 #define SB_VERT 1 #define SB_CTL 2 #define SB_BOTH 3 -/* Scroll Bar Commands */ +/* + * Scroll Bar Commands + */ #define SB_LINEUP 0 +#define SB_LINELEFT 0 #define SB_LINEDOWN 1 +#define SB_LINERIGHT 1 #define SB_PAGEUP 2 +#define SB_PAGELEFT 2 #define SB_PAGEDOWN 3 +#define SB_PAGERIGHT 3 #define SB_THUMBPOSITION 4 #define SB_THUMBTRACK 5 #define SB_TOP 6 +#define SB_LEFT 6 #define SB_BOTTOM 7 +#define SB_RIGHT 7 #define SB_ENDSCROLL 8 -#endif /* NOSCROLL */ +#endif /* !NOSCROLL */ #ifndef NOSHOWWINDOW -/* ShowWindow() Commands */ +/* + * ShowWindow() Commands + */ #define SW_HIDE 0 #define SW_SHOWNORMAL 1 #define SW_NORMAL 1 @@ -163,25 +191,42 @@ int cdecl wsprintf(LPSTR, LPSTR, ...); #define SW_SHOWNA 8 #define SW_RESTORE 9 #define SW_SHOWDEFAULT 10 +#define SW_MAX 10 -/* Old ShowWindow() Commands */ +/* + * Old ShowWindow() Commands + */ #define HIDE_WINDOW 0 #define SHOW_OPENWINDOW 1 #define SHOW_ICONWINDOW 2 #define SHOW_FULLSCREEN 3 #define SHOW_OPENNOACTIVATE 4 -/* Identifiers for the WM_SHOWWINDOW message */ +/* + * Identifiers for the WM_SHOWWINDOW message + */ #define SW_PARENTCLOSING 1 #define SW_OTHERZOOM 2 #define SW_PARENTOPENING 3 #define SW_OTHERUNZOOM 4 -#endif /* NOSHOWWINDOW */ +#endif /* !NOSHOWWINDOW */ + +/* + * WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags + */ +#define KF_EXTENDED 0x0100 +#define KF_DLGMODE 0x0800 +#define KF_MENUMODE 0x1000 +#define KF_ALTDOWN 0x2000 +#define KF_REPEAT 0x4000 +#define KF_UP 0x8000 #ifndef NOVIRTUALKEYCODES -/* Virtual Keys, Standard Set */ +/* + * Virtual Keys, Standard Set + */ #define VK_LBUTTON 0x01 #define VK_RBUTTON 0x02 #define VK_CANCEL 0x03 @@ -214,7 +259,6 @@ int cdecl wsprintf(LPSTR, LPSTR, ...); #define VK_PRINT 0x2A #define VK_EXECUTE 0x2B #define VK_SNAPSHOT 0x2C -/* #define VK_COPY 0x2C not used by keyboards. */ #define VK_INSERT 0x2D #define VK_DELETE 0x2E #define VK_HELP 0x2F @@ -264,6 +308,7 @@ int cdecl wsprintf(LPSTR, LPSTR, ...); #define VK_F24 0x87 #define VK_NUMLOCK 0x90 +#define VK_SCROLL 0x91 /* * VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys. @@ -287,11 +332,14 @@ int cdecl wsprintf(LPSTR, LPSTR, ...); #define VK_PA1 0xFD #define VK_OEM_CLEAR 0xFE -#endif /* NOVIRTUALKEYCODES */ +#endif /* !NOVIRTUALKEYCODES */ #ifndef NOWH -/* SetWindowsHook() codes */ +/* + * SetWindowsHook() codes + */ +#define WH_MIN (-1) #define WH_MSGFILTER (-1) #define WH_JOURNALRECORD 0 #define WH_JOURNALPLAYBACK 1 @@ -303,20 +351,24 @@ int cdecl wsprintf(LPSTR, LPSTR, ...); #define WH_MOUSE 7 #define WH_HARDWARE 8 #define WH_DEBUG 9 +#define WH_SHELL 10 +#define WH_FOREGROUNDIDLE 11 +#define WH_MAX 11 - -/* Hook Codes */ -#define HC_LPLPFNNEXT (-2) -#define HC_LPFNNEXT (-1) +/* + * Hook Codes + */ #define HC_ACTION 0 #define HC_GETNEXT 1 #define HC_SKIP 2 -#define HC_NOREM 3 #define HC_NOREMOVE 3 +#define HC_NOREM HC_NOREMOVE #define HC_SYSMODALON 4 #define HC_SYSMODALOFF 5 -/* CBT Hook Codes */ +/* + * CBT Hook Codes + */ #define HCBT_MOVESIZE 0 #define HCBT_MINMAX 1 #define HCBT_QS 2 @@ -345,14 +397,25 @@ typedef struct tagCBT_CREATEWNDW HWND hwndInsertAfter; } CBT_CREATEWNDW, *LPCBT_CREATEWNDW; #ifdef UNICODE -#define CBT_CREATEWND CBT_CREATEWNDW -#define LPCBT_CREATEWND LPCBT_CREATEWNDW +typedef CBT_CREATEWNDW CBT_CREATEWND; +typedef LPCBT_CREATEWNDW LPCBT_CREATEWND; #else -#define CBT_CREATEWND CBT_CREATEWNDA -#define LPCBT_CREATEWND LPCBT_CREATEWNDA +typedef CBT_CREATEWNDA CBT_CREATEWND; +typedef LPCBT_CREATEWNDA LPCBT_CREATEWND; #endif // UNICODE -/* WH_MSGFILTER Filter Proc Codes */ +/* + * HCBT_ACTIVATE structure pointed to by lParam + */ +typedef struct tagCBTACTIVATESTRUCT +{ + BOOL fMouse; + HWND hWndActive; +} CBTACTIVATESTRUCT, *LPCBTACTIVATESTRUCT; + +/* + * WH_MSGFILTER Filter Proc Codes + */ #define MSGF_DIALOGBOX 0 #define MSGF_MESSAGEBOX 1 #define MSGF_MENU 2 @@ -360,205 +423,114 @@ typedef struct tagCBT_CREATEWNDW #define MSGF_SIZE 4 #define MSGF_SCROLLBAR 5 #define MSGF_NEXTWINDOW 6 +#define MSGF_MAINLOOP 8 +#define MSGF_MAX 8 +#define MSGF_USER 4096 -/* Window Manager Hook Codes */ -#define WC_INIT 1 -#define WC_SWP 2 -#define WC_DEFWINDOWPROC 3 -#define WC_MINMAX 4 -#define WC_MOVE 5 -#define WC_SIZE 6 -#define WC_DRAWCAPTION 7 +/* + * Shell support + */ +#define HSHELL_WINDOWCREATED 1 +#define HSHELL_WINDOWDESTROYED 2 +#define HSHELL_ACTIVATESHELLWINDOW 3 -/* Message Structure used in Journaling */ +/* + * Message Structure used in Journaling + */ typedef struct tagEVENTMSG { - DWORD message; - DWORD paramL; - DWORD paramH; - DWORD time; + UINT message; + UINT paramL; + UINT paramH; + DWORD time; + HWND hwnd; } EVENTMSG, *PEVENTMSGMSG, NEAR *NPEVENTMSGMSG, FAR *LPEVENTMSGMSG; typedef struct tagEVENTMSG *PEVENTMSG, NEAR *NPEVENTMSG, FAR *LPEVENTMSG; -/* Message structure used by WH_CALLWNDPROC */ +/* + * Message structure used by WH_CALLWNDPROC + */ typedef struct tagCWPSTRUCT { - LONG lParam; - DWORD wParam; - DWORD message; + LPARAM lParam; + WPARAM wParam; + DWORD message; HWND hwnd; } CWPSTRUCT, *PCWPSTRUCT, NEAR *NPCWPSTRUCT, FAR *LPCWPSTRUCT; -/* Structure used by WH_DEBUG */ -typedef struct tagDEBUGHOOKSTRUCT { +/* + * Structure used by WH_DEBUG + */ +typedef struct tagDEBUGHOOKINFO +{ DWORD idThread; - DWORD reserved; - DWORD lParam; - DWORD wParam; - int nCode; -} DEBUGHOOKSTRUCT, *PDEBUGHOOKSTRUCT, NEAR *NPDEBUGHOOKSTRUCT, - FAR *LPDEBUGHOOKSTRUCT; + LPARAM reserved; + LPARAM lParam; + WPARAM wParam; + int code; +} DEBUGHOOKINFO, *PDEBUGHOOKINFO, NEAR *NPDEBUGHOOKINFO, FAR* LPDEBUGHOOKINFO; typedef struct tagMOUSEHOOKSTRUCT { - POINT point; - HWND hWnd; - DWORD wHitTestCode; + POINT pt; + HWND hwnd; + UINT wHitTestCode; DWORD dwExtraInfo; } MOUSEHOOKSTRUCT, FAR *LPMOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT; -#endif /* NOWH */ - -#ifndef NODESKTOP +#endif /* !NOWH */ /* - * Desktop-specific access flags + * Keyboard Layout API */ -#define DESKTOP_ENUMWINDOWS 0x0001L -#define DESKTOP_CREATEWINDOW 0x0002L -#define DESKTOP_CREATEMENU 0x0004L -#define DESKTOP_HOOKCONTROL 0x0008L -#define DESKTOP_JOURNALRECORD 0x0010L -#define DESKTOP_JOURNALPLAYBACK 0x0020L -#define DESKTOP_ENUMERATE 0x0040L +#define HKL_PREV 0 +#define HKL_NEXT 1 + +#define KLF_ACTIVATE 0x00000001 +#define KLF_SUBSTITUTE_OK 0x00000002 +#define KLF_UNLOADPREVIOUS 0x00000004 +#define KLF_REORDER 0x00000008 /* - * Desktop flags + * Size of KeyboardLayoutName (number of characters), including nul terminator */ -#define DESKF_SAVEBITS 0x0001L -#define DESKF_TEXTMODE 0x0002L +#define KL_NAMELENGTH 9 -typedef struct _DESKATTRS { - DWORD cb; - DWORD cx; - DWORD cy; - DWORD cBitsPixel; - DWORD dwFlags; -} DESKATTRS, *PDESKATTRS, NEAR *NPDESKATTRS, FAR *LPDESKATTRS; - -BOOL -APIENTRY CRITICAL XXX -CreateDesktopA( - IN LPSTR, - IN LPSTR, - IN LPDESKATTRS - ); -BOOL -APIENTRY CRITICAL XXX -CreateDesktopW( - IN LPWSTR, - IN LPWSTR, - IN LPDESKATTRS - ); +HKL WINAPI LoadKeyboardLayoutA(LPCSTR pwszKLID, UINT Flags); +HKL WINAPI LoadKeyboardLayoutW(LPCWSTR pwszKLID, UINT Flags); #ifdef UNICODE -#define CreateDesktop CreateDesktopW +#define LoadKeyboardLayout LoadKeyboardLayoutW #else -#define CreateDesktop CreateDesktopA +#define LoadKeyboardLayout LoadKeyboardLayoutA #endif // !UNICODE - -HDESK -APIENTRY CRITICAL XXX -OpenDesktopA( - IN LPSTR, - IN DWORD - ); -HDESK -APIENTRY CRITICAL XXX -OpenDesktopW( - IN LPWSTR, - IN DWORD - ); -#ifdef UNICODE -#define OpenDesktop OpenDesktopW -#else -#define OpenDesktop OpenDesktopA -#endif // !UNICODE - -BOOL APIENTRY CRITICAL XXX SwitchDesktop(IN HDESK); -BOOL APIENTRY CRITICAL SetThreadDesktop(IN HDESK); -HDESK APIENTRY CRITICAL GetThreadDesktop(IN DWORD); -HDESK APIENTRY CRITICAL GetInputDesktop(VOID); -BOOL APIENTRY CRITICAL XXX CloseDesktop(IN HDESK); - -BOOL -APIENTRY CRITICAL XXX -EnumDesktopsA( - IN FARPROC, - IN LONG - ); -BOOL -APIENTRY CRITICAL XXX -EnumDesktopsW( - IN FARPROC, - IN LONG - ); -#ifdef UNICODE -#define EnumDesktops EnumDesktopsW -#else -#define EnumDesktops EnumDesktopsA -#endif // !UNICODE - -UINT -APIENTRY CRITICAL -GetDesktopAttrsA( - IN HDESK, - NEXTCOUNT IN OUT OUTLPSTR, - IN UINT, - OUT LPDESKATTRS OPTIONAL - ); -UINT -APIENTRY CRITICAL -GetDesktopAttrsW( - IN HDESK, - NEXTCOUNT IN OUT OUTLPWSTR, - IN UINT, - OUT LPDESKATTRS OPTIONAL - ); +BOOL WINAPI ActivateKeyboardLayout(HKL hkl, UINT Flags); +BOOL WINAPI UnloadKeyboardLayout(HKL hkl); +BOOL WINAPI GetKeyboardLayoutNameA(LPSTR pwszKLID); +BOOL WINAPI GetKeyboardLayoutNameW(LPWSTR pwszKLID); #ifdef UNICODE -#define GetDesktopAttrs GetDesktopAttrsW +#define GetKeyboardLayoutName GetKeyboardLayoutNameW #else -#define GetDesktopAttrs GetDesktopAttrsA +#define GetKeyboardLayoutName GetKeyboardLayoutNameA #endif // !UNICODE -UINT -APIENTRY CRITICAL -GetDesktopTypesA( - IN LPSTR, - NEXTCOUNT OUT LPDESKATTRS OPTIONAL, - IN UINT - ); -UINT -APIENTRY CRITICAL -GetDesktopTypesW( - IN LPWSTR, - NEXTCOUNT OUT LPDESKATTRS OPTIONAL, - IN UINT - ); -#ifdef UNICODE -#define GetDesktopTypes GetDesktopTypesW -#else -#define GetDesktopTypes GetDesktopTypesA -#endif // !UNICODE +#ifndef NODESKTOP +/* + * Desktop-specific access flags + */ +#define DESKTOP_READOBJECTS 0x0001L +#define DESKTOP_CREATEWINDOW 0x0002L +#define DESKTOP_CREATEMENU 0x0004L +#define DESKTOP_HOOKCONTROL 0x0008L +#define DESKTOP_JOURNALRECORD 0x0010L +#define DESKTOP_JOURNALPLAYBACK 0x0020L +#define DESKTOP_ENUMERATE 0x0040L +#define DESKTOP_WRITEOBJECTS 0x0080L -BOOL -APIENTRY CRITICAL XXX -EnumDisplayDevicesA( - IN FARPROC, - IN LONG - ); -BOOL -APIENTRY CRITICAL XXX -EnumDisplayDevicesW( - IN FARPROC, - IN LONG - ); -#ifdef UNICODE -#define EnumDisplayDevices EnumDisplayDevicesW -#else -#define EnumDisplayDevices EnumDisplayDevicesA -#endif // !UNICODE +HDESK +WINAPI +GetThreadDesktop( + DWORD); -#endif /* NODESKTOP */ +#endif /* !NODESKTOP */ #ifndef NOWINDOWSTATION - /* * Windowstation-specific access flags */ @@ -572,121 +544,79 @@ EnumDisplayDevicesW( #define WINSTA_ENUMERATE 0x0100L #define WINSTA_READSCREEN 0x0200L -typedef struct _WINSTAATTRS { - DWORD cb; -} WINSTAATTRS, *PWINSTAATTRS, NEAR *NPWINSTAATTRS, FAR *LPWINSTAATTRS; - -HWINSTA -APIENTRY CRITICAL -OpenWindowStationA( - IN LPSTR, - IN DWORD - ); HWINSTA -APIENTRY CRITICAL -OpenWindowStationW( - IN LPWSTR, - IN DWORD - ); -#ifdef UNICODE -#define OpenWindowStation OpenWindowStationW -#else -#define OpenWindowStation OpenWindowStationA -#endif // !UNICODE - -BOOL APIENTRY CRITICAL SetProcessWindowStation(IN HWINSTA); -HWINSTA APIENTRY CRITICAL GetProcessWindowStation(VOID); -BOOL APIENTRY CRITICAL CloseWindowStation(IN HWINSTA); -BOOL APIENTRY CRITICAL XXX EnumWindowStations(IN FARPROC, IN LONG); - -UINT -APIENTRY CRITICAL -GetWindowStationAttrsA( - IN HWINSTA, - NEXTCOUNT IN OUT OUTLPSTR, - IN UINT, - OUT LPWINSTAATTRS - ); -UINT -APIENTRY CRITICAL -GetWindowStationAttrsW( - IN HWINSTA, - NEXTCOUNT IN OUT OUTLPWSTR, - IN UINT, - OUT LPWINSTAATTRS - ); -#ifdef UNICODE -#define GetWindowStationAttrs GetWindowStationAttrsW -#else -#define GetWindowStationAttrs GetWindowStationAttrsA -#endif // !UNICODE - -#endif /* NOWINDOWSTATION */ +WINAPI +GetProcessWindowStation( + VOID); +#endif /* !NOWINDOWSTATION */ #ifndef NOSECURITY -/* - * window-specific access flags - */ -#define WIN_ACCESSWINDOW 0x0001L -#define WIN_ENUMERATE 0x0002L - -/* - * menu-specific access flags - */ -#define MENU_ACCESSMENU 0x0001L - -BOOL APIENTRY CRITICAL SetObjectSecurity(IN HANDLE, IN PSECURITY_INFORMATION, - IN PSECURITY_DESCRIPTOR); -BOOL APIENTRY CRITICAL GetObjectSecurity(IN HANDLE, IN PSECURITY_INFORMATION, - NEXTCOUNT OUT PSECURITY_DESCRIPTOR, IN DWORD, OUT LPDWORD); +BOOL +WINAPI +SetUserObjectSecurity( + HANDLE hObj, + PSECURITY_INFORMATION pSIRequested, + PSECURITY_DESCRIPTOR pSID); + +BOOL +WINAPI +GetUserObjectSecurity( + HANDLE hObj, + PSECURITY_INFORMATION pSIRequested, + PSECURITY_DESCRIPTOR pSID, + DWORD nLength, + LPDWORD lpnLengthNeeded); -#endif /* NOSECURITY */ +#endif /* !NOSECURITY */ typedef struct tagWNDCLASSA { - DWORD style; + UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; - HANDLE hInstance; + HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; - LPSTRID lpszMenuName; - LPSTRID lpszClassName; + LPCSTR lpszMenuName; + LPCSTR lpszClassName; } WNDCLASSA, *PWNDCLASSA, NEAR *NPWNDCLASSA, FAR *LPWNDCLASSA; typedef struct tagWNDCLASSW { - DWORD style; + UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; - HANDLE hInstance; + HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; - LPWSTRID lpszMenuName; - LPWSTRID lpszClassName; + LPCWSTR lpszMenuName; + LPCWSTR lpszClassName; } WNDCLASSW, *PWNDCLASSW, NEAR *NPWNDCLASSW, FAR *LPWNDCLASSW; #ifdef UNICODE -#define WNDCLASS WNDCLASSW -#define PWNDCLASS PWNDCLASSW -#define NPWNDCLASS NPWNDCLASSW -#define LPWNDCLASS LPWNDCLASSW -#else -#define WNDCLASS WNDCLASSA -#define PWNDCLASS PWNDCLASSA -#define NPWNDCLASS NPWNDCLASSA -#define LPWNDCLASS LPWNDCLASSA +typedef WNDCLASSW WNDCLASS; +typedef PWNDCLASSW PWNDCLASS; +typedef NPWNDCLASSW NPWNDCLASS; +typedef LPWNDCLASSW LPWNDCLASS; +#else +typedef WNDCLASSA WNDCLASS; +typedef PWNDCLASSA PWNDCLASS; +typedef NPWNDCLASSA NPWNDCLASS; +typedef LPWNDCLASSA LPWNDCLASS; #endif // UNICODE + #ifndef NOMSG -/* Message structure */ +/* + * Message structure + */ typedef struct tagMSG { HWND hwnd; - DWORD message; - DWORD wParam; - LONG lParam; + UINT message; + WPARAM wParam; + LPARAM lParam; DWORD time; POINT pt; } MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG; @@ -694,13 +624,18 @@ typedef struct tagMSG { #define POINTSTOPOINT(pt,pts) {(pt).x = (SHORT)LOWORD(pts); \ (pt).y = (SHORT)HIWORD(pts);} #define POINTTOPOINTS(pt) (MAKELONG((short)((pt).x), (short)((pt).y))) +#define MAKEWPARAM(l, h) (WPARAM)MAKELONG(l, h) +#define MAKELPARAM(l, h) (LPARAM)MAKELONG(l, h) +#define MAKELRESULT(l, h) (LRESULT)MAKELONG(l, h) -#endif /* NOMSG */ +#endif /* !NOMSG */ #ifndef NOWINOFFSETS -/* Window field offsets for GetWindowLong() and GetWindowWord() */ +/* + * Window field offsets for GetWindowLong() + */ #define GWL_WNDPROC (-4) #define GWL_HINSTANCE (-6) #define GWL_HWNDPARENT (-8) @@ -709,7 +644,9 @@ typedef struct tagMSG { #define GWL_USERDATA (-21) #define GWL_ID (-12) -/* Class field offsets for GetClassLong() and GetClassWord() */ +/* + * Class field offsets for GetClassLong() + */ #define GCL_MENUNAME (-8) #define GCL_HBRBACKGROUND (-10) #define GCL_HCURSOR (-12) @@ -719,180 +656,235 @@ typedef struct tagMSG { #define GCL_CBCLSEXTRA (-20) #define GCL_WNDPROC (-24) #define GCL_STYLE (-26) +#define GCW_ATOM (-32) -#endif /* NOWINOFFSETS */ +#endif /* !NOWINOFFSETS */ #ifndef NOWINMESSAGES -/* Window Messages */ -#define WM_NULL 0x0000 -#define WM_CREATE 0x0001 -#define WM_DESTROY 0x0002 -#define WM_MOVE 0x0003 -#define WM_SIZE 0x0005 -#define WM_ACTIVATE 0x0006 -#define WM_SETFOCUS 0x0007 -#define WM_KILLFOCUS 0x0008 -#define WM_ENABLE 0x000A -#define WM_SETREDRAW 0x000B -#define WM_SETTEXT 0x000C -#define WM_GETTEXT 0x000D -#define WM_GETTEXTLENGTH 0x000E -#define WM_PAINT 0x000F -#define WM_CLOSE 0x0010 -#define WM_QUERYENDSESSION 0x0011 -#define WM_QUIT 0x0012 -#define WM_QUERYOPEN 0x0013 -#define WM_ERASEBKGND 0x0014 -#define WM_SYSCOLORCHANGE 0x0015 -#define WM_ENDSESSION 0x0016 -#define WM_SHOWWINDOW 0x0018 -#define WM_WININICHANGE 0x001A -#define WM_DEVMODECHANGE 0x001B -#define WM_ACTIVATEAPP 0x001C -#define WM_FONTCHANGE 0x001D -#define WM_TIMECHANGE 0x001E -#define WM_CANCELMODE 0x001F -#define WM_SETCURSOR 0x0020 -#define WM_MOUSEACTIVATE 0x0021 -#define WM_CHILDACTIVATE 0x0022 -#define WM_QUEUESYNC 0x0023 -#define WM_GETMINMAXINFO 0x0024 -#define WM_PAINTICON 0x0026 -#define WM_ICONERASEBKGND 0x0027 -#define WM_NEXTDLGCTL 0x0028 -#define WM_SPOOLERSTATUS 0x002A -#define WM_DRAWITEM 0x002B -#define WM_MEASUREITEM 0x002C -#define WM_DELETEITEM 0x002D -#define WM_VKEYTOITEM 0x002E -#define WM_CHARTOITEM 0x002F -#define WM_SETFONT 0x0030 -#define WM_GETFONT 0x0031 - - -#define WM_QUERYDRAGICON 0x0037 - -#define WM_COMPAREITEM 0x0039 -#define WM_COMPACTING 0x0041 - -#define WM_OTHERWINDOWCREATED 0x0042 -#define WM_OTHERWINDOWDESTROYED 0x0043 -#define WM_COMMNOTIFY 0x0044 -#define WM_HOTKEYEVENT 0x0045 -#define WM_WINDOWPOSCHANGING 0x0046 -#define WM_WINDOWPOSCHANGED 0x0047 -#define WM_POWER 0x0048 - -#define WM_NCCREATE 0x0081 -#define WM_NCDESTROY 0x0082 -#define WM_NCCALCSIZE 0x0083 -#define WM_NCHITTEST 0x0084 -#define WM_NCPAINT 0x0085 -#define WM_NCACTIVATE 0x0086 -#define WM_GETDLGCODE 0x0087 -#define WM_NCMOUSEMOVE 0x00A0 -#define WM_NCLBUTTONDOWN 0x00A1 -#define WM_NCLBUTTONUP 0x00A2 -#define WM_NCLBUTTONDBLCLK 0x00A3 -#define WM_NCRBUTTONDOWN 0x00A4 -#define WM_NCRBUTTONUP 0x00A5 -#define WM_NCRBUTTONDBLCLK 0x00A6 -#define WM_NCMBUTTONDOWN 0x00A7 -#define WM_NCMBUTTONUP 0x00A8 -#define WM_NCMBUTTONDBLCLK 0x00A9 - -#define WM_KEYFIRST 0x0100 -#define WM_KEYDOWN 0x0100 -#define WM_KEYUP 0x0101 -#define WM_CHAR 0x0102 -#define WM_DEADCHAR 0x0103 -#define WM_SYSKEYDOWN 0x0104 -#define WM_SYSKEYUP 0x0105 -#define WM_SYSCHAR 0x0106 -#define WM_SYSDEADCHAR 0x0107 -#define WM_KEYLAST 0x0108 - -#define WM_INITDIALOG 0x0110 -#define WM_COMMAND 0x0111 -#define WM_SYSCOMMAND 0x0112 -#define WM_TIMER 0x0113 -#define WM_HSCROLL 0x0114 -#define WM_VSCROLL 0x0115 -#define WM_INITMENU 0x0116 -#define WM_INITMENUPOPUP 0x0117 -#define WM_MENUSELECT 0x011F -#define WM_MENUCHAR 0x0120 -#define WM_ENTERIDLE 0x0121 - -#define WM_CTLCOLORMSGBOX 0x0132 -#define WM_CTLCOLOREDIT 0x0133 -#define WM_CTLCOLORLISTBOX 0x0134 -#define WM_CTLCOLORBTN 0x0135 -#define WM_CTLCOLORDLG 0x0136 -#define WM_CTLCOLORSCROLLBAR 0x0137 -#define WM_CTLCOLORSTATIC 0x0138 - -#define WM_MOUSEFIRST 0x0200 -#define WM_MOUSEMOVE 0x0200 -#define WM_LBUTTONDOWN 0x0201 -#define WM_LBUTTONUP 0x0202 -#define WM_LBUTTONDBLCLK 0x0203 -#define WM_RBUTTONDOWN 0x0204 -#define WM_RBUTTONUP 0x0205 -#define WM_RBUTTONDBLCLK 0x0206 -#define WM_MBUTTONDOWN 0x0207 -#define WM_MBUTTONUP 0x0208 -#define WM_MBUTTONDBLCLK 0x0209 -#define WM_MOUSELAST 0x0209 - -#define WM_PARENTNOTIFY 0x0210 -#define WM_MDICREATE 0x0220 -#define WM_MDIDESTROY 0x0221 -#define WM_MDIACTIVATE 0x0222 -#define WM_MDIRESTORE 0x0223 -#define WM_MDINEXT 0x0224 -#define WM_MDIMAXIMIZE 0x0225 -#define WM_MDITILE 0x0226 -#define WM_MDICASCADE 0x0227 -#define WM_MDIICONARRANGE 0x0228 -#define WM_MDIGETACTIVE 0x0229 -#define WM_MDISETMENU 0x0230 -#define WM_DROPFILES 0x0233 - -#define WM_CUT 0x0300 -#define WM_COPY 0x0301 -#define WM_PASTE 0x0302 -#define WM_CLEAR 0x0303 -#define WM_UNDO 0x0304 -#define WM_RENDERFORMAT 0x0305 -#define WM_RENDERALLFORMATS 0x0306 -#define WM_DESTROYCLIPBOARD 0x0307 -#define WM_DRAWCLIPBOARD 0x0308 -#define WM_PAINTCLIPBOARD 0x0309 -#define WM_VSCROLLCLIPBOARD 0x030A -#define WM_SIZECLIPBOARD 0x030B -#define WM_ASKCBFORMATNAME 0x030C -#define WM_CHANGECBCHAIN 0x030D -#define WM_HSCROLLCLIPBOARD 0x030E -#define WM_QUERYNEWPALETTE 0x030F -#define WM_PALETTEISCHANGING 0x0310 -#define WM_PALETTECHANGED 0x0311 -#define WM_HOTKEY 0x0312 -#define WM_SETFOREGROUND 0x0313 +/* + * Window Messages + */ -/* NOTE: All Message Numbers below 0x0400 are RESERVED. */ +#define WM_NULL 0x0000 +#define WM_CREATE 0x0001 +#define WM_DESTROY 0x0002 +#define WM_MOVE 0x0003 +#define WM_SIZE 0x0005 -/* Private Window Messages Start Here: */ -#define WM_USER 0x0400 +#define WM_ACTIVATE 0x0006 +/* + * WM_ACTIVATE state values + */ +#define WA_INACTIVE 0 +#define WA_ACTIVE 1 +#define WA_CLICKACTIVE 2 + +#define WM_SETFOCUS 0x0007 +#define WM_KILLFOCUS 0x0008 +#define WM_ENABLE 0x000A +#define WM_SETREDRAW 0x000B +#define WM_SETTEXT 0x000C +#define WM_GETTEXT 0x000D +#define WM_GETTEXTLENGTH 0x000E +#define WM_PAINT 0x000F +#define WM_CLOSE 0x0010 +#define WM_QUERYENDSESSION 0x0011 +#define WM_QUIT 0x0012 +#define WM_QUERYOPEN 0x0013 +#define WM_ERASEBKGND 0x0014 +#define WM_SYSCOLORCHANGE 0x0015 +#define WM_ENDSESSION 0x0016 +#define WM_SHOWWINDOW 0x0018 +#define WM_WININICHANGE 0x001A +#define WM_DEVMODECHANGE 0x001B +#define WM_ACTIVATEAPP 0x001C +#define WM_FONTCHANGE 0x001D +#define WM_TIMECHANGE 0x001E +#define WM_CANCELMODE 0x001F +#define WM_SETCURSOR 0x0020 +#define WM_MOUSEACTIVATE 0x0021 +#define WM_CHILDACTIVATE 0x0022 +#define WM_QUEUESYNC 0x0023 + +#define WM_GETMINMAXINFO 0x0024 +/* + * Struct pointed to by WM_GETMINMAXINFO lParam + */ +typedef struct tagMINMAXINFO { + POINT ptReserved; + POINT ptMaxSize; + POINT ptMaxPosition; + POINT ptMinTrackSize; + POINT ptMaxTrackSize; +} MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO; + +#define WM_PAINTICON 0x0026 +#define WM_ICONERASEBKGND 0x0027 +#define WM_NEXTDLGCTL 0x0028 +#define WM_SPOOLERSTATUS 0x002A +#define WM_DRAWITEM 0x002B +#define WM_MEASUREITEM 0x002C +#define WM_DELETEITEM 0x002D +#define WM_VKEYTOITEM 0x002E +#define WM_CHARTOITEM 0x002F +#define WM_SETFONT 0x0030 +#define WM_GETFONT 0x0031 +#define WM_SETHOTKEY 0x0032 +#define WM_GETHOTKEY 0x0033 +#define WM_QUERYDRAGICON 0x0037 +#define WM_COMPAREITEM 0x0039 +#define WM_COMPACTING 0x0041 +#define WM_OTHERWINDOWCREATED 0x0042 /* no longer suported */ +#define WM_OTHERWINDOWDESTROYED 0x0043 /* no longer suported */ +#define WM_COMMNOTIFY 0x0044 /* no longer suported */ +#define WM_WINDOWPOSCHANGING 0x0046 +#define WM_WINDOWPOSCHANGED 0x0047 + +#define WM_POWER 0x0048 +/* + * wParam for WM_POWER window message and DRV_POWER driver notification + */ +#define PWR_OK 1 +#define PWR_FAIL (-1) +#define PWR_SUSPENDREQUEST 1 +#define PWR_SUSPENDRESUME 2 +#define PWR_CRITICALRESUME 3 + +#define WM_COPYDATA 0x004A +#define WM_CANCELJOURNAL 0x004B +/* + * lParam of WM_COPYDATA message points to... + */ +typedef struct tagCOPYDATASTRUCT { + DWORD dwData; + DWORD cbData; + PVOID lpData; +} COPYDATASTRUCT, *PCOPYDATASTRUCT; + +#define WM_NCCREATE 0x0081 +#define WM_NCDESTROY 0x0082 +#define WM_NCCALCSIZE 0x0083 +#define WM_NCHITTEST 0x0084 +#define WM_NCPAINT 0x0085 +#define WM_NCACTIVATE 0x0086 +#define WM_GETDLGCODE 0x0087 +#define WM_NCMOUSEMOVE 0x00A0 +#define WM_NCLBUTTONDOWN 0x00A1 +#define WM_NCLBUTTONUP 0x00A2 +#define WM_NCLBUTTONDBLCLK 0x00A3 +#define WM_NCRBUTTONDOWN 0x00A4 +#define WM_NCRBUTTONUP 0x00A5 +#define WM_NCRBUTTONDBLCLK 0x00A6 +#define WM_NCMBUTTONDOWN 0x00A7 +#define WM_NCMBUTTONUP 0x00A8 +#define WM_NCMBUTTONDBLCLK 0x00A9 + +#define WM_KEYFIRST 0x0100 +#define WM_KEYDOWN 0x0100 +#define WM_KEYUP 0x0101 +#define WM_CHAR 0x0102 +#define WM_DEADCHAR 0x0103 +#define WM_SYSKEYDOWN 0x0104 +#define WM_SYSKEYUP 0x0105 +#define WM_SYSCHAR 0x0106 +#define WM_SYSDEADCHAR 0x0107 +#define WM_KEYLAST 0x0108 +#define WM_INITDIALOG 0x0110 +#define WM_COMMAND 0x0111 +#define WM_SYSCOMMAND 0x0112 +#define WM_TIMER 0x0113 +#define WM_HSCROLL 0x0114 +#define WM_VSCROLL 0x0115 +#define WM_INITMENU 0x0116 +#define WM_INITMENUPOPUP 0x0117 +#define WM_MENUSELECT 0x011F +#define WM_MENUCHAR 0x0120 +#define WM_ENTERIDLE 0x0121 + +#define WM_CTLCOLORMSGBOX 0x0132 +#define WM_CTLCOLOREDIT 0x0133 +#define WM_CTLCOLORLISTBOX 0x0134 +#define WM_CTLCOLORBTN 0x0135 +#define WM_CTLCOLORDLG 0x0136 +#define WM_CTLCOLORSCROLLBAR 0x0137 +#define WM_CTLCOLORSTATIC 0x0138 + +#define WM_MOUSEFIRST 0x0200 +#define WM_MOUSEMOVE 0x0200 +#define WM_LBUTTONDOWN 0x0201 +#define WM_LBUTTONUP 0x0202 +#define WM_LBUTTONDBLCLK 0x0203 +#define WM_RBUTTONDOWN 0x0204 +#define WM_RBUTTONUP 0x0205 +#define WM_RBUTTONDBLCLK 0x0206 +#define WM_MBUTTONDOWN 0x0207 +#define WM_MBUTTONUP 0x0208 +#define WM_MBUTTONDBLCLK 0x0209 +#define WM_MOUSELAST 0x0209 + +#define WM_PARENTNOTIFY 0x0210 +#define WM_ENTERMENULOOP 0x0211 +#define WM_EXITMENULOOP 0x0212 +#define WM_MDICREATE 0x0220 +#define WM_MDIDESTROY 0x0221 +#define WM_MDIACTIVATE 0x0222 +#define WM_MDIRESTORE 0x0223 +#define WM_MDINEXT 0x0224 +#define WM_MDIMAXIMIZE 0x0225 +#define WM_MDITILE 0x0226 +#define WM_MDICASCADE 0x0227 +#define WM_MDIICONARRANGE 0x0228 +#define WM_MDIGETACTIVE 0x0229 +#define WM_MDISETMENU 0x0230 +#define WM_DROPFILES 0x0233 +#define WM_MDIREFRESHMENU 0x0234 + + +#define WM_CUT 0x0300 +#define WM_COPY 0x0301 +#define WM_PASTE 0x0302 +#define WM_CLEAR 0x0303 +#define WM_UNDO 0x0304 +#define WM_RENDERFORMAT 0x0305 +#define WM_RENDERALLFORMATS 0x0306 +#define WM_DESTROYCLIPBOARD 0x0307 +#define WM_DRAWCLIPBOARD 0x0308 +#define WM_PAINTCLIPBOARD 0x0309 +#define WM_VSCROLLCLIPBOARD 0x030A +#define WM_SIZECLIPBOARD 0x030B +#define WM_ASKCBFORMATNAME 0x030C +#define WM_CHANGECBCHAIN 0x030D +#define WM_HSCROLLCLIPBOARD 0x030E +#define WM_QUERYNEWPALETTE 0x030F +#define WM_PALETTEISCHANGING 0x0310 +#define WM_PALETTECHANGED 0x0311 +#define WM_HOTKEY 0x0312 + +#define WM_PENWINFIRST 0x0380 +#define WM_PENWINLAST 0x038F + + + + +/* + * NOTE: All Message Numbers below 0x0400 are RESERVED. + * + * Private Window Messages Start Here: + */ +#define WM_USER 0x0400 #ifndef NONCMESSAGES -/* WM_SYNCTASK Commands */ +/* + * WM_SYNCTASK Commands + */ #define ST_BEGINSWP 0 #define ST_ENDSWP 1 -/* WinWhere() Area Codes */ +/* + * WM_NCHITTEST and MOUSEHOOKSTRUCT Mouse Position Codes + */ #define HTERROR (-2) #define HTTRANSPARENT (-1) #define HTNOWHERE 0 @@ -904,8 +896,8 @@ typedef struct tagMSG { #define HTMENU 5 #define HTHSCROLL 6 #define HTVSCROLL 7 -#define HTREDUCE 8 -#define HTZOOM 9 +#define HTMINBUTTON 8 +#define HTMAXBUTTON 9 #define HTLEFT 10 #define HTRIGHT 11 #define HTTOP 12 @@ -914,41 +906,64 @@ typedef struct tagMSG { #define HTBOTTOM 15 #define HTBOTTOMLEFT 16 #define HTBOTTOMRIGHT 17 +#define HTBORDER 18 +#define HTREDUCE HTMINBUTTON +#define HTZOOM HTMAXBUTTON #define HTSIZEFIRST HTLEFT #define HTSIZELAST HTBOTTOMRIGHT -#endif /* NONCMESSAGES */ +/* + * SendMessageTimeout values + */ +#define SMTO_NORMAL 0x0000 +#define SMTO_BLOCK 0x0001 +#define SMTO_ABORTIFHUNG 0x0002 -/* WM_MOUSEACTIVATE Return Codes */ +#endif /* !NONCMESSAGES */ + +/* + * WM_MOUSEACTIVATE Return Codes + */ #define MA_ACTIVATE 1 #define MA_ACTIVATEANDEAT 2 #define MA_NOACTIVATE 3 #define MA_NOACTIVATEANDEAT 4 UINT -APIENTRY +WINAPI RegisterWindowMessageA( - IN LPSTR lpString - ); + LPCSTR lpString); UINT -APIENTRY +WINAPI RegisterWindowMessageW( - IN LPWSTR lpString - ); + LPCWSTR lpString); #ifdef UNICODE -#define RegisterWindowMessage RegisterWindowMessageW +#define RegisterWindowMessage RegisterWindowMessageW #else -#define RegisterWindowMessage RegisterWindowMessageA +#define RegisterWindowMessage RegisterWindowMessageA #endif // !UNICODE -/* WM_SIZE message wParam values */ -#define SIZENORMAL 0 -#define SIZEICONIC 1 -#define SIZEFULLSCREEN 2 -#define SIZEZOOMSHOW 3 -#define SIZEZOOMHIDE 4 +/* + * WM_SIZE message wParam values + */ +#define SIZE_RESTORED 0 +#define SIZE_MINIMIZED 1 +#define SIZE_MAXIMIZED 2 +#define SIZE_MAXSHOW 3 +#define SIZE_MAXHIDE 4 + +/* + * Obsolete constant names + */ +#define SIZENORMAL SIZE_RESTORED +#define SIZEICONIC SIZE_MINIMIZED +#define SIZEFULLSCREEN SIZE_MAXIMIZED +#define SIZEZOOMSHOW SIZE_MAXSHOW +#define SIZEZOOMHIDE SIZE_MAXHIDE -/* WM_WINDOWPOSCHANGING/CHANGED struct pointed to by lParam */ +/* + * WM_WINDOWPOSCHANGING/CHANGED struct pointed to by lParam + */ typedef struct tagWINDOWPOS { HWND hwnd; HWND hwndInsertAfter; @@ -956,44 +971,51 @@ typedef struct tagWINDOWPOS { int y; int cx; int cy; - DWORD flags; + UINT flags; } WINDOWPOS, *LPWINDOWPOS, *PWINDOWPOS; -/* WM_NCCALCSIZE parameter structure */ +/* + * WM_NCCALCSIZE parameter structure + */ typedef struct tagNCCALCSIZE_PARAMS { RECT rgrc[3]; PWINDOWPOS lppos; } NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS; -/* WM_NCCALCSIZE "window valid rect" return values */ +/* + * WM_NCCALCSIZE "window valid rect" return values + */ #define WVR_ALIGNTOP 0x0010 #define WVR_ALIGNLEFT 0x0020 #define WVR_ALIGNBOTTOM 0x0040 #define WVR_ALIGNRIGHT 0x0080 #define WVR_HREDRAW 0x0100 #define WVR_VREDRAW 0x0200 -#define WVR_REDRAW (WVR_HREDRAW | WVR_VREDRAW) +#define WVR_REDRAW (WVR_HREDRAW | \ + WVR_VREDRAW) #define WVR_VALIDRECTS 0x0400 -#define WVR_MINVALID WVR_ALIGNTOP /* ;Internal */ -#define WVR_MAXVALID WVR_VALIDRECTS /* ;Internal */ #ifndef NOKEYSTATES -/* Key State Masks for Mouse Messages */ +/* + * Key State Masks for Mouse Messages + */ #define MK_LBUTTON 0x0001 #define MK_RBUTTON 0x0002 #define MK_SHIFT 0x0004 #define MK_CONTROL 0x0008 #define MK_MBUTTON 0x0010 -#endif /* NOKEYSTATES */ +#endif /* !NOKEYSTATES */ -#endif /* NOWINMESSAGES */ +#endif /* !NOWINMESSAGES */ #ifndef NOWINSTYLES -/* Window Styles */ +/* + * Window Styles + */ #define WS_OVERLAPPED 0x00000000L #define WS_POPUP 0x80000000L #define WS_CHILD 0x40000000L @@ -1019,28 +1041,40 @@ typedef struct tagNCCALCSIZE_PARAMS { #define WS_TILED WS_OVERLAPPED #define WS_ICONIC WS_MINIMIZE #define WS_SIZEBOX WS_THICKFRAME +#define WS_TILEDWINDOW WS_OVERLAPPEDWINDOW -/* Common Window Styles */ -#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX) -#define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU) -#define WS_CHILDWINDOW (WS_CHILD) +/* + * Common Window Styles + */ +#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | \ + WS_CAPTION | \ + WS_SYSMENU | \ + WS_THICKFRAME | \ + WS_MINIMIZEBOX | \ + WS_MAXIMIZEBOX) + +#define WS_POPUPWINDOW (WS_POPUP | \ + WS_BORDER | \ + WS_SYSMENU) -#define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW) +#define WS_CHILDWINDOW (WS_CHILD) -/* Extended Window Styles */ +/* + * Extended Window Styles + */ #define WS_EX_DLGMODALFRAME 0x00000001L #define WS_EX_NOPARENTNOTIFY 0x00000004L #define WS_EX_TOPMOST 0x00000008L #define WS_EX_ACCEPTFILES 0x00000010L #define WS_EX_TRANSPARENT 0x00000020L -#define WS_EX_ALLEXSTYLES (WS_EX_TRANSPARENT | WS_EX_DLGMODALFRAME | WS_EX_DRAGOBJECT | WS_EX_NOPARENTNOTIFY | WS_EX_TOPMOST | WS_EX_ACCEPTFILES) /* ;Internal */ -/* Class styles */ +/* + * Class styles + */ #define CS_VREDRAW 0x0001 #define CS_HREDRAW 0x0002 #define CS_KEYCVTWINDOW 0x0004 #define CS_DBLCLKS 0x0008 - /* 0x0010 - reserved (see user\server\usersrv.h) */ #define CS_OWNDC 0x0020 #define CS_CLASSDC 0x0040 #define CS_PARENTDC 0x0080 @@ -1049,13 +1083,15 @@ typedef struct tagNCCALCSIZE_PARAMS { #define CS_SAVEBITS 0x0800 #define CS_BYTEALIGNCLIENT 0x1000 #define CS_BYTEALIGNWINDOW 0x2000 -#define CS_GLOBALCLASS 0x4000 /* Global window class */ +#define CS_GLOBALCLASS 0x4000 -#endif /* NOWINSTYLES */ +#endif /* !NOWINSTYLES */ #ifndef NOCLIPBOARD -/* Predefined Clipboard Formats */ +/* + * Predefined Clipboard Formats + */ #define CF_TEXT 1 #define CF_BITMAP 2 #define CF_METAFILEPICT 3 @@ -1065,22 +1101,31 @@ typedef struct tagNCCALCSIZE_PARAMS { #define CF_OEMTEXT 7 #define CF_DIB 8 #define CF_PALETTE 9 -#define CF_UNICODETEXT 10 +#define CF_PENDATA 10 +#define CF_RIFF 11 +#define CF_WAVE 12 +#define CF_UNICODETEXT 13 +#define CF_ENHMETAFILE 14 #define CF_OWNERDISPLAY 0x0080 #define CF_DSPTEXT 0x0081 #define CF_DSPBITMAP 0x0082 #define CF_DSPMETAFILEPICT 0x0083 +#define CF_DSPENHMETAFILE 0x008E -/* "Private" formats don't get GlobalFree()'d */ +/* + * "Private" formats don't get GlobalFree()'d + */ #define CF_PRIVATEFIRST 0x0200 #define CF_PRIVATELAST 0x02FF -/* "GDIOBJ" formats do get DeleteObject()'d */ +/* + * "GDIOBJ" formats do get DeleteObject()'d + */ #define CF_GDIOBJFIRST 0x0300 #define CF_GDIOBJLAST 0x03FF -#endif /* NOCLIPBOARD */ +#endif /* !NOCLIPBOARD */ /* * Defines for the fVirt field of the Accelerator table structure. @@ -1108,125 +1153,228 @@ typedef struct tagPAINTSTRUCT { typedef struct tagCREATESTRUCTA { LPVOID lpCreateParams; - HANDLE hInstance; - HANDLE hMenu; + HINSTANCE hInstance; + HMENU hMenu; HWND hwndParent; int cy; int cx; int y; int x; LONG style; - LPSTRNULL lpszName; - LPSTRID lpszClass; + LPCSTR lpszName; + LPCSTR lpszClass; DWORD dwExStyle; } CREATESTRUCTA, *LPCREATESTRUCTA; typedef struct tagCREATESTRUCTW { LPVOID lpCreateParams; - HANDLE hInstance; - HANDLE hMenu; + HINSTANCE hInstance; + HMENU hMenu; HWND hwndParent; int cy; int cx; int y; int x; LONG style; - LPWSTRNULL lpszName; - LPWSTRID lpszClass; + LPCWSTR lpszName; + LPCWSTR lpszClass; DWORD dwExStyle; } CREATESTRUCTW, *LPCREATESTRUCTW; #ifdef UNICODE -#define CREATESTRUCT CREATESTRUCTW -#define LPCREATESTRUCT LPCREATESTRUCTW +typedef CREATESTRUCTW CREATESTRUCT; +typedef LPCREATESTRUCTW LPCREATESTRUCT; #else -#define CREATESTRUCT CREATESTRUCTA -#define LPCREATESTRUCT LPCREATESTRUCTA +typedef CREATESTRUCTA CREATESTRUCT; +typedef LPCREATESTRUCTA LPCREATESTRUCT; #endif // UNICODE +typedef struct tagWINDOWPLACEMENT { + UINT length; + UINT flags; + UINT showCmd; + POINT ptMinPosition; + POINT ptMaxPosition; + RECT rcNormalPosition; +} WINDOWPLACEMENT; +typedef WINDOWPLACEMENT *PWINDOWPLACEMENT, *LPWINDOWPLACEMENT; -/* Owner draw control types */ +#define WPF_SETMINPOSITION 0x0001 +#define WPF_RESTORETOMAXIMIZED 0x0002 + +/* + * Owner draw control types + */ #define ODT_MENU 1 #define ODT_LISTBOX 2 #define ODT_COMBOBOX 3 #define ODT_BUTTON 4 -/* Owner draw actions */ +/* + * Owner draw actions + */ #define ODA_DRAWENTIRE 0x0001 #define ODA_SELECT 0x0002 #define ODA_FOCUS 0x0004 -/* Owner draw state */ +/* + * Owner draw state + */ #define ODS_SELECTED 0x0001 #define ODS_GRAYED 0x0002 #define ODS_DISABLED 0x0004 #define ODS_CHECKED 0x0008 #define ODS_FOCUS 0x0010 -/* MEASUREITEMSTRUCT for ownerdraw */ +/* + * MEASUREITEMSTRUCT for ownerdraw + */ typedef struct tagMEASUREITEMSTRUCT { - DWORD CtlType; - DWORD CtlID; - DWORD itemID; - DWORD itemWidth; - DWORD itemHeight; - DWORD itemData; + UINT CtlType; + UINT CtlID; + UINT itemID; + UINT itemWidth; + UINT itemHeight; + DWORD itemData; } MEASUREITEMSTRUCT, NEAR *PMEASUREITEMSTRUCT, FAR *LPMEASUREITEMSTRUCT; -/* DRAWITEMSTRUCT for ownerdraw */ + +/* + * DRAWITEMSTRUCT for ownerdraw + */ typedef struct tagDRAWITEMSTRUCT { - DWORD CtlType; - DWORD CtlID; - DWORD itemID; - DWORD itemAction; - DWORD itemState; + UINT CtlType; + UINT CtlID; + UINT itemID; + UINT itemAction; + UINT itemState; HWND hwndItem; HDC hDC; RECT rcItem; DWORD itemData; } DRAWITEMSTRUCT, NEAR *PDRAWITEMSTRUCT, FAR *LPDRAWITEMSTRUCT; -/* DELETEITEMSTRUCT for ownerdraw */ +/* + * DELETEITEMSTRUCT for ownerdraw + */ typedef struct tagDELETEITEMSTRUCT { - DWORD CtlType; - DWORD CtlID; - DWORD itemID; + UINT CtlType; + UINT CtlID; + UINT itemID; HWND hwndItem; - DWORD itemData; + UINT itemData; } DELETEITEMSTRUCT, NEAR *PDELETEITEMSTRUCT, FAR *LPDELETEITEMSTRUCT; -/* COMPAREITEMSTUCT for ownerdraw sorting */ +/* + * COMPAREITEMSTUCT for ownerdraw sorting + */ typedef struct tagCOMPAREITEMSTRUCT { - DWORD CtlType; - DWORD CtlID; + UINT CtlType; + UINT CtlID; HWND hwndItem; - DWORD itemID1; + UINT itemID1; DWORD itemData1; - DWORD itemID2; + UINT itemID2; DWORD itemData2; + DWORD dwLocaleId; } COMPAREITEMSTRUCT, NEAR *PCOMPAREITEMSTRUCT, FAR *LPCOMPAREITEMSTRUCT; #ifndef NOMSG -/* Message Function Templates */ -BOOL APIENTRY CRITICAL XXX GetMessage(OUT LPMSG lpMsg, - IN HWNDVERBATIM hWnd OPTIONAL, IN UINT wMsgFilterMin, - IN UINT wMsgFilterMax); -BOOL APIENTRY CRITICAL TranslateMessage(IN LPMSG lpMsg); -LONG APIENTRY CRITICAL XXX DispatchMessage(IN LPMSG lpMsg); -BOOL APIENTRY CRITICAL XXX PeekMessage(OUT LPMSG lpMsg, - IN HWNDVERBATIM hWnd OPTIONAL, IN UINT wMsgFilterMin, - IN UINT wMsgFilterMax, IN UINT wRemoveMsg); +/* + * Message Function Templates + */ +BOOL +WINAPI +GetMessageA( + LPMSG lpMsg, + HWND hWnd , + UINT wMsgFilterMin, + UINT wMsgFilterMax); +/* + * Message Function Templates + */ +BOOL +WINAPI +GetMessageW( + LPMSG lpMsg, + HWND hWnd , + UINT wMsgFilterMin, + UINT wMsgFilterMax); +#ifdef UNICODE +#define GetMessage GetMessageW +#else +#define GetMessage GetMessageA +#endif // !UNICODE -/* PeekMessage() Options */ +BOOL +WINAPI +TranslateMessage( + CONST MSG *lpMsg); + +LONG +WINAPI +DispatchMessageA( + CONST MSG *lpMsg); +LONG +WINAPI +DispatchMessageW( + CONST MSG *lpMsg); +#ifdef UNICODE +#define DispatchMessage DispatchMessageW +#else +#define DispatchMessage DispatchMessageA +#endif // !UNICODE + + +BOOL +WINAPI +SetMessageQueue( + int cMessagesMax); + +BOOL +WINAPI +PeekMessageA( + LPMSG lpMsg, + HWND hWnd , + UINT wMsgFilterMin, + UINT wMsgFilterMax, + UINT wRemoveMsg); +BOOL +WINAPI +PeekMessageW( + LPMSG lpMsg, + HWND hWnd , + UINT wMsgFilterMin, + UINT wMsgFilterMax, + UINT wRemoveMsg); +#ifdef UNICODE +#define PeekMessage PeekMessageW +#else +#define PeekMessage PeekMessageA +#endif // !UNICODE + +/* + * PeekMessage() Options + */ #define PM_NOREMOVE 0x0000 #define PM_REMOVE 0x0001 #define PM_NOYIELD 0x0002 -#endif /* NOMSG */ +#endif /* !NOMSG */ -BOOL APIENTRY CRITICAL RegisterHotKey(IN HWND hwnd OPTIONAL, IN int id, - IN UINT fsModifiers, IN UINT vk); -BOOL APIENTRY CRITICAL UnregisterHotKey(IN HWND hwnd OPTIONAL, IN int id); +BOOL +WINAPI +RegisterHotKey( + HWND hWnd , + int id, + UINT fsModifiers, + UINT vk); + +BOOL +WINAPI +UnregisterHotKey( + HWND hWnd, + int id); #define MOD_ALT 0x0001 #define MOD_CONTROL 0x0002 @@ -1238,200 +1386,548 @@ BOOL APIENTRY CRITICAL UnregisterHotKey( #ifdef WIN_INTERNAL #ifndef LSTRING #define NOLSTRING - #endif + #endif /* LSTRING */ #ifndef LFILEIO #define NOLFILEIO - #endif -#endif + #endif /* LFILEIO */ +#endif /* WIN_INTERNAL */ -BOOL APIENTRY CRITICAL ExitWindows(IN DWORD dwReserved, IN UINT wReturnCode); +#define EWX_LOGOFF 0 +#define EWX_SHUTDOWN 1 +#define EWX_REBOOT 2 +#define EWX_FORCE 4 -BOOL APIENTRY CRITICAL SwapMouseButton(IN BOOL); -DWORD APIENTRY CRITICAL GetMessagePos(void); -LONG APIENTRY CRITICAL GetMessageTime(void); -LONG APIENTRY CRITICAL GetMessageExtraInfo(void); -LONG APIENTRY CRITICAL XXX SendMessageA(IN HWNDFF hWnd, IN UINT wMsg, - IN DWORD wParam, IN LONG lParam); -LONG APIENTRY CRITICAL XXX SendMessageW(IN HWNDFF hWnd, IN UINT wMsg, - IN DWORD wParam, IN LONG lParam); -#ifdef UNICODE -#define SendMessage SendMessageW -#else -#define SendMessage SendMessageA -#endif // !UNICODE -BOOL APIENTRY CRITICAL XXX SendNotifyMessage(IN HWND hwnd, IN UINT wMsg, - IN DWORD wParam, IN LONG lParam); -BOOL APIENTRY CRITICAL PostMessage(IN HWNDFF hWnd, IN UINT wMsg, - IN DWORD wParam, IN LONG lParam); -BOOL APIENTRY CRITICAL PostThreadMessage(IN DWORD idThread, IN UINT wMsg, - IN DWORD wParam, IN LONG lParam); -#define PostAppMessage(idThread, wMsg, wParam, lParam)\ - PostThreadMessage((DWORD)idThread, wMsg, wParam, lParam) -BOOL APIENTRY CRITICAL ReplyMessage(IN LONG); -BOOL APIENTRY CRITICAL XXX WaitMessage(void); -DWORD APIENTRY WaitForInputIdle(HANDLE hProcess, DWORD dwMilliseconds); -LONG APIENTRY CRITICAL XXX DefWindowProcA(IN HWND hWnd, IN UINT wMsg, - IN DWORD wParam, IN LONG lParam); -LONG APIENTRY CRITICAL XXX DefWindowProcW(IN HWND hWnd, IN UINT wMsg, - IN DWORD wParam, IN LONG lParam); -#ifdef UNICODE -#define DefWindowProc DefWindowProcW -#else -#define DefWindowProc DefWindowProcA -#endif // !UNICODE -BOOL APIENTRY CRITICAL PostQuitMessage(IN int nExitCode); -LONG APIENTRY CRITICAL XXX CallWindowProcA(IN WNDPROC lpPrevWndFunc, - IN HWND hWnd, IN UINT wMsg, IN DWORD wParam, IN LONG lParam); -LONG APIENTRY CRITICAL XXX CallWindowProcW(IN WNDPROC lpPrevWndFunc, - IN HWND hWnd, IN UINT wMsg, IN DWORD wParam, IN LONG lParam); +#define ExitWindows(dwReserved, Code) ExitWindowsEx(EWX_LOGOFF, 0xFFFFFFFF) + +BOOL +WINAPI +ExitWindowsEx( + UINT uFlags, + DWORD dwReserved); + +BOOL +WINAPI +SwapMouseButton( + BOOL fSwap); + +DWORD +WINAPI +GetMessagePos( + VOID); + +LONG +WINAPI +GetMessageTime( + VOID); + +LONG +WINAPI +GetMessageExtraInfo( + VOID); + +LRESULT +WINAPI +SendMessageA( + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +LRESULT +WINAPI +SendMessageW( + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +#ifdef UNICODE +#define SendMessage SendMessageW +#else +#define SendMessage SendMessageA +#endif // !UNICODE + +LRESULT +WINAPI +SendMessageTimeoutA( + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam, + UINT fuFlags, + UINT uTimeout, + LPDWORD lpdwResult); +LRESULT +WINAPI +SendMessageTimeoutW( + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam, + UINT fuFlags, + UINT uTimeout, + LPDWORD lpdwResult); +#ifdef UNICODE +#define SendMessageTimeout SendMessageTimeoutW +#else +#define SendMessageTimeout SendMessageTimeoutA +#endif // !UNICODE + +BOOL +WINAPI +SendNotifyMessageA( + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +BOOL +WINAPI +SendNotifyMessageW( + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +#ifdef UNICODE +#define SendNotifyMessage SendNotifyMessageW +#else +#define SendNotifyMessage SendNotifyMessageA +#endif // !UNICODE + +BOOL +WINAPI +SendMessageCallbackA( + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam, + SENDASYNCPROC lpResultCallBack, + DWORD dwData); +BOOL +WINAPI +SendMessageCallbackW( + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam, + SENDASYNCPROC lpResultCallBack, + DWORD dwData); +#ifdef UNICODE +#define SendMessageCallback SendMessageCallbackW +#else +#define SendMessageCallback SendMessageCallbackA +#endif // !UNICODE + +BOOL +WINAPI +PostMessageA( + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +BOOL +WINAPI +PostMessageW( + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +#ifdef UNICODE +#define PostMessage PostMessageW +#else +#define PostMessage PostMessageA +#endif // !UNICODE + +BOOL +WINAPI +PostThreadMessageA( + DWORD idThread, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +BOOL +WINAPI +PostThreadMessageW( + DWORD idThread, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +#ifdef UNICODE +#define PostThreadMessage PostThreadMessageW +#else +#define PostThreadMessage PostThreadMessageA +#endif // !UNICODE + +#define PostAppMessageA(idThread, wMsg, wParam, lParam)\ + PostThreadMessageA((DWORD)idThread, wMsg, wParam, lParam) +#define PostAppMessageW(idThread, wMsg, wParam, lParam)\ + PostThreadMessageW((DWORD)idThread, wMsg, wParam, lParam) #ifdef UNICODE -#define CallWindowProc CallWindowProcW +#define PostAppMessage PostAppMessageW #else -#define CallWindowProc CallWindowProcA +#define PostAppMessage PostAppMessageA #endif // !UNICODE -BOOL APIENTRY CRITICAL InSendMessage(void); -UINT APIENTRY CRITICAL GetDoubleClickTime(void); -BOOL APIENTRY CRITICAL SetDoubleClickTime(IN UINT); +/* + * Special HWND value for use with PostMessage() and SendMessage() + */ +#define HWND_BROADCAST ((HWND)0xffff) BOOL -APIENTRY CRITICAL -RegisterClassA( - IN LPWNDCLASSA lpWndClass - ); +WINAPI +AttachThreadInput( + DWORD idAttach, + DWORD idAttachTo, + BOOL fAttach); + + BOOL -APIENTRY CRITICAL +WINAPI +ReplyMessage( + LRESULT lResult); + +BOOL +WINAPI +WaitMessage( + VOID); + +DWORD +WINAPI +WaitForInputIdle( + HANDLE hProcess, + DWORD dwMilliseconds); + +LRESULT +WINAPI +DefWindowProcA( + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +LRESULT +WINAPI +DefWindowProcW( + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +#ifdef UNICODE +#define DefWindowProc DefWindowProcW +#else +#define DefWindowProc DefWindowProcA +#endif // !UNICODE + +VOID +WINAPI +PostQuitMessage( + int nExitCode); + +#ifdef STRICT + +LRESULT +WINAPI +CallWindowProcA( + WNDPROC lpPrevWndFunc, + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +LRESULT +WINAPI +CallWindowProcW( + WNDPROC lpPrevWndFunc, + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +#ifdef UNICODE +#define CallWindowProc CallWindowProcW +#else +#define CallWindowProc CallWindowProcA +#endif // !UNICODE + +#else /* !STRICT */ + +LRESULT +WINAPI +CallWindowProcA( + FARPROC lpPrevWndFunc, + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +LRESULT +WINAPI +CallWindowProcW( + FARPROC lpPrevWndFunc, + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +#ifdef UNICODE +#define CallWindowProc CallWindowProcW +#else +#define CallWindowProc CallWindowProcA +#endif // !UNICODE + +#endif /* !STRICT */ + +BOOL +WINAPI +InSendMessage( + VOID); + +UINT +WINAPI +GetDoubleClickTime( + VOID); + +BOOL +WINAPI +SetDoubleClickTime( + UINT); + +ATOM +WINAPI +RegisterClassA( + CONST WNDCLASSA *lpWndClass); +ATOM +WINAPI RegisterClassW( - IN LPWNDCLASSW lpWndClass - ); + CONST WNDCLASSW *lpWndClass); #ifdef UNICODE -#define RegisterClass RegisterClassW +#define RegisterClass RegisterClassW #else -#define RegisterClass RegisterClassA +#define RegisterClass RegisterClassA #endif // !UNICODE BOOL -APIENTRY CRITICAL +WINAPI UnregisterClassA( - IN LPSTRID lpClassName, - IN HANDLE hInstance - ); + LPCSTR lpClassName, + HINSTANCE hInstance); BOOL -APIENTRY CRITICAL +WINAPI UnregisterClassW( - IN LPWSTRID lpClassName, - IN HANDLE hInstance - ); + LPCWSTR lpClassName, + HINSTANCE hInstance); #ifdef UNICODE -#define UnregisterClass UnregisterClassW +#define UnregisterClass UnregisterClassW #else -#define UnregisterClass UnregisterClassA +#define UnregisterClass UnregisterClassA #endif // !UNICODE BOOL -APIENTRY CRITICAL +WINAPI GetClassInfoA( - IN HANDLE hInstance OPTIONAL, - IN LPSTRID lpClassName, - OUT LPWNDCLASSA lpWndClass - ); + HINSTANCE hInstance , + LPCSTR lpClassName, + LPWNDCLASSA lpWndClass); BOOL -APIENTRY CRITICAL +WINAPI GetClassInfoW( - IN HANDLE hInstance OPTIONAL, - IN LPWSTRID lpClassName, - OUT LPWNDCLASSW lpWndClass - ); + HINSTANCE hInstance , + LPCWSTR lpClassName, + LPWNDCLASSW lpWndClass); #ifdef UNICODE -#define GetClassInfo GetClassInfoW +#define GetClassInfo GetClassInfoW #else -#define GetClassInfo GetClassInfoA +#define GetClassInfo GetClassInfoA #endif // !UNICODE #define CW_USEDEFAULT ((int)0x80000000) +/* + * Special value for CreateWindow, et al. + */ +#define HWND_DESKTOP ((HWND)0) + HWND -APIENTRY CRITICAL XXX +WINAPI CreateWindowExA( - IN DWORD dwExStyle, - IN LPSTRID lpClassName, - IN LPSTRID lpWindowName, - IN DWORD dwStyle, - IN int X, - IN int Y, - IN int nWidth, - IN int nHeight, - IN HWND hWndParent OPTIONAL, - IN HMENU hMenu, - IN HANDLE hInstance, - IN LPVOID lpParam OPTIONAL - ); + DWORD dwExStyle, + LPCSTR lpClassName, + LPCSTR lpWindowName, + DWORD dwStyle, + int X, + int Y, + int nWidth, + int nHeight, + HWND hWndParent , + HMENU hMenu, + HINSTANCE hInstance, + LPVOID lpParam); HWND -APIENTRY CRITICAL XXX +WINAPI CreateWindowExW( - IN DWORD dwExStyle, - IN LPWSTRID lpClassName, - IN LPWSTRID lpWindowName, - IN DWORD dwStyle, - IN int X, - IN int Y, - IN int nWidth, - IN int nHeight, - IN HWND hWndParent OPTIONAL, - IN HMENU hMenu, - IN HANDLE hInstance, - IN LPVOID lpParam OPTIONAL - ); + DWORD dwExStyle, + LPCWSTR lpClassName, + LPCWSTR lpWindowName, + DWORD dwStyle, + int X, + int Y, + int nWidth, + int nHeight, + HWND hWndParent , + HMENU hMenu, + HINSTANCE hInstance, + LPVOID lpParam); #ifdef UNICODE -#define CreateWindowEx CreateWindowExW +#define CreateWindowEx CreateWindowExW #else -#define CreateWindowEx CreateWindowExA +#define CreateWindowEx CreateWindowExA #endif // !UNICODE #define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y,\ -nWidth, nHeight, hwndParent, hMenu, hInstance, lpParam)\ +nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\ CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y,\ -nWidth, nHeight, hwndParent, hMenu, hInstance, lpParam) +nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam) #define CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y,\ -nWidth, nHeight, hwndParent, hMenu, hInstance, lpParam)\ +nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\ CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y,\ -nWidth, nHeight, hwndParent, hMenu, hInstance, lpParam) +nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam) #ifdef UNICODE -#define CreateWindow CreateWindowW +#define CreateWindow CreateWindowW #else -#define CreateWindow CreateWindowA +#define CreateWindow CreateWindowA #endif // !UNICODE -BOOL APIENTRY CRITICAL IsWindow(IN HWNDVERBATIM hWnd); -BOOL APIENTRY CRITICAL IsChild(IN HWND hWndParent, IN HWND hWnd); -BOOL APIENTRY CRITICAL XXX DestroyWindow(IN HWND hWnd); +BOOL +WINAPI +IsWindow( + HWND hWnd); -BOOL APIENTRY CRITICAL XXX ShowWindow(IN HWND hWnd, IN int nCmdShow); -BOOL APIENTRY CRITICAL XXX FlashWindow(IN HWND hWnd, IN BOOL bInvert); -BOOL APIENTRY CRITICAL XXX ShowOwnedPopups(IN HWND hWnd, IN BOOL fShow); +BOOL +WINAPI +IsMenu( + HMENU hMenu); + +BOOL +WINAPI +IsChild( + HWND hWndParent, + HWND hWnd); + +BOOL +WINAPI +DestroyWindow( + HWND hWnd); + +BOOL +WINAPI +ShowWindow( + HWND hWnd, + int nCmdShow); + +BOOL +WINAPI +FlashWindow( + HWND hWnd, + BOOL bInvert); + +BOOL +WINAPI +ShowOwnedPopups( + HWND hWnd, + BOOL fShow); + +BOOL +WINAPI +OpenIcon( + HWND hWnd); + +BOOL +WINAPI +CloseWindow( + HWND hWnd); + +BOOL +WINAPI +MoveWindow( + HWND hWnd, + int X, + int Y, + int nWidth, + int nHeight, + BOOL bRepaint); + +BOOL +WINAPI +SetWindowPos( + HWND hWnd, + HWND hWndInsertAfter , + int X, + int Y, + int cx, + int cy, + UINT uFlags); + +BOOL +WINAPI +GetWindowPlacement( + HWND hWnd, + WINDOWPLACEMENT *lpwndpl); + +BOOL +WINAPI +SetWindowPlacement( + HWND hWnd, + CONST WINDOWPLACEMENT *lpwndpl); -BOOL APIENTRY CRITICAL XXX OpenIcon(IN HWND hWnd); -BOOL APIENTRY CRITICAL XXX CloseWindow(IN HWND hWnd); -BOOL APIENTRY CRITICAL XXX MoveWindow(IN HWND hWnd, IN int X, IN int Y, IN int nWidth, IN int nHeight, IN BOOL bRepaint); -BOOL APIENTRY CRITICAL XXX SetWindowPos(IN HWND hWnd, IN HWNDIA hWndInsertAfter OPTIONAL, IN int X, IN int Y, IN int cx, IN int cy, IN UINT wFlags); #ifndef NODEFERWINDOWPOS -HWPI APIENTRY CRITICAL BeginDeferWindowPos(IN int nNumWindows); -HWPI APIENTRY CRITICAL DeferWindowPos(IN HWPI hWinPosInfo, IN HWND hWnd, IN HWNDIA hWndInsertAfter OPTIONAL, IN int x, IN int y, IN int cx, IN int cy, IN UINT wFlags); -BOOL APIENTRY CRITICAL XXX EndDeferWindowPos(IN HWPI hWinPosInfo); - -#endif /* NODEFERWINDOWPOS */ - -BOOL APIENTRY CRITICAL IsWindowVisible(IN HWND hWnd); -BOOL APIENTRY CRITICAL IsIconic(IN HWND hWnd); -BOOL APIENTRY CRITICAL AnyPopup(void); -BOOL APIENTRY CRITICAL XXX BringWindowToTop(IN HWND hWnd); -BOOL APIENTRY CRITICAL IsZoomed(IN HWND hWnd); +HDWP +WINAPI +BeginDeferWindowPos( + int nNumWindows); + +HDWP +WINAPI +DeferWindowPos( + HDWP hWinPosInfo, + HWND hWnd, + HWND hWndInsertAfter , + int x, + int y, + int cx, + int cy, + UINT uFlags); -/* SetWindowPos Flags */ +BOOL +WINAPI +EndDeferWindowPos( + HDWP hWinPosInfo); + +#endif /* !NODEFERWINDOWPOS */ + +BOOL +WINAPI +IsWindowVisible( + HWND hWnd); + +BOOL +WINAPI +IsIconic( + HWND hWnd); + +BOOL +WINAPI +AnyPopup( + VOID); + +BOOL +WINAPI +BringWindowToTop( + HWND hWnd); + +BOOL +WINAPI +IsZoomed( + HWND hWnd); + +/* + * SetWindowPos Flags + */ #define SWP_NOSIZE 0x0001 #define SWP_NOMOVE 0x0002 #define SWP_NOZORDER 0x0004 @@ -1446,234 +1942,355 @@ BOOL APIENTRY CRITICAL IsZoomed(IN HWND #define SWP_DRAWFRAME SWP_FRAMECHANGED #define SWP_NOREPOSITION SWP_NOOWNERZORDER -#define SWP_NOCLIENTSIZE 0x0800 /* Client didn't resize */ /* ;Internal */ -#define SWP_NOCLIENTMOVE 0x1000 /* Client didn't move */ /* ;Internal */ -#define SWP_NOSENDCHANGING 0x0400 /* Don't send WM_WINDOWPOSCHANGING */ /* ;Internal */ -#define SWP_DEFERDRAWING 0x2000 /* Don't do any drawing or erasing */ /* ;Internal */ - /* ;Internal */ -#define SWP_CHANGEMASK (SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | /* ;Internal */ \ - SWP_FRAMECHANGED | /* ;Internal */ \ - SWP_SHOWWINDOW | SWP_HIDEWINDOW | /* ;Internal */ \ - SWP_NOCLIENTSIZE | SWP_NOCLIENTMOVE) /* ;Internal */ - /* ;Internal */ -#define SWP_NOCHANGE (SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | /* ;Internal */ \ - SWP_NOCLIENTSIZE | SWP_NOCLIENTMOVE) /* ;Internal */ + +#define HWND_TOP ((HWND)0) +#define HWND_BOTTOM ((HWND)1) +#define HWND_TOPMOST ((HWND)-1) +#define HWND_NOTOPMOST ((HWND)-2) #ifndef NOCTLMGR +#ifndef RC_INVOKED /* RC can't handle #pragmas */ + +/* + * WARNING: + * The following structures must NOT be DWORD padded because they are + * followed by strings, etc that do not have to be DWORD aligned. + */ +#pragma pack(2) + +typedef struct { + DWORD style; + DWORD dwExtendedStyle; + WORD cdit; + short x; + short y; + short cx; + short cy; +} DLGTEMPLATE; +typedef DLGTEMPLATE *LPDLGTEMPLATEA; +typedef DLGTEMPLATE *LPDLGTEMPLATEW; +#ifdef UNICODE +typedef LPDLGTEMPLATEW LPDLGTEMPLATE; +#else +typedef LPDLGTEMPLATEA LPDLGTEMPLATE; +#endif // UNICODE +typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEA; +typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEW; +#ifdef UNICODE +typedef LPCDLGTEMPLATEW LPCDLGTEMPLATE; +#else +typedef LPCDLGTEMPLATEA LPCDLGTEMPLATE; +#endif // UNICODE + +/* + * Dialog item template (dit) + */ +typedef struct { + DWORD style; + DWORD dwExtendedStyle; + short x; + short y; + short cx; + short cy; + WORD id; +} DLGITEMTEMPLATE; +typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA; +typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW; +#ifdef UNICODE +typedef PDLGITEMTEMPLATEW PDLGITEMTEMPLATE; +#else +typedef PDLGITEMTEMPLATEA PDLGITEMTEMPLATE; +#endif // UNICODE +typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA; +typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW; +#ifdef UNICODE +typedef LPDLGITEMTEMPLATEW LPDLGITEMTEMPLATE; +#else +typedef LPDLGITEMTEMPLATEA LPDLGITEMTEMPLATE; +#endif // UNICODE + +#pragma pack() /* Resume normal packing */ +#endif /* !RC_INVOKED */ + HWND -APIENTRY CRITICAL +WINAPI CreateDialogParamA( - IN HANDLE hInstance, - IN LPSTRID lpTemplateName, - IN HWND hWndParent OPTIONAL, - IN WNDPROC lpDialogFunc, - IN LONG dwInitParam - ); + HINSTANCE hInstance, + LPCSTR lpTemplateName, + HWND hWndParent , + DLGPROC lpDialogFunc, + LPARAM dwInitParam); HWND -APIENTRY CRITICAL +WINAPI CreateDialogParamW( - IN HANDLE hInstance, - IN LPWSTRID lpTemplateName, - IN HWND hWndParent OPTIONAL, - IN WNDPROC lpDialogFunc, - IN LONG dwInitParam - ); + HINSTANCE hInstance, + LPCWSTR lpTemplateName, + HWND hWndParent , + DLGPROC lpDialogFunc, + LPARAM dwInitParam); #ifdef UNICODE -#define CreateDialogParam CreateDialogParamW +#define CreateDialogParam CreateDialogParamW #else -#define CreateDialogParam CreateDialogParamA +#define CreateDialogParam CreateDialogParamA #endif // !UNICODE HWND -APIENTRY CRITICAL +WINAPI CreateDialogIndirectParamA( - IN HANDLE hInstance, - IN LPDLGTEMPLATESTUBA lpTemplate, - IN HWND hWndParent OPTIONAL, - IN WNDPROC lpDialogFunc, - IN LONG dwInitParam - ); + HINSTANCE hInstance, + LPCDLGTEMPLATEA lpTemplate, + HWND hWndParent, + DLGPROC lpDialogFunc, + LPARAM dwInitParam); HWND -APIENTRY CRITICAL +WINAPI CreateDialogIndirectParamW( - IN HANDLE hInstance, - IN LPDLGTEMPLATESTUBW lpTemplate, - IN HWND hWndParent OPTIONAL, - IN WNDPROC lpDialogFunc, - IN LONG dwInitParam - ); + HINSTANCE hInstance, + LPCDLGTEMPLATEW lpTemplate, + HWND hWndParent, + DLGPROC lpDialogFunc, + LPARAM dwInitParam); #ifdef UNICODE -#define CreateDialogIndirectParam CreateDialogIndirectParamW +#define CreateDialogIndirectParam CreateDialogIndirectParamW #else -#define CreateDialogIndirectParam CreateDialogIndirectParamA +#define CreateDialogIndirectParam CreateDialogIndirectParamA #endif // !UNICODE -#define CreateDialogA(hInstance, lpName, hwndParent, lpDialogFunc) \ -CreateDialogParamA(hInstance, lpName, hwndParent, lpDialogFunc, 0L) -#define CreateDialogW(hInstance, lpName, hwndParent, lpDialogFunc) \ -CreateDialogParamW(hInstance, lpName, hwndParent, lpDialogFunc, 0L) +#define CreateDialogA(hInstance, lpName, hWndParent, lpDialogFunc) \ +CreateDialogParamA(hInstance, lpName, hWndParent, lpDialogFunc, 0L) +#define CreateDialogW(hInstance, lpName, hWndParent, lpDialogFunc) \ +CreateDialogParamW(hInstance, lpName, hWndParent, lpDialogFunc, 0L) #ifdef UNICODE -#define CreateDialog CreateDialogW +#define CreateDialog CreateDialogW #else -#define CreateDialog CreateDialogA +#define CreateDialog CreateDialogA #endif // !UNICODE -#define CreateDialogIndirectA(hInstance, lpTemplate, hwndParent, lpDialogFunc) \ -CreateDialogIndirectParamA(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L) -#define CreateDialogIndirectW(hInstance, lpTemplate, hwndParent, lpDialogFunc) \ -CreateDialogIndirectParamW(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L) +#define CreateDialogIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ +CreateDialogIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) +#define CreateDialogIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ +CreateDialogIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) #ifdef UNICODE -#define CreateDialogIndirect CreateDialogIndirectW +#define CreateDialogIndirect CreateDialogIndirectW #else -#define CreateDialogIndirect CreateDialogIndirectA +#define CreateDialogIndirect CreateDialogIndirectA #endif // !UNICODE int -APIENTRY CRITICAL +WINAPI DialogBoxParamA( - IN HANDLE hInstance, - IN LPSTRID lpTemplateName, - IN HWND hWndParent OPTIONAL, - IN WNDPROC lpDialogFunc, - IN LONG dwInitParam - ); + HINSTANCE hInstance, + LPCSTR lpTemplateName, + HWND hWndParent , + DLGPROC lpDialogFunc, + LPARAM dwInitParam); int -APIENTRY CRITICAL +WINAPI DialogBoxParamW( - IN HANDLE hInstance, - IN LPWSTRID lpTemplateName, - IN HWND hWndParent OPTIONAL, - IN WNDPROC lpDialogFunc, - IN LONG dwInitParam - ); + HINSTANCE hInstance, + LPCWSTR lpTemplateName, + HWND hWndParent , + DLGPROC lpDialogFunc, + LPARAM dwInitParam); #ifdef UNICODE -#define DialogBoxParam DialogBoxParamW +#define DialogBoxParam DialogBoxParamW #else -#define DialogBoxParam DialogBoxParamA +#define DialogBoxParam DialogBoxParamA #endif // !UNICODE int -APIENTRY CRITICAL +WINAPI DialogBoxIndirectParamA( - IN HANDLE hInstance, - IN LPDLGTEMPLATESTUBA hDialogTemplate, - IN HWND hWndParent OPTIONAL, - IN WNDPROC lpDialogFunc, - IN LONG dwInitParam - ); + HINSTANCE hInstance, + LPCDLGTEMPLATEA hDialogTemplate, + HWND hWndParent , + DLGPROC lpDialogFunc, + LPARAM dwInitParam); int -APIENTRY CRITICAL +WINAPI DialogBoxIndirectParamW( - IN HANDLE hInstance, - IN LPDLGTEMPLATESTUBW hDialogTemplate, - IN HWND hWndParent OPTIONAL, - IN WNDPROC lpDialogFunc, - IN LONG dwInitParam - ); + HINSTANCE hInstance, + LPCDLGTEMPLATEW hDialogTemplate, + HWND hWndParent , + DLGPROC lpDialogFunc, + LPARAM dwInitParam); #ifdef UNICODE -#define DialogBoxIndirectParam DialogBoxIndirectParamW +#define DialogBoxIndirectParam DialogBoxIndirectParamW #else -#define DialogBoxIndirectParam DialogBoxIndirectParamA +#define DialogBoxIndirectParam DialogBoxIndirectParamA #endif // !UNICODE -#define DialogBoxA(hInstance, lpTemplate, hwndParent, lpDialogFunc) \ -DialogBoxParamA(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L) -#define DialogBoxW(hInstance, lpTemplate, hwndParent, lpDialogFunc) \ -DialogBoxParamW(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L) +#define DialogBoxA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ +DialogBoxParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) +#define DialogBoxW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ +DialogBoxParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) #ifdef UNICODE -#define DialogBox DialogBoxW +#define DialogBox DialogBoxW #else -#define DialogBox DialogBoxA +#define DialogBox DialogBoxA #endif // !UNICODE -#define DialogBoxIndirectA(hInstance, lpTemplate, hwndParent, lpDialogFunc) \ -DialogBoxIndirectParamA(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L) -#define DialogBoxIndirectW(hInstance, lpTemplate, hwndParent, lpDialogFunc) \ -DialogBoxIndirectParamW(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L) +#define DialogBoxIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ +DialogBoxIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) +#define DialogBoxIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ +DialogBoxIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) #ifdef UNICODE -#define DialogBoxIndirect DialogBoxIndirectW +#define DialogBoxIndirect DialogBoxIndirectW #else -#define DialogBoxIndirect DialogBoxIndirectA +#define DialogBoxIndirect DialogBoxIndirectA #endif // !UNICODE -BOOL APIENTRY CRITICAL XXX EndDialog(IN HWND hDlg, IN int nResult); -HWND APIENTRY CRITICAL GetDlgItem(IN HWND hDlg, IN int nIDDlgItem); -BOOL APIENTRY CRITICAL XXX SetDlgItemInt(IN HWND hDlg, IN int nIDDlgItem, - IN int wValue, IN BOOL bSigned); -int APIENTRY CRITICAL XXX GetDlgItemInt(IN HWNDVERBATIM hDlg, IN int nIDDlgItem, - OUT BOOL *lpTranslated OPTIONAL, IN BOOL bSigned); +BOOL +WINAPI +EndDialog( + HWND hDlg, + int nResult); + +HWND +WINAPI +GetDlgItem( + HWND hDlg, + int nIDDlgItem); + +BOOL +WINAPI +SetDlgItemInt( + HWND hDlg, + int nIDDlgItem, + UINT uValue, + BOOL bSigned); + +UINT +WINAPI +GetDlgItemInt( + HWND hDlg, + int nIDDlgItem, + BOOL *lpTranslated, + BOOL bSigned); BOOL -APIENTRY CRITICAL XXX +WINAPI SetDlgItemTextA( - IN HWND hDlg, - IN int nIDDlgItem, - IN LPSTR lpString OPTIONAL - ); + HWND hDlg, + int nIDDlgItem, + LPCSTR lpString); BOOL -APIENTRY CRITICAL XXX +WINAPI SetDlgItemTextW( - IN HWND hDlg, - IN int nIDDlgItem, - IN LPWSTR lpString OPTIONAL - ); + HWND hDlg, + int nIDDlgItem, + LPCWSTR lpString); #ifdef UNICODE -#define SetDlgItemText SetDlgItemTextW +#define SetDlgItemText SetDlgItemTextW #else -#define SetDlgItemText SetDlgItemTextA +#define SetDlgItemText SetDlgItemTextA #endif // !UNICODE -int -APIENTRY CRITICAL XXX +UINT +WINAPI GetDlgItemTextA( - IN HWND hDlg, - IN int nIDDlgItem, - NEXTCOUNT IN OUT OUTLPSTR lpString, - IN int nMaxCount - ); -int -APIENTRY CRITICAL XXX + HWND hDlg, + int nIDDlgItem, + LPSTR lpString, + int nMaxCount); +UINT +WINAPI GetDlgItemTextW( - IN HWND hDlg, - IN int nIDDlgItem, - NEXTCOUNT IN OUT OUTLPWSTR lpString, - IN int nMaxCount - ); + HWND hDlg, + int nIDDlgItem, + LPWSTR lpString, + int nMaxCount); #ifdef UNICODE -#define GetDlgItemText GetDlgItemTextW +#define GetDlgItemText GetDlgItemTextW #else -#define GetDlgItemText GetDlgItemTextA +#define GetDlgItemText GetDlgItemTextA #endif // !UNICODE -BOOL APIENTRY CRITICAL XXX CheckDlgButton(IN HWND hDlg, IN int nIDButton, - IN UINT wCheck); -BOOL APIENTRY CRITICAL XXX CheckRadioButton(IN HWND hDlg, IN int nIDFirstButton, - IN int nIDLastButton, IN int nIDCheckButton); -UINT APIENTRY CRITICAL XXX IsDlgButtonChecked(IN HWND hDlg, IN int nIDButton); -LONG APIENTRY CRITICAL XXX SendDlgItemMessageA(IN HWND hDlg, IN int nIDDlgItem, - IN UINT wMsg, IN DWORD wParam, IN LONG lParam); -LONG APIENTRY CRITICAL XXX SendDlgItemMessageW(IN HWND hDlg, IN int nIDDlgItem, - IN UINT wMsg, IN DWORD wParam, IN LONG lParam); -#ifdef UNICODE -#define SendDlgItemMessage SendDlgItemMessageW -#else -#define SendDlgItemMessage SendDlgItemMessageA -#endif // !UNICODE -HWND APIENTRY CRITICAL GetNextDlgGroupItem(IN HWND hDlg, IN HWND hCtl, - IN BOOL bPrevious); -HWND APIENTRY CRITICAL GetNextDlgTabItem(IN HWND hDlg, IN HWND hCtl, - IN BOOL bPrevious); -int APIENTRY CRITICAL GetDlgCtrlID(IN HWND hWnd); -long APIENTRY CRITICAL GetDialogBaseUnits(void); -LONG APIENTRY CRITICAL XXX DefDlgProcA(IN HWND hDlg, IN UINT wMsg, - IN DWORD wParam, IN LONG lParam); -LONG APIENTRY CRITICAL XXX DefDlgProcW(IN HWND hDlg, IN UINT wMsg, - IN DWORD wParam, IN LONG lParam); +BOOL +WINAPI +CheckDlgButton( + HWND hDlg, + int nIDButton, + UINT uCheck); + +BOOL +WINAPI +CheckRadioButton( + HWND hDlg, + int nIDFirstButton, + int nIDLastButton, + int nIDCheckButton); + +UINT +WINAPI +IsDlgButtonChecked( + HWND hDlg, + int nIDButton); + +LONG +WINAPI +SendDlgItemMessageA( + HWND hDlg, + int nIDDlgItem, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +LONG +WINAPI +SendDlgItemMessageW( + HWND hDlg, + int nIDDlgItem, + UINT Msg, + WPARAM wParam, + LPARAM lParam); #ifdef UNICODE -#define DefDlgProc DefDlgProcW +#define SendDlgItemMessage SendDlgItemMessageW #else -#define DefDlgProc DefDlgProcA +#define SendDlgItemMessage SendDlgItemMessageA +#endif // !UNICODE + +HWND +WINAPI +GetNextDlgGroupItem( + HWND hDlg, + HWND hCtl, + BOOL bPrevious); + +HWND +WINAPI +GetNextDlgTabItem( + HWND hDlg, + HWND hCtl, + BOOL bPrevious); + +int +WINAPI +GetDlgCtrlID( + HWND hWnd); + +long +WINAPI +GetDialogBaseUnits(VOID); + +LRESULT +WINAPI +DefDlgProcA( + HWND hDlg, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +LRESULT +WINAPI +DefDlgProcW( + HWND hDlg, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +#ifdef UNICODE +#define DefDlgProc DefDlgProcW +#else +#define DefDlgProc DefDlgProcA #endif // !UNICODE /* @@ -1681,251 +2298,305 @@ LONG APIENTRY CRITICAL XXX DefDlgProcW(I */ #define DLGWINDOWEXTRA 30 -#endif /* NOCTLMGR */ +#endif /* !NOCTLMGR */ #ifndef NOMSG -BOOL APIENTRY CRITICAL CallMsgFilter(IN LPMSG lpMsg, IN int nCode); -#endif + +BOOL +WINAPI +CallMsgFilterA( + LPMSG lpMsg, + int nCode); +BOOL +WINAPI +CallMsgFilterW( + LPMSG lpMsg, + int nCode); +#ifdef UNICODE +#define CallMsgFilter CallMsgFilterW +#else +#define CallMsgFilter CallMsgFilterA +#endif // !UNICODE + +#endif /* !NOMSG */ #ifndef NOCLIPBOARD -/* Clipboard Manager Functions */ -BOOL APIENTRY CRITICAL OpenClipboard(IN HWND hWnd); -BOOL APIENTRY CRITICAL XXX CloseClipboard(void); -HWND APIENTRY CRITICAL GetClipboardOwner(void); -HWND APIENTRY CRITICAL XXX SetClipboardViewer(IN HWND OPTIONAL); -HWND APIENTRY CRITICAL GetClipboardViewer(void); -BOOL APIENTRY CRITICAL XXX ChangeClipboardChain(IN HWND, IN HWND OPTIONAL); -HANDLE APIENTRY CRITICAL SetClipboardData(IN UINT wFormat, IN HANDLE hMem); -HANDLE APIENTRY CRITICAL XXX GetClipboardData(IN UINT wFormat); +/* + * Clipboard Manager Functions + */ +BOOL +WINAPI +OpenClipboard( + HWND hWndNewOwner); + +BOOL +WINAPI +CloseClipboard( + VOID); + +HWND +WINAPI +GetClipboardOwner( + VOID); + +HWND +WINAPI +SetClipboardViewer( + HWND hWndNewViewer); + +HWND +WINAPI +GetClipboardViewer( + VOID); + +BOOL +WINAPI +ChangeClipboardChain( + HWND hWndRemove, + HWND hWndNewNext); + +HANDLE +WINAPI +SetClipboardData( + UINT uFormat, + HANDLE hMem); + +HANDLE +WINAPI + GetClipboardData( + UINT uFormat); UINT -APIENTRY CRITICAL +WINAPI RegisterClipboardFormatA( - IN LPSTR - ); + LPCSTR lpszFormat); UINT -APIENTRY CRITICAL +WINAPI RegisterClipboardFormatW( - IN LPWSTR - ); + LPCWSTR lpszFormat); #ifdef UNICODE -#define RegisterClipboardFormat RegisterClipboardFormatW +#define RegisterClipboardFormat RegisterClipboardFormatW #else -#define RegisterClipboardFormat RegisterClipboardFormatA +#define RegisterClipboardFormat RegisterClipboardFormatA #endif // !UNICODE -int APIENTRY CRITICAL CountClipboardFormats(void); -UINT APIENTRY CRITICAL EnumClipboardFormats(IN UINT); +int +WINAPI +CountClipboardFormats( + VOID); + +UINT +WINAPI +EnumClipboardFormats( + UINT format); int -APIENTRY CRITICAL +WINAPI GetClipboardFormatNameA( - IN UINT, - NEXTCOUNT IN OUT OUTLPSTR, - IN int - ); + UINT format, + LPSTR lpszFormatName, + int cchMaxCount); int -APIENTRY CRITICAL +WINAPI GetClipboardFormatNameW( - IN UINT, - NEXTCOUNT IN OUT OUTLPWSTR, - IN int - ); + UINT format, + LPWSTR lpszFormatName, + int cchMaxCount); #ifdef UNICODE -#define GetClipboardFormatName GetClipboardFormatNameW +#define GetClipboardFormatName GetClipboardFormatNameW #else -#define GetClipboardFormatName GetClipboardFormatNameA +#define GetClipboardFormatName GetClipboardFormatNameA #endif // !UNICODE -BOOL APIENTRY CRITICAL XXX EmptyClipboard(void); -BOOL APIENTRY CRITICAL IsClipboardFormatAvailable(IN UINT); -int APIENTRY CRITICAL GetPriorityClipboardFormat(NEXTCOUNT IN LPPRIORITYLIST, IN int); +BOOL +WINAPI +EmptyClipboard( + VOID); -#endif /* NOCLIPBOARD */ +BOOL +WINAPI +IsClipboardFormatAvailable( + UINT format); +int +WINAPI +GetPriorityClipboardFormat( + UINT *paFormatPriorityList, + int cFormats); -/* Character Translation Routines */ +HWND +WINAPI +GetOpenClipboardWindow( + VOID); + +#endif /* !NOCLIPBOARD */ + +/* + * Character Translation Routines + */ BOOL -APIENTRY +WINAPI CharToOemA( - IN LPSTR, - OUT LPSTR - ); + LPCSTR lpszSrc, + LPSTR lpszDst); BOOL -APIENTRY +WINAPI CharToOemW( - IN LPWSTR, - OUT LPSTR - ); + LPCWSTR lpszSrc, + LPSTR lpszDst); #ifdef UNICODE -#define CharToOem CharToOemW +#define CharToOem CharToOemW #else -#define CharToOem CharToOemA +#define CharToOem CharToOemA #endif // !UNICODE BOOL -APIENTRY +WINAPI OemToCharA( - IN LPSTR, - OUT LPSTR - ); + LPCSTR lpszSrc, + LPSTR lpszDst); BOOL -APIENTRY +WINAPI OemToCharW( - IN LPSTR, - OUT LPWSTR - ); + LPCSTR lpszSrc, + LPWSTR lpszDst); #ifdef UNICODE -#define OemToChar OemToCharW +#define OemToChar OemToCharW #else -#define OemToChar OemToCharA +#define OemToChar OemToCharA #endif // !UNICODE BOOL -APIENTRY +WINAPI CharToOemBuffA( - IN LPSTR, - OUT LPSTR, - IN DWORD - ); + LPCSTR lpszSrc, + LPSTR lpszDst, + DWORD cchDstLength); BOOL -APIENTRY +WINAPI CharToOemBuffW( - IN LPWSTR, - OUT LPSTR, - IN DWORD - ); + LPCWSTR lpszSrc, + LPSTR lpszDst, + DWORD cchDstLength); #ifdef UNICODE -#define CharToOemBuff CharToOemBuffW +#define CharToOemBuff CharToOemBuffW #else -#define CharToOemBuff CharToOemBuffA +#define CharToOemBuff CharToOemBuffA #endif // !UNICODE BOOL -APIENTRY +WINAPI OemToCharBuffA( - IN LPSTR, - OUT LPSTR, - IN DWORD - ); + LPCSTR lpszSrc, + LPSTR lpszDst, + DWORD cchDstLength); BOOL -APIENTRY +WINAPI OemToCharBuffW( - IN LPSTR, - OUT LPWSTR, - IN DWORD - ); + LPCSTR lpszSrc, + LPWSTR lpszDst, + DWORD cchDstLength); #ifdef UNICODE -#define OemToCharBuff OemToCharBuffW +#define OemToCharBuff OemToCharBuffW #else -#define OemToCharBuff OemToCharBuffA +#define OemToCharBuff OemToCharBuffA #endif // !UNICODE LPSTR -APIENTRY +WINAPI CharUpperA( - IN LPSTR - ); + LPSTR lpsz); LPWSTR -APIENTRY +WINAPI CharUpperW( - IN LPWSTR - ); + LPWSTR lpsz); #ifdef UNICODE -#define CharUpper CharUpperW +#define CharUpper CharUpperW #else -#define CharUpper CharUpperA +#define CharUpper CharUpperA #endif // !UNICODE DWORD -APIENTRY +WINAPI CharUpperBuffA( - NEXTCOUNT IN LPSTR, - IN DWORD - ); + LPSTR lpsz, + DWORD cchLength); DWORD -APIENTRY +WINAPI CharUpperBuffW( - NEXTCOUNT IN LPWSTR, - IN DWORD - ); + LPWSTR lpsz, + DWORD cchLength); #ifdef UNICODE -#define CharUpperBuff CharUpperBuffW +#define CharUpperBuff CharUpperBuffW #else -#define CharUpperBuff CharUpperBuffA +#define CharUpperBuff CharUpperBuffA #endif // !UNICODE LPSTR -APIENTRY +WINAPI CharLowerA( - IN LPSTR - ); + LPSTR lpsz); LPWSTR -APIENTRY +WINAPI CharLowerW( - IN LPWSTR - ); + LPWSTR lpsz); #ifdef UNICODE -#define CharLower CharLowerW +#define CharLower CharLowerW #else -#define CharLower CharLowerA +#define CharLower CharLowerA #endif // !UNICODE DWORD -APIENTRY +WINAPI CharLowerBuffA( - NEXTCOUNT IN LPSTR, - IN DWORD - ); + LPSTR lpsz, + DWORD cchLength); DWORD -APIENTRY +WINAPI CharLowerBuffW( - NEXTCOUNT IN LPWSTR, - IN DWORD - ); + LPWSTR lpsz, + DWORD cchLength); #ifdef UNICODE -#define CharLowerBuff CharLowerBuffW +#define CharLowerBuff CharLowerBuffW #else -#define CharLowerBuff CharLowerBuffA +#define CharLowerBuff CharLowerBuffA #endif // !UNICODE LPSTR -APIENTRY +WINAPI CharNextA( - IN LPSTR - ); + LPCSTR lpsz); LPWSTR -APIENTRY +WINAPI CharNextW( - IN LPWSTR - ); + LPCWSTR lpsz); #ifdef UNICODE -#define CharNext CharNextW +#define CharNext CharNextW #else -#define CharNext CharNextA +#define CharNext CharNextA #endif // !UNICODE LPSTR -APIENTRY +WINAPI CharPrevA( - IN LPSTR, - IN LPSTR - ); + LPCSTR lpszStart, + LPCSTR lpszCurrent); LPWSTR -APIENTRY +WINAPI CharPrevW( - IN LPWSTR, - IN LPWSTR - ); + LPCWSTR lpszStart, + LPCWSTR lpszCurrent); #ifdef UNICODE -#define CharPrev CharPrevW +#define CharPrev CharPrevW #else -#define CharPrev CharPrevA +#define CharPrev CharPrevA #endif // !UNICODE -/* Compatibility defines for character translation routines */ +/* + * Compatibility defines for character translation routines + */ #define AnsiToOem CharToOemA #define OemToAnsi OemToCharA #define AnsiToOemBuff CharToOemBuffA @@ -1938,182 +2609,395 @@ CharPrevW( #define AnsiPrev CharPrevA #ifndef NOLANGUAGE -/* Language dependent Routines */ +/* + * Language dependent Routines + */ BOOL -APIENTRY +WINAPI IsCharAlphaA( - IN CHAR - ); + CHAR ch); BOOL -APIENTRY +WINAPI IsCharAlphaW( - IN WCHAR - ); + WCHAR ch); #ifdef UNICODE -#define IsCharAlpha IsCharAlphaW +#define IsCharAlpha IsCharAlphaW #else -#define IsCharAlpha IsCharAlphaA +#define IsCharAlpha IsCharAlphaA #endif // !UNICODE BOOL -APIENTRY +WINAPI IsCharAlphaNumericA( - IN CHAR - ); + CHAR ch); BOOL -APIENTRY +WINAPI IsCharAlphaNumericW( - IN WCHAR - ); + WCHAR ch); #ifdef UNICODE -#define IsCharAlphaNumeric IsCharAlphaNumericW +#define IsCharAlphaNumeric IsCharAlphaNumericW #else -#define IsCharAlphaNumeric IsCharAlphaNumericA +#define IsCharAlphaNumeric IsCharAlphaNumericA #endif // !UNICODE BOOL -APIENTRY +WINAPI IsCharUpperA( - IN CHAR - ); + CHAR ch); BOOL -APIENTRY +WINAPI IsCharUpperW( - IN WCHAR - ); + WCHAR ch); #ifdef UNICODE -#define IsCharUpper IsCharUpperW +#define IsCharUpper IsCharUpperW #else -#define IsCharUpper IsCharUpperA +#define IsCharUpper IsCharUpperA #endif // !UNICODE BOOL -APIENTRY +WINAPI IsCharLowerA( - IN CHAR - ); + CHAR ch); BOOL -APIENTRY +WINAPI IsCharLowerW( - IN WCHAR - ); + WCHAR ch); #ifdef UNICODE -#define IsCharLower IsCharLowerW +#define IsCharLower IsCharLowerW #else -#define IsCharLower IsCharLowerA +#define IsCharLower IsCharLowerA #endif // !UNICODE -#endif +#endif /* !NOLANGUAGE */ + +HWND +WINAPI +SetFocus( + HWND hWnd); + +HWND +WINAPI +GetActiveWindow( + VOID); + +HWND +WINAPI +GetFocus( + VOID); + +UINT +WINAPI +GetKBCodePage( + VOID); + +SHORT +WINAPI +GetKeyState( + int nVirtKey); + +SHORT +WINAPI +GetAsyncKeyState( + int vKey); + +BOOL +WINAPI +GetKeyboardState( + PBYTE lpKeyState); -HWND APIENTRY CRITICAL XXX SetFocus(IN HWND hWnd OPTIONAL); -HWND APIENTRY CRITICAL GetActiveWindow(void); -HWND APIENTRY CRITICAL GetFocus(void); -SHORT APIENTRY CRITICAL GetKeyState(IN int nVirtKey); -SHORT APIENTRY CRITICAL GetAsyncKeyState(IN int vKey); -BOOL APIENTRY CRITICAL GetKeyboardState(IN OUT PBYTE lpKeyState); -BOOL APIENTRY CRITICAL SetKeyboardState(IN LPBYTE lpKeyState); +BOOL +WINAPI +SetKeyboardState( + LPBYTE lpKeyState); int -APIENTRY +WINAPI GetKeyNameTextA( - IN LONG lParam, - NEXTCOUNT IN OUT OUTLPSTR lpString, - IN int nSize + LONG lParam, + LPSTR lpString, + int nSize ); int -APIENTRY +WINAPI GetKeyNameTextW( - IN LONG lParam, - NEXTCOUNT IN OUT OUTLPWSTR lpString, - IN int nSize + LONG lParam, + LPWSTR lpString, + int nSize ); #ifdef UNICODE -#define GetKeyNameText GetKeyNameTextW +#define GetKeyNameText GetKeyNameTextW #else -#define GetKeyNameText GetKeyNameTextA +#define GetKeyNameText GetKeyNameTextA #endif // !UNICODE -int APIENTRY CRITICAL ToAscii(IN UINT wVirtKey, IN UINT wScanCode, - OUT PBYTE lpKeyState, OUT LPWORD lpChar, IN UINT wFlags); -SHORT APIENTRY VkKeyScan(IN CHAR cChar); -UINT APIENTRY MapVirtualKey(IN UINT wCode, IN UINT wMapType); -BOOL APIENTRY EnableHardwareInput(BOOL); -BOOL APIENTRY CRITICAL GetInputState(void); -DWORD APIENTRY CRITICAL GetQueueStatus(UINT flags); -HWND APIENTRY CRITICAL GetCapture(void); -HWND APIENTRY CRITICAL SetCapture(IN HWND hWnd OPTIONAL); -BOOL APIENTRY CRITICAL ReleaseCapture(void); -DWORD APIENTRY CRITICAL XXX MsgWaitForMultipleObjects(IN DWORD nCount, - PREVCOUNT IN LPHANDLE pHandles, IN BOOL fWaitAll, - IN DWORD dwMilliseconds, IN DWORD dwWakeMask); +int +WINAPI +GetKeyboardType( + int nTypeFlag); + +int +WINAPI +ToAscii( + UINT uVirtKey, + UINT uScanCode, + PBYTE lpKeyState, + LPWORD lpChar, + UINT uFlags); + +int +WINAPI +ToUnicode( + UINT wVirtKey, + UINT wScanCode, + PBYTE lpKeyState, + LPWSTR pwszBuff, + int cchBuff, + UINT wFlags); + +DWORD +WINAPI +OemKeyScan( + WORD wOemChar); + +SHORT +WINAPI +VkKeyScanA( + CHAR ch); +SHORT +WINAPI +VkKeyScanW( + WCHAR ch); +#ifdef UNICODE +#define VkKeyScan VkKeyScanW +#else +#define VkKeyScan VkKeyScanA +#endif // !UNICODE + +#define KEYEVENTF_EXTENDEDKEY 0x0001 +#define KEYEVENTF_KEYUP 0x0002 + +VOID WINAPI +keybd_event( + BYTE bVk, + BYTE bScan, + DWORD dwFlags, + DWORD dwExtraInfo); + +#define MOUSEEVENTF_MOVE 0x0001 /* mouse move */ +#define MOUSEEVENTF_LEFTDOWN 0x0002 /* left button down */ +#define MOUSEEVENTF_LEFTUP 0x0004 /* left button up */ +#define MOUSEEVENTF_RIGHTDOWN 0x0008 /* right button down */ +#define MOUSEEVENTF_RIGHTUP 0x0010 /* right button up */ +#define MOUSEEVENTF_MIDDLEDOWN 0x0020 /* middle button down */ +#define MOUSEEVENTF_MIDDLEUP 0x0040 /* middle button up */ +#define MOUSEEVENTF_ABSOLUTE 0x8000 /* absolute move */ + +VOID WINAPI +mouse_event( + DWORD dwFlags, + DWORD dx, + DWORD dy, + DWORD cButtons, + DWORD dwExtraInfo); -/* Queue status flags for GetQueueStatus() and MsgWaitForMultipleObjects() */ +UINT +WINAPI +MapVirtualKeyA( + UINT uCode, + UINT uMapType); +UINT +WINAPI +MapVirtualKeyW( + UINT uCode, + UINT uMapType); +#ifdef UNICODE +#define MapVirtualKey MapVirtualKeyW +#else +#define MapVirtualKey MapVirtualKeyA +#endif // !UNICODE + +BOOL +WINAPI +GetInputState( + VOID); + +DWORD +WINAPI +GetQueueStatus( + UINT flags); + +HWND +WINAPI +GetCapture( + VOID); + +HWND +WINAPI +SetCapture( + HWND hWnd); + +BOOL +WINAPI +ReleaseCapture( + VOID); + +DWORD +WINAPI +MsgWaitForMultipleObjects( + DWORD nCount, + LPHANDLE pHandles, + BOOL fWaitAll, + DWORD dwMilliseconds, + DWORD dwWakeMask); + +/* + * Queue status flags for GetQueueStatus() and MsgWaitForMultipleObjects() + */ #define QS_KEY 0x01 #define QS_MOUSEMOVE 0x02 #define QS_MOUSEBUTTON 0x04 -#define QS_MOUSE (QS_MOUSEMOVE | QS_MOUSEBUTTON) #define QS_POSTMESSAGE 0x08 #define QS_TIMER 0x10 #define QS_PAINT 0x20 #define QS_SENDMESSAGE 0x40 #define QS_HOTKEY 0x80 -#define QS_SETFOREGROUND (QS_HOTKEY | 0x0100) -#define QS_INPUT (QS_MOUSE | QS_KEY) -#define QS_ALLEVENTS (QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY) - - -UINT APIENTRY GetSysInputMode(void); - -/* GetSysInputMode return values */ -#define IMD_NONE 0 -#define IMD_MENU 1 -#define IMD_DIALOGBOX 2 -#define IMD_NEXTWINDOW 3 -#define IMD_SCROLLBAR 4 -#define IMD_TITLEBUTTONTRACK 5 -#define IMD_MOVESIZETRACK 6 -#define IMD_SYSERRDLG 7 -#define IMD_DRAGOBJECT 8 -#define IMD_DRAGDETECT 9 - - -/* Windows Functions */ -UINT APIENTRY CRITICAL SetTimer(IN HWND hwnd OPTIONAL, IN UINT nIDEvent, IN UINT wElapse, IN WNDPROC lpTimerFunc OPTIONAL); -BOOL APIENTRY CRITICAL KillTimer(IN HWND hWnd OPTIONAL, IN UINT nIDEvent); -BOOL APIENTRY CRITICAL XXX EnableWindow(IN HWND hWnd, IN BOOL bEnable); -BOOL APIENTRY CRITICAL IsWindowEnabled(IN HWND hWnd); +#define QS_MOUSE (QS_MOUSEMOVE | \ + QS_MOUSEBUTTON) -HANDLE -APIENTRY CRITICAL +#define QS_INPUT (QS_MOUSE | \ + QS_KEY) + +#define QS_ALLEVENTS (QS_INPUT | \ + QS_POSTMESSAGE | \ + QS_TIMER | \ + QS_PAINT | \ + QS_HOTKEY) + +#define QS_ALLINPUT (QS_SENDMESSAGE | \ + QS_PAINT | \ + QS_TIMER | \ + QS_POSTMESSAGE | \ + QS_MOUSEBUTTON | \ + QS_MOUSEMOVE | \ + QS_HOTKEY | \ + QS_KEY) + + +/* + * Windows Functions + */ +UINT +WINAPI +SetTimer( + HWND hWnd , + UINT nIDEvent, + UINT uElapse, + TIMERPROC lpTimerFunc); + +BOOL +WINAPI +KillTimer( + HWND hWnd, + UINT uIDEvent); + +BOOL +WINAPI +IsWindowUnicode( + HWND hWnd); + +BOOL +WINAPI +EnableWindow( + HWND hWnd, + BOOL bEnable); + +BOOL +WINAPI +IsWindowEnabled( + HWND hWnd); + +HACCEL +WINAPI LoadAcceleratorsA( - IN HANDLE hInstance, - IN LPSTRID lpTableName - ); -HANDLE -APIENTRY CRITICAL + HINSTANCE hInstance, + LPCSTR lpTableName); +HACCEL +WINAPI LoadAcceleratorsW( - IN HANDLE hInstance, - IN LPWSTRID lpTableName - ); + HINSTANCE hInstance, + LPCWSTR lpTableName); #ifdef UNICODE -#define LoadAccelerators LoadAcceleratorsW +#define LoadAccelerators LoadAcceleratorsW #else -#define LoadAccelerators LoadAcceleratorsA +#define LoadAccelerators LoadAcceleratorsA #endif // !UNICODE -HACCEL APIENTRY CRITICAL CreateAcceleratorTable(NEXTCOUNT IN LPACCEL, IN int); -BOOL APIENTRY CRITICAL DestroyAcceleratorTable(IN HACCEL); -int APIENTRY CRITICAL CopyAcceleratorTable(IN HACCEL, NEXTCOUNT OUT LPACCEL OPTIONAL, IN int); +HACCEL +WINAPI +CreateAcceleratorTableA( + LPACCEL, int); +HACCEL +WINAPI +CreateAcceleratorTableW( + LPACCEL, int); +#ifdef UNICODE +#define CreateAcceleratorTable CreateAcceleratorTableW +#else +#define CreateAcceleratorTable CreateAcceleratorTableA +#endif // !UNICODE + +BOOL +WINAPI +DestroyAcceleratorTable( + HACCEL hAccel); + +int +WINAPI +CopyAcceleratorTableA( + HACCEL hAccelSrc, + LPACCEL lpAccelDst, + int cAccelEntries); +int +WINAPI +CopyAcceleratorTableW( + HACCEL hAccelSrc, + LPACCEL lpAccelDst, + int cAccelEntries); +#ifdef UNICODE +#define CopyAcceleratorTable CopyAcceleratorTableW +#else +#define CopyAcceleratorTable CopyAcceleratorTableA +#endif // !UNICODE #ifndef NOMSG -int APIENTRY CRITICAL XXX TranslateAccelerator(IN HWND hWnd, IN HACCEL hAccTable, IN LPMSG lpMsg); -#endif + +int +WINAPI +TranslateAcceleratorA( + HWND hWnd, + HACCEL hAccTable, + LPMSG lpMsg); +int +WINAPI +TranslateAcceleratorW( + HWND hWnd, + HACCEL hAccTable, + LPMSG lpMsg); +#ifdef UNICODE +#define TranslateAccelerator TranslateAcceleratorW +#else +#define TranslateAccelerator TranslateAcceleratorA +#endif // !UNICODE + +#endif /* !NOMSG */ #ifndef NOSYSMETRICS -/* GetSystemMetrics() codes */ +/* + * GetSystemMetrics() codes + */ #define SM_CXSCREEN 0 #define SM_CYSCREEN 1 #define SM_CXVSCROLL 2 @@ -2156,328 +3040,564 @@ int APIENTRY CRITICAL XXX TranslateAcce #define SM_CYICONSPACING 39 #define SM_MENUDROPALIGNMENT 40 #define SM_PENWINDOWS 41 -#define SM_CMOUSEBUTTONS 42 -#define SM_SECURE 43 - +#define SM_DBCSENABLED 42 +#define SM_CMOUSEBUTTONS 43 #define SM_CMETRICS 44 -int APIENTRY CRITICAL GetSystemMetrics(IN int nIndex); +int +WINAPI +GetSystemMetrics( + int nIndex); -#endif /* NOSYSMETRICS */ +#endif /* !NOSYSMETRICS */ #ifndef NOMENUS HMENU -APIENTRY CRITICAL +WINAPI LoadMenuA( - IN HANDLE hInstance, - IN LPSTRID lpMenuName - ); + HINSTANCE hInstance, + LPCSTR lpMenuName); HMENU -APIENTRY CRITICAL +WINAPI LoadMenuW( - IN HANDLE hInstance, - IN LPWSTRID lpMenuName - ); + HINSTANCE hInstance, + LPCWSTR lpMenuName); #ifdef UNICODE -#define LoadMenu LoadMenuW +#define LoadMenu LoadMenuW #else -#define LoadMenu LoadMenuA +#define LoadMenu LoadMenuA #endif // !UNICODE HMENU -APIENTRY CRITICAL +WINAPI LoadMenuIndirectA( - IN LPMENUTEMPLATEA lpMenuTemplate - ); + CONST MENUTEMPLATEA *lpMenuTemplate); HMENU -APIENTRY CRITICAL +WINAPI LoadMenuIndirectW( - IN LPMENUTEMPLATEW lpMenuTemplate - ); + CONST MENUTEMPLATEW *lpMenuTemplate); #ifdef UNICODE -#define LoadMenuIndirect LoadMenuIndirectW +#define LoadMenuIndirect LoadMenuIndirectW #else -#define LoadMenuIndirect LoadMenuIndirectA +#define LoadMenuIndirect LoadMenuIndirectA #endif // !UNICODE -HMENU APIENTRY CRITICAL GetMenu(IN HWND hWnd); -BOOL APIENTRY CRITICAL XXX SetMenu(IN HWND hWnd, IN HMENU hMenu OPTIONAL); -BOOL APIENTRY CRITICAL ChangeMenu(IN HMENU, IN UINT, IN CHNGMENUPOLY OPTIONAL, IN UINT, IN UINT); -BOOL APIENTRY CRITICAL XXX HiliteMenuItem(IN HWND hWnd, IN HMENU hMenu, IN UINT wIDHiliteItem, IN UINT wHilite); +HMENU +WINAPI +GetMenu( + HWND hWnd); + +BOOL +WINAPI +SetMenu( + HWND hWnd, + HMENU hMenu); + +BOOL +WINAPI +ChangeMenuA( + HMENU hMenu, + UINT cmd, + LPCSTR lpszNewItem, + UINT cmdInsert, + UINT flags); +BOOL +WINAPI +ChangeMenuW( + HMENU hMenu, + UINT cmd, + LPCWSTR lpszNewItem, + UINT cmdInsert, + UINT flags); +#ifdef UNICODE +#define ChangeMenu ChangeMenuW +#else +#define ChangeMenu ChangeMenuA +#endif // !UNICODE + +BOOL +WINAPI +HiliteMenuItem( + HWND hWnd, + HMENU hMenu, + UINT uIDHiliteItem, + UINT uHilite); int -APIENTRY CRITICAL +WINAPI GetMenuStringA( - IN HMENU hMenu, - IN UINT wIDItem, - NEXTCOUNT IN OUT OUTLPSTR lpString, - IN int nMaxCount, - IN DWORD wFlag - ); + HMENU hMenu, + UINT uIDItem, + LPSTR lpString, + int nMaxCount, + UINT uFlag); int -APIENTRY CRITICAL +WINAPI GetMenuStringW( - IN HMENU hMenu, - IN UINT wIDItem, - NEXTCOUNT IN OUT OUTLPWSTR lpString, - IN int nMaxCount, - IN DWORD wFlag - ); + HMENU hMenu, + UINT uIDItem, + LPWSTR lpString, + int nMaxCount, + UINT uFlag); #ifdef UNICODE -#define GetMenuString GetMenuStringW +#define GetMenuString GetMenuStringW #else -#define GetMenuString GetMenuStringA +#define GetMenuString GetMenuStringA #endif // !UNICODE -UINT APIENTRY CRITICAL GetMenuState(IN HMENU hMenu, IN UINT wId, IN UINT wFlags); -BOOL APIENTRY CRITICAL XXX DrawMenuBar(IN HWND hWnd); -HMENU APIENTRY CRITICAL GetSystemMenu(IN HWND hWnd, IN BOOL bRevert); -HMENU APIENTRY CRITICAL CreateMenu(void); -HMENU APIENTRY CRITICAL CreatePopupMenu(void); -BOOL APIENTRY CRITICAL DestroyMenu(IN HMENU hMenu); -BOOL APIENTRY CRITICAL CheckMenuItem(IN HMENU hMenu, IN UINT wIDCheckItem, IN UINT wCheck); -BOOL APIENTRY CRITICAL EnableMenuItem(IN HMENU hMenu, IN UINT wIDEnableItem, IN UINT wEnable); -HMENU APIENTRY CRITICAL GetSubMenu(IN HMENU hMenu, IN int nPos); -UINT APIENTRY CRITICAL GetMenuItemID(IN HMENU hMenu, IN int nPos); -UINT APIENTRY CRITICAL GetMenuItemCount(IN HMENU hMenu); +UINT +WINAPI +GetMenuState( + HMENU hMenu, + UINT uId, + UINT uFlags); + +BOOL +WINAPI +DrawMenuBar( + HWND hWnd); + +HMENU +WINAPI +GetSystemMenu( + HWND hWnd, + BOOL bRevert); + +HMENU +WINAPI +CreateMenu( + VOID); + +HMENU +WINAPI +CreatePopupMenu( + VOID); + +BOOL +WINAPI +DestroyMenu( + HMENU hMenu); + +DWORD +WINAPI +CheckMenuItem( + HMENU hMenu, + UINT uIDCheckItem, + UINT uCheck); + +BOOL +WINAPI +EnableMenuItem( + HMENU hMenu, + UINT uIDEnableItem, + UINT uEnable); + +HMENU +WINAPI +GetSubMenu( + HMENU hMenu, + int nPos); + +UINT +WINAPI +GetMenuItemID( + HMENU hMenu, + int nPos); + +int +WINAPI +GetMenuItemCount( + HMENU hMenu); BOOL -APIENTRY CRITICAL +WINAPI InsertMenuA( - IN HMENU hMenu, - IN UINT nPosition, - IN UINT dwFlags, - IN UINT wIDNewItem, - IN MENUPOLYA lpNewItem OPTIONAL + HMENU hMenu, + UINT uPosition, + UINT uFlags, + UINT uIDNewItem, + LPCSTR lpNewItem ); BOOL -APIENTRY CRITICAL +WINAPI InsertMenuW( - IN HMENU hMenu, - IN UINT nPosition, - IN UINT dwFlags, - IN UINT wIDNewItem, - IN MENUPOLYW lpNewItem OPTIONAL + HMENU hMenu, + UINT uPosition, + UINT uFlags, + UINT uIDNewItem, + LPCWSTR lpNewItem ); #ifdef UNICODE -#define InsertMenu InsertMenuW +#define InsertMenu InsertMenuW #else -#define InsertMenu InsertMenuA +#define InsertMenu InsertMenuA #endif // !UNICODE BOOL -APIENTRY CRITICAL +WINAPI AppendMenuA( - IN HMENU hMenu, - IN UINT dwFlags, - IN UINT wIDNewItem, - IN MENUPOLYA lpNewItem OPTIONAL + HMENU hMenu, + UINT uFlags, + UINT uIDNewItem, + LPCSTR lpNewItem ); BOOL -APIENTRY CRITICAL +WINAPI AppendMenuW( - IN HMENU hMenu, - IN UINT dwFlags, - IN UINT wIDNewItem, - IN MENUPOLYW lpNewItem OPTIONAL + HMENU hMenu, + UINT uFlags, + UINT uIDNewItem, + LPCWSTR lpNewItem ); #ifdef UNICODE -#define AppendMenu AppendMenuW +#define AppendMenu AppendMenuW #else -#define AppendMenu AppendMenuA +#define AppendMenu AppendMenuA #endif // !UNICODE BOOL -APIENTRY CRITICAL +WINAPI ModifyMenuA( - IN HMENU hMnu, - IN UINT nPosition, - IN UINT dwFlags, - IN UINT wIDNewItem, - IN MENUPOLYA lpNewItem OPTIONAL + HMENU hMnu, + UINT uPosition, + UINT uFlags, + UINT uIDNewItem, + LPCSTR lpNewItem ); BOOL -APIENTRY CRITICAL +WINAPI ModifyMenuW( - IN HMENU hMnu, - IN UINT nPosition, - IN UINT dwFlags, - IN UINT wIDNewItem, - IN MENUPOLYW lpNewItem OPTIONAL + HMENU hMnu, + UINT uPosition, + UINT uFlags, + UINT uIDNewItem, + LPCWSTR lpNewItem ); #ifdef UNICODE -#define ModifyMenu ModifyMenuW +#define ModifyMenu ModifyMenuW #else -#define ModifyMenu ModifyMenuA +#define ModifyMenu ModifyMenuA #endif // !UNICODE -BOOL APIENTRY CRITICAL RemoveMenu(IN HMENU hMenu, IN UINT nPosition, IN UINT dwFlags); -BOOL APIENTRY CRITICAL DeleteMenu(IN HMENU hMenu, IN UINT nPosition, IN UINT dwFlags); -BOOL APIENTRY CRITICAL SetMenuItemBitmaps(IN HMENU hMenu, IN UINT nPosition, - IN DWORD dwFlags, IN HBITMAP hBitmapUnchecked, IN HBITMAP hBitmapChecked); -LONG APIENTRY CRITICAL GetMenuCheckMarkDimensions(void); -BOOL APIENTRY CRITICAL XXX TrackPopupMenu(IN HMENU hMenu, IN UINT dwFlags, - IN int x, IN int y, IN int nReserved, IN HWND hWnd, IN LPVOID lpReserved); +BOOL +WINAPI RemoveMenu( + HMENU hMenu, + UINT uPosition, + UINT uFlags); + +BOOL +WINAPI +DeleteMenu( + HMENU hMenu, + UINT uPosition, + UINT uFlags); + +BOOL +WINAPI +SetMenuItemBitmaps( + HMENU hMenu, + UINT uPosition, + UINT uFlags, + HBITMAP hBitmapUnchecked, + HBITMAP hBitmapChecked); + +LONG +WINAPI +GetMenuCheckMarkDimensions( + VOID); + +BOOL +WINAPI +TrackPopupMenu( + HMENU hMenu, + UINT uFlags, + int x, + int y, + int nReserved, + HWND hWnd, + CONST RECT *prcRect); -/* Flags for TrackPopupMenu */ +/* + * Flags for TrackPopupMenu + */ #define TPM_LEFTBUTTON 0x0000L #define TPM_RIGHTBUTTON 0x0002L #define TPM_LEFTALIGN 0x0000L #define TPM_CENTERALIGN 0x0004L #define TPM_RIGHTALIGN 0x0008L -#endif /* NOMENUS */ +#endif /* !NOMENUS */ + +BOOL +WINAPI +DrawIcon( + HDC hDC, + int X, + int Y, + HICON hIcon); + +#ifndef NODRAWTEXT + +/* + * DrawText() Format Flags + */ +#define DT_TOP 0x0000 +#define DT_LEFT 0x0000 +#define DT_CENTER 0x0001 +#define DT_RIGHT 0x0002 +#define DT_VCENTER 0x0004 +#define DT_BOTTOM 0x0008 +#define DT_WORDBREAK 0x0010 +#define DT_SINGLELINE 0x0020 +#define DT_EXPANDTABS 0x0040 +#define DT_TABSTOP 0x0080 +#define DT_NOCLIP 0x0100 +#define DT_EXTERNALLEADING 0x0200 +#define DT_CALCRECT 0x0400 +#define DT_NOPREFIX 0x0800 +#define DT_INTERNAL 0x1000 -BOOL APIENTRY CRITICAL DrawIcon(IN HDC, IN int, IN int, IN HICON); +#endif /* !NODRAWTEXT */ int -APIENTRY CRITICAL DrawTextA( - IN HDC hDC, - NEXTCOUNT IN LPSTR2 lpString, - IN int nCount, - IN OUT LPRECT lpRect, - IN UINT wFormat - ); +WINAPI DrawTextA( + HDC hDC, + LPCSTR lpString, + int nCount, + LPRECT lpRect, + UINT uFormat); int -APIENTRY CRITICAL DrawTextW( - IN HDC hDC, - NEXTCOUNT IN LPWSTR2 lpString, - IN int nCount, - IN OUT LPRECT lpRect, - IN UINT wFormat - ); +WINAPI DrawTextW( + HDC hDC, + LPCWSTR lpString, + int nCount, + LPRECT lpRect, + UINT uFormat); +#ifdef UNICODE +#define DrawText DrawTextW +#else +#define DrawText DrawTextA +#endif // !UNICODE + +BOOL +WINAPI +GrayStringA( + HDC hDC, + HBRUSH hBrush, + GRAYSTRINGPROC lpOutputFunc, + LPARAM lpData, + int nCount, + int X, + int Y, + int nWidth, + int nHeight); +BOOL +WINAPI +GrayStringW( + HDC hDC, + HBRUSH hBrush, + GRAYSTRINGPROC lpOutputFunc, + LPARAM lpData, + int nCount, + int X, + int Y, + int nWidth, + int nHeight); #ifdef UNICODE -#define DrawText DrawTextW +#define GrayString GrayStringW #else -#define DrawText DrawTextA +#define GrayString GrayStringA #endif // !UNICODE -BOOL APIENTRY GrayString(IN HDC hDC, IN HBRUSH hBrush, IN FARPROC lpOutputFunc, - IN GSPOLY lpData, IN int nCount, IN int X, IN int Y, - IN int nWidth, IN int nHeight); - LONG -APIENTRY CRITICAL +WINAPI TabbedTextOutA( - IN HDC hDC, - IN int X, - IN int Y, - NEXTCOUNT IN LPSTR2 lpString, - IN int nCount, - IN int nTabPositions, - PREVCOUNT IN LPTABS lpnTabStopPositions, - IN int nTabOrigin - ); + HDC hDC, + int X, + int Y, + LPCSTR lpString, + int nCount, + int nTabPositions, + LPINT lpnTabStopPositions, + int nTabOrigin); LONG -APIENTRY CRITICAL +WINAPI TabbedTextOutW( - IN HDC hDC, - IN int X, - IN int Y, - NEXTCOUNT IN LPWSTR2 lpString, - IN int nCount, - IN int nTabPositions, - PREVCOUNT IN LPTABS lpnTabStopPositions, - IN int nTabOrigin - ); + HDC hDC, + int X, + int Y, + LPCWSTR lpString, + int nCount, + int nTabPositions, + LPINT lpnTabStopPositions, + int nTabOrigin); #ifdef UNICODE -#define TabbedTextOut TabbedTextOutW +#define TabbedTextOut TabbedTextOutW #else -#define TabbedTextOut TabbedTextOutA +#define TabbedTextOut TabbedTextOutA #endif // !UNICODE DWORD -APIENTRY CRITICAL +WINAPI GetTabbedTextExtentA( - IN HDC hDC, - NEXTCOUNT IN LPSTR2 lpString, - IN int nCount, - IN int nTabPositions, - PREVCOUNT IN LPTABS lpnTabStopPositions - ); + HDC hDC, + LPCSTR lpString, + int nCount, + int nTabPositions, + LPINT lpnTabStopPositions); DWORD -APIENTRY CRITICAL +WINAPI GetTabbedTextExtentW( - IN HDC hDC, - NEXTCOUNT IN LPWSTR2 lpString, - IN int nCount, - IN int nTabPositions, - PREVCOUNT IN LPTABS lpnTabStopPositions - ); + HDC hDC, + LPCWSTR lpString, + int nCount, + int nTabPositions, + LPINT lpnTabStopPositions); #ifdef UNICODE -#define GetTabbedTextExtent GetTabbedTextExtentW +#define GetTabbedTextExtent GetTabbedTextExtentW #else -#define GetTabbedTextExtent GetTabbedTextExtentA +#define GetTabbedTextExtent GetTabbedTextExtentA #endif // !UNICODE -BOOL APIENTRY CRITICAL XXX UpdateWindow(IN HWND hWnd); -HWND APIENTRY CRITICAL XXX SetActiveWindow(IN HWND hWnd OPTIONAL); +BOOL +WINAPI +UpdateWindow( + HWND hWnd); -BOOL APIENTRY CRITICAL XXX SetForegroundWindow(IN HWND hWnd); +HWND +WINAPI +SetActiveWindow( + HWND hWnd); -HWND APIENTRY CRITICAL WindowFromDC(IN HDC hdc); -HDC APIENTRY CRITICAL GetDC(IN HWND hWnd OPTIONAL); -HDC APIENTRY GetDCEx(IN HWND hwnd OPTIONAL, IN HRGN hrgnClip, IN DWORD flags); +HWND +WINAPI +GetForegroundWindow( + VOID); -/* GetDCEx() flags */ -#define DCX_WINDOW 0x00000001L -#define DCX_CACHE 0x00000002L -#define DCX_NORESETATTRS 0x00000004L -#define DCX_CLIPCHILDREN 0x00000008L -#define DCX_CLIPSIBLINGS 0x00000010L -#define DCX_PARENTCLIP 0x00000020L +BOOL +WINAPI +SetForegroundWindow( + HWND hWnd); -#define DCX_EXCLUDERGN 0x00000040L -#define DCX_INTERSECTRGN 0x00000080L +HWND +WINAPI +WindowFromDC( + HDC hDC); + +HDC +WINAPI +GetDC( + HWND hWnd); + +HDC +WINAPI +GetDCEx( + HWND hWnd , + HRGN hrgnClip, + DWORD flags); -#define DCX_EXCLUDEUPDATE 0x00000100L -#define DCX_INTERSECTUPDATE 0x00000200L +/* + * GetDCEx() flags + */ +#define DCX_WINDOW 0x00000001L +#define DCX_CACHE 0x00000002L +#define DCX_NORESETATTRS 0x00000004L +#define DCX_CLIPCHILDREN 0x00000008L +#define DCX_CLIPSIBLINGS 0x00000010L +#define DCX_PARENTCLIP 0x00000020L + +#define DCX_EXCLUDERGN 0x00000040L +#define DCX_INTERSECTRGN 0x00000080L + +#define DCX_EXCLUDEUPDATE 0x00000100L +#define DCX_INTERSECTUPDATE 0x00000200L #define DCX_LOCKWINDOWUPDATE 0x00000400L -#define DCX_INVALID 0x00000800L /* ;Internal */ -#define DCX_INUSE 0x00001000L /* ;Internal */ -#define DCX_SAVEDRGNINVALID 0x00002000L /* ;Internal */ -#define DCX_OWNDC 0x00008000L /* ;Internal */ - -#define DCX_USESTYLE 0x00010000L -#define DCX_NEEDFONT 0x00020000L /* ;Internal */ -#define DCX_NODELETERGN 0x00040000L /* ;Internal */ -#define DCX_NOCLIPCHILDREN 0x00080000L /* ;Internal */ -#define DCX_NORECOMPUTE 0x00100000L -#define DCX_VALIDATE 0x00200000L - -#define DCX_MATCHMASK (DCX_WINDOW | DCX_CACHE | /* ;Internal */ \ - DCX_CLIPCHILDREN | DCX_CLIPSIBLINGS | /* ;Internal */ \ - DCX_NORESETATTRS | DCX_LOCKWINDOWUPDATE) /* ;Internal */ - -HDC APIENTRY CRITICAL GetWindowDC(IN HWND hWnd OPTIONAL); -int APIENTRY CRITICAL ReleaseDC(IN HWND hWnd OPTIONAL, IN HDC hDC); - -HDC APIENTRY CRITICAL XXX BeginPaint(IN HWND hWnd, OUT LPPAINTSTRUCT lpPaint); -BOOL APIENTRY CRITICAL EndPaint(IN HWND hWnd, IN LPPAINTSTRUCT lpPaint); -BOOL APIENTRY CRITICAL XXX GetUpdateRect(IN HWND hWnd, OUT LPRECT lpRect, - IN BOOL bErase); -int APIENTRY CRITICAL XXX GetUpdateRgn(IN HWND hWnd, IN HRGN hRgn, - IN BOOL bErase); - -int APIENTRY CRITICAL ExcludeUpdateRgn(IN HDC hDC, IN HWND hWnd); - -BOOL APIENTRY CRITICAL XXX InvalidateRect(IN HWND hWnd OPTIONAL, - IN LPRECT lpRect OPTIONAL, IN BOOL bErase); -BOOL APIENTRY CRITICAL XXX ValidateRect(IN HWND hWnd OPTIONAL, - IN LPRECT lpRect OPTIONAL); - -BOOL APIENTRY CRITICAL InvalidateRgn(IN HWND hWnd, IN HRGN hRgn OPTIONAL, - IN BOOL bErase); -BOOL APIENTRY CRITICAL ValidateRgn(IN HWND hWnd, IN HRGN hRgn OPTIONAL); +#define DCX_NORECOMPUTE 0x00100000L +#define DCX_VALIDATE 0x00200000L -BOOL APIENTRY CRITICAL XXX RedrawWindow(IN HWND hwnd, - IN LPRECT lprcUpdate OPTIONAL, IN HRGN hrgnUpdate, IN WORD flags); +HDC +WINAPI +GetWindowDC( + HWND hWnd); -/* RedrawWindow() flags */ +int +WINAPI +ReleaseDC( + HWND hWnd, + HDC hDC); + +HDC +WINAPI +BeginPaint( + HWND hWnd, + LPPAINTSTRUCT lpPaint); + +BOOL +WINAPI +EndPaint( + HWND hWnd, + CONST PAINTSTRUCT *lpPaint); + +BOOL +WINAPI +GetUpdateRect( + HWND hWnd, + LPRECT lpRect, + BOOL bErase); + +int +WINAPI +GetUpdateRgn( + HWND hWnd, + HRGN hRgn, + BOOL bErase); + +int +WINAPI +ExcludeUpdateRgn( + HDC hDC, + HWND hWnd); + +BOOL +WINAPI +InvalidateRect( + HWND hWnd , + CONST RECT *lpRect, + BOOL bErase); + +BOOL +WINAPI +ValidateRect( + HWND hWnd , + CONST RECT *lpRect); + +BOOL +WINAPI +InvalidateRgn( + HWND hWnd, + HRGN hRgn, + BOOL bErase); + +BOOL +WINAPI +ValidateRgn( + HWND hWnd, + HRGN hRgn); + + +BOOL WINAPI RedrawWindow( + HWND hWnd, + CONST RECT *lprcUpdate, + HRGN hrgnUpdate, + UINT flags); + +/* + * RedrawWindow() flags + */ #define RDW_INVALIDATE 0x0001 #define RDW_INTERNALPAINT 0x0002 #define RDW_ERASE 0x0004 @@ -2492,273 +3612,482 @@ BOOL APIENTRY CRITICAL XXX RedrawWindow( #define RDW_UPDATENOW 0x0100 #define RDW_ERASENOW 0x0200 -#define RDW_FRAME 0x0400 /* Set WFSENDNCPAINT */ /* ;Internal */ -#define RDW_NOFRAME 0x0800 /* Clear WFSENDNCPAINT */ /* ;Internal */ - /* ;Internal */ -#define RDW_REDRAWWINDOW 0x1000 /* Called from RedrawWindow()*/ /* ;Internal */ -#define RDW_SUBTRACTSELF 0x2000 /* Subtract self from hrgn */ /* ;Internal */ - /* ;Internal */ -#define RDW_COPYRGN 0x4000 /* Copy the passed-in region */ /* ;Internal */ - /* ;Internal */ -#define RDW_VALIDMASK (RDW_INVALIDATE | RDW_INTERNALPAINT | /* ;Internal */ \ - RDW_ERASE | RDW_VALIDATE | /* ;Internal */ \ - RDW_NOINTERNALPAINT | RDW_NOERASE | /* ;Internal */ \ - RDW_NOCHILDREN | RDW_ALLCHILDREN | /* ;Internal */ \ - RDW_UPDATENOW | RDW_ERASENOW | RDW_COPYRGN) /* ;Internal */ - -/* LockWindowUpdate API */ -BOOL APIENTRY CRITICAL LockWindowUpdate(HWND hwndLock); - -BOOL APIENTRY CRITICAL XXX ScrollWindow(IN HWND hWnd, IN int XAmount, - IN int YAmount, IN LPRECT lpRect OPTIONAL, - IN LPRECT lpClipRect OPTIONAL); -BOOL APIENTRY CRITICAL ScrollDC(IN HDC hDC, IN int dx, IN int dy, - IN LPRECT lprcScroll, IN LPRECT lprcClip OPTIONAL, - IN HRGN hrgnUpdate OPTIONAL, OUT LPRECT lprcUpdate OPTIONAL); -int APIENTRY CRITICAL XXX ScrollWindowEx(IN HWND hwnd, IN int dx, IN int dy, - IN LPRECT prcScroll OPTIONAL, IN LPRECT prcClip OPTIONAL, - HRGN hrgnUpdate, OUT LPRECT prcUpdate OPTIONAL, IN WORD flags); +#define RDW_FRAME 0x0400 +#define RDW_NOFRAME 0x0800 + + +/* + * LockWindowUpdate API + */ +BOOL +WINAPI +LockWindowUpdate( + HWND hWndLock); + +BOOL +WINAPI +ScrollWindow( + HWND hWnd, + int XAmount, + int YAmount, + CONST RECT *lpRect, + CONST RECT *lpClipRect); + +BOOL +WINAPI +ScrollDC( + HDC hDC, + int dx, + int dy, + CONST RECT *lprcScroll, + CONST RECT *lprcClip , + HRGN hrgnUpdate, + LPRECT lprcUpdate); + +int +WINAPI +ScrollWindowEx( + HWND hWnd, + int dx, + int dy, + CONST RECT *prcScroll, + CONST RECT *prcClip , + HRGN hrgnUpdate, + LPRECT prcUpdate, + UINT flags); #define SW_SCROLLCHILDREN 0x0001 /* Scroll children within *lprcScroll. */ #define SW_INVALIDATE 0x0002 /* Invalidate after scrolling */ #define SW_ERASE 0x0004 /* If SW_INVALIDATE, don't send WM_ERASEBACKGROUND */ -#define SW_SCROLLWINDOW 0x8000 /* Called from ScrollWindow() */ /* ;Internal */ -#define SW_VALIDFLAGS (SW_SCROLLWINDOW | SW_SCROLLCHILDREN | SW_INVALIDATE | SW_ERASE) /* ;Internal */ #ifndef NOSCROLL -int APIENTRY CRITICAL XXX SetScrollPos(IN HWND hWnd, IN int nBar, IN int nPos, IN BOOL bRedraw); -int APIENTRY CRITICAL XXX GetScrollPos(IN HWND hWnd, IN int nBar); -BOOL APIENTRY CRITICAL XXX SetScrollRange(IN HWND hWnd, IN int nBar, IN int nMinPos, IN int nMaxPos, IN BOOL bRedraw); -BOOL APIENTRY CRITICAL XXX GetScrollRange(IN HWND hWnd, IN int nBar, OUT LPINT lpMinPos, OUT LPINT lpMaxPos); -BOOL APIENTRY CRITICAL XXX ShowScrollBar(IN HWND hWnd, IN UINT wBar, IN BOOL bShow); -#endif +int +WINAPI +SetScrollPos( + HWND hWnd, + int nBar, + int nPos, + BOOL bRedraw); + +int +WINAPI +GetScrollPos( + HWND hWnd, + int nBar); + +BOOL +WINAPI +SetScrollRange( + HWND hWnd, + int nBar, + int nMinPos, + int nMaxPos, + BOOL bRedraw); + +BOOL +WINAPI +GetScrollRange( + HWND hWnd, + int nBar, + LPINT lpMinPos, + LPINT lpMaxPos); + +BOOL +WINAPI +ShowScrollBar( + HWND hWnd, + int wBar, + BOOL bShow); + +BOOL +WINAPI +EnableScrollBar( + HWND hWnd, + UINT wSBflags, + UINT wArrows); + + +/* + * EnableScrollBar() flags + */ +#define ESB_ENABLE_BOTH 0x0000 +#define ESB_DISABLE_BOTH 0x0003 + +#define ESB_DISABLE_LEFT 0x0001 +#define ESB_DISABLE_RIGHT 0x0002 + +#define ESB_DISABLE_UP 0x0001 +#define ESB_DISABLE_DOWN 0x0002 + +#define ESB_DISABLE_LTUP ESB_DISABLE_LEFT +#define ESB_DISABLE_RTDN ESB_DISABLE_RIGHT + + +#endif /* !NOSCROLL */ BOOL -APIENTRY CRITICAL +WINAPI SetPropA( - IN HWND hWnd, - IN LPSTRID lpString, - IN HANDLE hData - ); + HWND hWnd, + LPCSTR lpString, + HANDLE hData); BOOL -APIENTRY CRITICAL +WINAPI SetPropW( - IN HWND hWnd, - IN LPWSTRID lpString, - IN HANDLE hData - ); + HWND hWnd, + LPCWSTR lpString, + HANDLE hData); #ifdef UNICODE -#define SetProp SetPropW +#define SetProp SetPropW #else -#define SetProp SetPropA +#define SetProp SetPropA #endif // !UNICODE HANDLE -APIENTRY CRITICAL +WINAPI GetPropA( - IN HWND hWnd, - IN LPSTRID lpString - ); + HWND hWnd, + LPCSTR lpString); HANDLE -APIENTRY CRITICAL +WINAPI GetPropW( - IN HWND hWnd, - IN LPWSTRID lpString - ); + HWND hWnd, + LPCWSTR lpString); #ifdef UNICODE -#define GetProp GetPropW +#define GetProp GetPropW #else -#define GetProp GetPropA +#define GetProp GetPropA #endif // !UNICODE HANDLE -APIENTRY CRITICAL +WINAPI RemovePropA( - IN HWND hWnd, - IN LPSTRID lpString - ); + HWND hWnd, + LPCSTR lpString); HANDLE -APIENTRY CRITICAL +WINAPI RemovePropW( - IN HWND hWnd, - IN LPWSTRID lpString - ); + HWND hWnd, + LPCWSTR lpString); #ifdef UNICODE -#define RemoveProp RemovePropW +#define RemoveProp RemovePropW #else -#define RemoveProp RemovePropA +#define RemoveProp RemovePropA #endif // !UNICODE int -APIENTRY CRITICAL +WINAPI EnumPropsExA( - IN HWND hWnd, - IN FARPROC lpEnumFunc, - IN DWORD lParam - ); + HWND hWnd, + PROPENUMPROCEXA lpEnumFunc, + LPARAM lParam); int -APIENTRY CRITICAL +WINAPI EnumPropsExW( - IN HWND hWnd, - IN FARPROC lpEnumFunc, - IN DWORD lParam - ); + HWND hWnd, + PROPENUMPROCEXW lpEnumFunc, + LPARAM lParam); #ifdef UNICODE -#define EnumPropsEx EnumPropsExW +#define EnumPropsEx EnumPropsExW #else -#define EnumPropsEx EnumPropsExA +#define EnumPropsEx EnumPropsExA #endif // !UNICODE int -APIENTRY CRITICAL +WINAPI EnumPropsA( - IN HWND hWnd, - IN FARPROC lpEnumFunc - ); + HWND hWnd, + PROPENUMPROCA lpEnumFunc); int -APIENTRY CRITICAL +WINAPI EnumPropsW( - IN HWND hWnd, - IN FARPROC lpEnumFunc - ); + HWND hWnd, + PROPENUMPROCW lpEnumFunc); #ifdef UNICODE -#define EnumProps EnumPropsW +#define EnumProps EnumPropsW #else -#define EnumProps EnumPropsA +#define EnumProps EnumPropsA #endif // !UNICODE BOOL -APIENTRY CRITICAL XXX +WINAPI SetWindowTextA( - IN HWND hWnd, - IN LPSTR lpString OPTIONAL - ); + HWND hWnd, + LPCSTR lpString); BOOL -APIENTRY CRITICAL XXX +WINAPI SetWindowTextW( - IN HWND hWnd, - IN LPWSTR lpString OPTIONAL - ); + HWND hWnd, + LPCWSTR lpString); #ifdef UNICODE -#define SetWindowText SetWindowTextW +#define SetWindowText SetWindowTextW #else -#define SetWindowText SetWindowTextA +#define SetWindowText SetWindowTextA #endif // !UNICODE int -APIENTRY CRITICAL XXX +WINAPI GetWindowTextA( - IN HWND hWnd, - NEXTCOUNT IN OUT OUTLPSTR lpString, - IN int nMaxCount - ); + HWND hWnd, + LPSTR lpString, + int nMaxCount); int -APIENTRY CRITICAL XXX +WINAPI GetWindowTextW( - IN HWND hWnd, - NEXTCOUNT IN OUT OUTLPWSTR lpString, - IN int nMaxCount - ); + HWND hWnd, + LPWSTR lpString, + int nMaxCount); +#ifdef UNICODE +#define GetWindowText GetWindowTextW +#else +#define GetWindowText GetWindowTextA +#endif // !UNICODE + +int +WINAPI +GetWindowTextLengthA( + HWND hWnd); +int +WINAPI +GetWindowTextLengthW( + HWND hWnd); #ifdef UNICODE -#define GetWindowText GetWindowTextW +#define GetWindowTextLength GetWindowTextLengthW #else -#define GetWindowText GetWindowTextA +#define GetWindowTextLength GetWindowTextLengthA #endif // !UNICODE -int APIENTRY CRITICAL XXX GetWindowTextLength(IN HWND hWnd); +BOOL +WINAPI +GetClientRect( + HWND hWnd, + LPRECT lpRect); + +BOOL +WINAPI +GetWindowRect( + HWND hWnd, + LPRECT lpRect); + +BOOL +WINAPI +AdjustWindowRect( + LPRECT lpRect, + DWORD dwStyle, + BOOL bMenu); -BOOL APIENTRY CRITICAL GetClientRect(IN HWND hWnd, OUT LPRECT lpRect); -BOOL APIENTRY CRITICAL GetWindowRect(IN HWND hWnd, OUT LPRECT lpRect); -BOOL APIENTRY CRITICAL AdjustWindowRect(IN OUT LPRECT lpRect, IN LONG dwStyle, IN BOOL bMenu); -BOOL APIENTRY CRITICAL AdjustWindowRectEx(IN OUT LPRECT lpRect, IN LONG dwStyle, IN BOOL bMenu, IN DWORD dwExStyle); +BOOL +WINAPI +AdjustWindowRectEx( + LPRECT lpRect, + DWORD dwStyle, + BOOL bMenu, + DWORD dwExStyle); #ifndef NOMB -/* MessageBox() Flags */ -#define MB_OK 0x0000L -#define MB_OKCANCEL 0x0001L -#define MB_ABORTRETRYIGNORE 0x0002L -#define MB_YESNOCANCEL 0x0003L -#define MB_YESNO 0x0004L -#define MB_RETRYCANCEL 0x0005L - -#define MB_ICONHAND 0x0010L -#define MB_ICONQUESTION 0x0020L -#define MB_ICONEXCLAMATION 0x0030L -#define MB_ICONASTERISK 0x0040L - -#define MB_ICONINFORMATION MB_ICONASTERISK -#define MB_ICONSTOP MB_ICONHAND - -#define MB_DEFBUTTON1 0x0000L -#define MB_DEFBUTTON2 0x0100L -#define MB_DEFBUTTON3 0x0200L - -#define MB_APPLMODAL 0x0000L -#define MB_SYSTEMMODAL 0x1000L -#define MB_TASKMODAL 0x2000L - -#define MB_NOFOCUS 0x8000L -#define MB_SETFOREGROUND 0x10000L - -#define MB_TYPEMASK 0x000FL -#define MB_ICONMASK 0x00F0L -#define MB_DEFMASK 0x0F00L -#define MB_MODEMASK 0x3000L -#define MB_MISCMASK 0xC000L +/* + * MessageBox() Flags + */ +#define MB_OK 0x00000000L +#define MB_OKCANCEL 0x00000001L +#define MB_ABORTRETRYIGNORE 0x00000002L +#define MB_YESNOCANCEL 0x00000003L +#define MB_YESNO 0x00000004L +#define MB_RETRYCANCEL 0x00000005L + +#define MB_ICONHAND 0x00000010L +#define MB_ICONQUESTION 0x00000020L +#define MB_ICONEXCLAMATION 0x00000030L +#define MB_ICONASTERISK 0x00000040L + +#define MB_ICONINFORMATION MB_ICONASTERISK +#define MB_ICONSTOP MB_ICONHAND + +#define MB_DEFBUTTON1 0x00000000L +#define MB_DEFBUTTON2 0x00000100L +#define MB_DEFBUTTON3 0x00000200L + +#define MB_APPLMODAL 0x00000000L +#define MB_SYSTEMMODAL 0x00001000L +#define MB_TASKMODAL 0x00002000L + +#define MB_NOFOCUS 0x00008000L +#define MB_SETFOREGROUND 0x00010000L +#define MB_DEFAULT_DESKTOP_ONLY 0x00020000L + +#define MB_TYPEMASK 0x0000000FL +#define MB_ICONMASK 0x000000F0L +#define MB_DEFMASK 0x00000F00L +#define MB_MODEMASK 0x00003000L +#define MB_MISCMASK 0x0000C000L int -APIENTRY CRITICAL XXX +WINAPI MessageBoxA( - IN HWND hWnd OPTIONAL, - IN LPSTR lpText, - IN LPSTR lpCaption OPTIONAL, - IN UINT wType - ); + HWND hWnd , + LPCSTR lpText, + LPCSTR lpCaption , + UINT uType); int -APIENTRY CRITICAL XXX +WINAPI MessageBoxW( - IN HWND hWnd OPTIONAL, - IN LPWSTR lpText, - IN LPWSTR lpCaption OPTIONAL, - IN UINT wType - ); + HWND hWnd , + LPCWSTR lpText, + LPCWSTR lpCaption , + UINT uType); #ifdef UNICODE -#define MessageBox MessageBoxW +#define MessageBox MessageBoxW #else -#define MessageBox MessageBoxA +#define MessageBox MessageBoxA #endif // !UNICODE -BOOL APIENTRY CRITICAL MessageBeep(IN UINT wType); +int +WINAPI +MessageBoxExA( + HWND hWnd , + LPCSTR lpText, + LPCSTR lpCaption , + UINT uType, + WORD wLanguageId); +int +WINAPI +MessageBoxExW( + HWND hWnd , + LPCWSTR lpText, + LPCWSTR lpCaption , + UINT uType, + WORD wLanguageId); +#ifdef UNICODE +#define MessageBoxEx MessageBoxExW +#else +#define MessageBoxEx MessageBoxExA +#endif // !UNICODE + +BOOL +WINAPI +MessageBeep( + UINT uType); -#endif /* NOMB */ +#endif /* !NOMB */ -int APIENTRY CRITICAL ShowCursor(IN BOOL bShow); -BOOL APIENTRY CRITICAL SetCursorPos(IN int X, IN int Y); -HCURSOR APIENTRY CRITICAL SetCursor(IN HCURSOR hCursor OPTIONAL); -BOOL APIENTRY CRITICAL GetCursorPos(OUT LPPOINT lpPoint); -BOOL APIENTRY CRITICAL ClipCursor(IN LPRECT lpRect OPTIONAL); -BOOL APIENTRY CRITICAL GetClipCursor(OUT LPRECT lpRect); - -BOOL APIENTRY CRITICAL CreateCaret(IN HWND hWnd, IN HBITMAP hBitmap OPTIONAL, - IN int nWidth, IN int nHeight); -UINT APIENTRY CRITICAL GetCaretBlinkTime(void); -BOOL APIENTRY CRITICAL SetCaretBlinkTime(IN UINT wMSeconds); -BOOL APIENTRY CRITICAL DestroyCaret(void); -BOOL APIENTRY CRITICAL HideCaret(IN HWND hWnd OPTIONAL); -BOOL APIENTRY CRITICAL ShowCaret(IN HWND hWnd OPTIONAL); -BOOL APIENTRY CRITICAL SetCaretPos(IN int X, IN int Y); -BOOL APIENTRY CRITICAL GetCaretPos(OUT LPPOINT lpPoint); - -BOOL APIENTRY CRITICAL ClientToScreen(IN HWND hWnd, IN OUT LPPOINT lpPoint); -BOOL APIENTRY CRITICAL ScreenToClient(IN HWND hWnd, IN OUT LPPOINT lpPoint); -HWND APIENTRY CRITICAL XXX WindowFromPoint(IN POINT Point); -HWND APIENTRY CRITICAL ChildWindowFromPoint(IN HWND hWndParent, IN POINT Point); +int +WINAPI +ShowCursor( + BOOL bShow); + +BOOL +WINAPI +SetCursorPos( + int X, + int Y); + +HCURSOR +WINAPI +SetCursor( + HCURSOR hCursor); + +BOOL +WINAPI +GetCursorPos( + LPPOINT lpPoint); + +BOOL +WINAPI +ClipCursor( + CONST RECT *lpRect); + +BOOL +WINAPI +GetClipCursor( + LPRECT lpRect); + +HCURSOR +WINAPI +GetCursor( + VOID); + +BOOL +WINAPI +CreateCaret( + HWND hWnd, + HBITMAP hBitmap , + int nWidth, + int nHeight); + +UINT +WINAPI +GetCaretBlinkTime( + VOID); + +BOOL +WINAPI +SetCaretBlinkTime( + UINT uMSeconds); + +BOOL +WINAPI +DestroyCaret( + VOID); + +BOOL +WINAPI +HideCaret( + HWND hWnd); + +BOOL +WINAPI +ShowCaret( + HWND hWnd); + +BOOL +WINAPI +SetCaretPos( + int X, + int Y); + +BOOL +WINAPI +GetCaretPos( + LPPOINT lpPoint); + +BOOL +WINAPI +ClientToScreen( + HWND hWnd, + LPPOINT lpPoint); + +BOOL +WINAPI +ScreenToClient( + HWND hWnd, + LPPOINT lpPoint); + +int +WINAPI +MapWindowPoints( + HWND hWndFrom, + HWND hWndTo, + LPPOINT lpPoints, + UINT cPoints); + +HWND +WINAPI +WindowFromPoint( + POINT Point); + +HWND +WINAPI +ChildWindowFromPoint( + HWND hWndParent, + POINT Point); #ifndef NOCOLOR -/* Color Types */ +/* + * Color Types + */ #define CTLCOLOR_MSGBOX 0 #define CTLCOLOR_EDIT 1 #define CTLCOLOR_LISTBOX 2 @@ -2789,169 +4118,425 @@ HWND APIENTRY CRITICAL ChildWindowFromPo #define COLOR_BTNTEXT 18 #define COLOR_INACTIVECAPTIONTEXT 19 #define COLOR_BTNHIGHLIGHT 20 -#define COLOR_ENDCOLORS COLOR_BTNHIGHLIGHT -DWORD APIENTRY CRITICAL GetSysColor(IN int nIndex); -BOOL APIENTRY CRITICAL XXX SetSysColors(IN int, IN LPSYSCOLOR, IN LPCOLORVALUES); +DWORD +WINAPI +GetSysColor( + int nIndex); + +BOOL +WINAPI +SetSysColors( + int cElements, + CONST INT * lpaElements, + CONST COLORREF * lpaRgbValues); + +#endif /* !NOCOLOR */ + +BOOL +WINAPI +DrawFocusRect( + HDC hDC, + CONST RECT * lprc); + +int +WINAPI +FillRect( + HDC hDC, + CONST RECT *lprc, + HBRUSH hbr); + +int +WINAPI +FrameRect( + HDC hDC, + CONST RECT *lprc, + HBRUSH hbr); + +BOOL +WINAPI +InvertRect( + HDC hDC, + CONST RECT *lprc); -#endif /* NOCOLOR */ +BOOL +WINAPI +SetRect( + LPRECT lprc, + int xLeft, + int yTop, + int xRight, + int yBottom); -BOOL APIENTRY CRITICAL DrawFocusRect(HDC, LPRECT); -int APIENTRY CRITICAL FillRect(HDC hdc, LPRECT lprc, HBRUSH hbr); -int APIENTRY CRITICAL FrameRect(IN HDC hdc, IN LPRECT lprc, IN HBRUSH hbr); -BOOL APIENTRY CRITICAL InvertRect(HDC, LPRECT); -BOOL APIENTRY SetRect(LPRECT, int, int, int, int); -BOOL APIENTRY SetRectEmpty(LPRECT); -int APIENTRY CopyRect(LPRECT, LPRECT); -BOOL APIENTRY InflateRect(LPRECT, int, int); -int APIENTRY IntersectRect(LPRECT, LPRECT, LPRECT); -BOOL APIENTRY UnionRect(LPRECT, LPRECT, LPRECT); -BOOL APIENTRY OffsetRect(LPRECT, int, int); -BOOL APIENTRY IsRectEmpty(LPRECT); -BOOL APIENTRY EqualRect(LPRECT, LPRECT); -BOOL APIENTRY PtInRect(LPRECT, POINT); -DWORD APIENTRY CRITICAL GetCurrentTime(void); +BOOL +WINAPI + SetRectEmpty( + LPRECT lprc); + +BOOL +WINAPI +CopyRect( + LPRECT lprcDst, + CONST RECT *lprcSrc); + +BOOL +WINAPI +InflateRect( + LPRECT lprc, + int dx, + int dy); + +BOOL +WINAPI +IntersectRect( + LPRECT lprcDst, + CONST RECT *lprcSrc1, + CONST RECT *lprcSrc2); + +BOOL +WINAPI +UnionRect( + LPRECT lprcDst, + CONST RECT *lprcSrc1, + CONST RECT *lprcSrc2); + +BOOL +WINAPI +SubtractRect( + LPRECT lprcDst, + CONST RECT *lprcSrc1, + CONST RECT *lprcSrc2); + +BOOL +WINAPI +OffsetRect( + LPRECT lprc, + int dx, + int dy); + +BOOL +WINAPI +IsRectEmpty( + CONST RECT *lprc); + +BOOL +WINAPI +EqualRect( + CONST RECT *lprc1, + CONST RECT *lprc2); + +BOOL +WINAPI +PtInRect( + CONST RECT *lprc, + POINT pt); #ifndef NOWINOFFSETS -WORD APIENTRY CRITICAL GetWindowWord(IN HWND hWnd, IN int nIndex); -WORD APIENTRY CRITICAL SetWindowWord(IN HWND hWnd, IN int nIndex, IN WORD wNewWord); -LONG APIENTRY CRITICAL GetWindowLong(IN HWND hWnd, IN int nIndex); -LONG APIENTRY CRITICAL SetWindowLong(IN HWND hWnd, IN int nIndex, IN LONG dwNewLong); -WORD APIENTRY CRITICAL GetClassWord(IN HWND hWnd, IN int nIndex); -WORD APIENTRY CRITICAL SetClassWord(IN HWND hWnd, IN int nIndex, IN WORD wNewWord); -DWORD APIENTRY CRITICAL GetClassLong(IN HWND hWnd, IN int nIndex); -DWORD APIENTRY CRITICAL SetClassLong(IN HWND hWnd, IN int nIndex, IN LONG dwNewLong); -HWND APIENTRY CRITICAL GetDesktopWindow(void); -BOOL APIENTRY CRITICAL SetDeskWallpaper(IN LPSTR lpString OPTIONAL); - -#endif /* NOWINOFFSETS */ - -HWND APIENTRY CRITICAL GetParent(IN HWND hWnd); -HWND APIENTRY CRITICAL XXX SetParent(IN HWND hWndChild, IN HWND hWndNewParent OPTIONAL); -BOOL APIENTRY CRITICAL XXX EnumChildWindows(IN HWND hWndParent, IN FARPROC lpEnumFunc, IN LONG lParam); +WORD +WINAPI +GetWindowWord( + HWND hWnd, + int nIndex); + +WORD +WINAPI +SetWindowWord( + HWND hWnd, + int nIndex, + WORD wNewWord); + +LONG +WINAPI +GetWindowLongA( + HWND hWnd, + int nIndex); +LONG +WINAPI +GetWindowLongW( + HWND hWnd, + int nIndex); +#ifdef UNICODE +#define GetWindowLong GetWindowLongW +#else +#define GetWindowLong GetWindowLongA +#endif // !UNICODE + +LONG +WINAPI +SetWindowLongA( + HWND hWnd, + int nIndex, + LONG dwNewLong); +LONG +WINAPI +SetWindowLongW( + HWND hWnd, + int nIndex, + LONG dwNewLong); +#ifdef UNICODE +#define SetWindowLong SetWindowLongW +#else +#define SetWindowLong SetWindowLongA +#endif // !UNICODE + +WORD +WINAPI +GetClassWord( + HWND hWnd, + int nIndex); + +WORD +WINAPI +SetClassWord( + HWND hWnd, + int nIndex, + WORD wNewWord); + +DWORD +WINAPI +GetClassLongA( + HWND hWnd, + int nIndex); +DWORD +WINAPI +GetClassLongW( + HWND hWnd, + int nIndex); +#ifdef UNICODE +#define GetClassLong GetClassLongW +#else +#define GetClassLong GetClassLongA +#endif // !UNICODE + +DWORD +WINAPI +SetClassLongA( + HWND hWnd, + int nIndex, + LONG dwNewLong); +DWORD +WINAPI +SetClassLongW( + HWND hWnd, + int nIndex, + LONG dwNewLong); +#ifdef UNICODE +#define SetClassLong SetClassLongW +#else +#define SetClassLong SetClassLongA +#endif // !UNICODE + +#endif /* !NOWINOFFSETS */ + +HWND +WINAPI +GetDesktopWindow( + VOID); + +HWND +WINAPI +GetParent( + HWND hWnd); HWND -APIENTRY CRITICAL XXX +WINAPI +SetParent( + HWND hWndChild, + HWND hWndNewParent); + +BOOL +WINAPI +EnumChildWindows( + HWND hWndParent, + WNDENUMPROC lpEnumFunc, + LPARAM lParam); + +HWND +WINAPI FindWindowA( - IN LPSTRID lpClassName OPTIONAL, - IN LPSTR lpWindowName OPTIONAL - ); + LPCSTR lpClassName , + LPCSTR lpWindowName); HWND -APIENTRY CRITICAL XXX +WINAPI FindWindowW( - IN LPWSTRID lpClassName OPTIONAL, - IN LPWSTR lpWindowName OPTIONAL - ); + LPCWSTR lpClassName , + LPCWSTR lpWindowName); #ifdef UNICODE -#define FindWindow FindWindowW +#define FindWindow FindWindowW #else -#define FindWindow FindWindowA +#define FindWindow FindWindowA #endif // !UNICODE -BOOL APIENTRY CRITICAL XXX EnumWindows(IN FARPROC lpEnumFunc, IN LONG lParam); -BOOL APIENTRY CRITICAL XXX EnumThreadWindows(IN DWORD dwThreadId, IN FARPROC lpfn, IN LONG lParam); +BOOL +WINAPI +EnumWindows( + WNDENUMPROC lpEnumFunc, + LPARAM lParam); + +BOOL +WINAPI +EnumThreadWindows( + DWORD dwThreadId, + WNDENUMPROC lpfn, + LPARAM lParam); + #define EnumTaskWindows(hTask, lpfn, lParam) EnumThreadWindows((DWORD)hTask, lpfn, lParam) int -APIENTRY CRITICAL +WINAPI GetClassNameA( - IN HWND hWnd, - NEXTCOUNT IN OUT OUTLPSTR lpClassName, - IN int nMaxCount - ); + HWND hWnd, + LPSTR lpClassName, + int nMaxCount); int -APIENTRY CRITICAL +WINAPI GetClassNameW( - IN HWND hWnd, - NEXTCOUNT IN OUT OUTLPWSTR lpClassName, - IN int nMaxCount - ); + HWND hWnd, + LPWSTR lpClassName, + int nMaxCount); #ifdef UNICODE -#define GetClassName GetClassNameW +#define GetClassName GetClassNameW #else -#define GetClassName GetClassNameA +#define GetClassName GetClassNameA #endif // !UNICODE -HWND APIENTRY CRITICAL GetTopWindow(IN HWND hWnd); -#define GetNextWindow(hwnd, wCmd) GetWindow(hwnd, wCmd) +HWND +WINAPI +GetTopWindow( + HWND hWnd); + +#define GetNextWindow(hWnd, wCmd) GetWindow(hWnd, wCmd) #define GetSysModalWindow() (NULL) -#define SetSysModalWindow(hwnd) (NULL) -DWORD APIENTRY CRITICAL GetWindowThreadProcessId(IN HWND hWnd, - IN LPDWORD lpdwProcessId OPTIONAL); -#define GetWindowTask(hwnd)\ - ((HANDLE)GetWindowThreadProcessId(hwnd, NULL)) +#define SetSysModalWindow(hWnd) (NULL) + +DWORD +WINAPI +GetWindowThreadProcessId( + HWND hWnd, + LPDWORD lpdwProcessId); + +#define GetWindowTask(hWnd) \ + ((HANDLE)GetWindowThreadProcessId(hWnd, NULL)) -HWND APIENTRY CRITICAL GetLastActivePopup(IN HWND hWnd); +HWND +WINAPI +GetLastActivePopup( + HWND hWnd); -/* GetWindow() Constants */ +/* + * GetWindow() Constants + */ #define GW_HWNDFIRST 0 #define GW_HWNDLAST 1 #define GW_HWNDNEXT 2 #define GW_HWNDPREV 3 #define GW_OWNER 4 #define GW_CHILD 5 +#define GW_MAX 5 -HWND APIENTRY CRITICAL GetWindow(IN HWND hWnd, IN UINT wCmd); +HWND +WINAPI +GetWindow( + HWND hWnd, + UINT uCmd); #ifndef NOWH -PROC -APIENTRY CRITICAL +#ifdef STRICT + +HHOOK +WINAPI SetWindowsHookA( - IN int nFilterType, - IN PROC pfnFilterProc - ); -PROC -APIENTRY CRITICAL + int nFilterType, + HOOKPROC pfnFilterProc); +HHOOK +WINAPI SetWindowsHookW( - IN int nFilterType, - IN PROC pfnFilterProc - ); + int nFilterType, + HOOKPROC pfnFilterProc); #ifdef UNICODE -#define SetWindowsHook SetWindowsHookW +#define SetWindowsHook SetWindowsHookW #else -#define SetWindowsHook SetWindowsHookA +#define SetWindowsHook SetWindowsHookA #endif // !UNICODE -BOOL APIENTRY CRITICAL UnhookWindowsHook(IN int nCode, IN PROC pfnFilterProc); +#else /* !STRICT */ + +HOOKPROC +WINAPI +SetWindowsHookA( + int nFilterType, + HOOKPROC pfnFilterProc); +HOOKPROC +WINAPI +SetWindowsHookW( + int nFilterType, + HOOKPROC pfnFilterProc); +#ifdef UNICODE +#define SetWindowsHook SetWindowsHookW +#else +#define SetWindowsHook SetWindowsHookA +#endif // !UNICODE + +#endif /* !STRICT */ + +BOOL +WINAPI +UnhookWindowsHook( + int nCode, + HOOKPROC pfnFilterProc); HHOOK -APIENTRY CRITICAL +WINAPI SetWindowsHookExA( - IN HANDLE hmod, - IN DWORD dwThreadId, - IN int nFilterType, - IN PROC pfnFilterProc - ); + int idHook, + HOOKPROC lpfn, + HINSTANCE hmod, + DWORD dwThreadId); HHOOK -APIENTRY CRITICAL +WINAPI SetWindowsHookExW( - IN HANDLE hmod, - IN DWORD dwThreadId, - IN int nFilterType, - IN PROC pfnFilterProc - ); + int idHook, + HOOKPROC lpfn, + HINSTANCE hmod, + DWORD dwThreadId); #ifdef UNICODE -#define SetWindowsHookEx SetWindowsHookExW +#define SetWindowsHookEx SetWindowsHookExW #else -#define SetWindowsHookEx SetWindowsHookExA +#define SetWindowsHookEx SetWindowsHookExA #endif // !UNICODE -BOOL APIENTRY CRITICAL UnhookWindowsHookEx(IN HHOOK hhk); -DWORD APIENTRY CRITICAL XXX CallNextHookProc(IN int nCode, IN DWORD wParam, - IN LONG lParam); +BOOL +WINAPI +UnhookWindowsHookEx( + HHOOK hhk); + +LRESULT +WINAPI CallNextHookEx( + HHOOK hhk, + int nCode, + WPARAM wParam, + LPARAM lParam); /* * Macros for source-level compatibility with old functions. */ -#define DefHookProc(nCode, wParam, lParam, ppfnNextHook)\ - CallNextHookProc(nCode, wParam, lParam) -#endif +#ifdef STRICT +#define DefHookProc(nCode, wParam, lParam, phhk)\ + CallNextHookEx(*phhk, nCode, wParam, lParam) +#else +#define DefHookProc(nCode, wParam, lParam, phhk)\ + CallNextHookEx((HHOOK)*phhk, nCode, wParam, lParam) +#endif /* STRICT */ + +#endif /* !NOWH */ #ifndef NOMENUS -/* Menu flags for Add/Check/EnableMenuItem() */ +/* + * Menu flags for Add/Check/EnableMenuItem() + */ #define MF_INSERT 0x00000000L #define MF_CHANGE 0x00000080L #define MF_APPEND 0x00000100L @@ -2961,7 +4546,6 @@ DWORD APIENTRY CRITICAL XXX CallNextHook #define MF_BYCOMMAND 0x00000000L #define MF_BYPOSITION 0x00000400L - #define MF_SEPARATOR 0x00000800L #define MF_ENABLED 0x00000000L @@ -2987,7 +4571,10 @@ DWORD APIENTRY CRITICAL XXX CallNextHook #define MF_HELP 0x00004000L #define MF_MOUSESELECT 0x00008000L -/* Menu item resource format */ + +/* + * Menu item resource format + */ typedef struct { WORD versionNumber; WORD offset; @@ -2996,16 +4583,18 @@ typedef struct { typedef struct { WORD mtOption; WORD mtID; - char mtString[1]; + WCHAR mtString[1]; } MENUITEMTEMPLATE; #define MF_END 0x00000080L -#endif /* NOMENUS */ +#endif /* !NOMENUS */ #ifndef NOSYSCOMMANDS -/* System Menu Command Values */ +/* + * System Menu Command Values + */ #define SC_SIZE 0xF000 #define SC_MOVE 0xF010 #define SC_MINIMIZE 0xF020 @@ -3023,56 +4612,71 @@ typedef struct { #define SC_SCREENSAVE 0xF140 #define SC_HOTKEY 0xF150 +/* + * Obsolete names + */ #define SC_ICON SC_MINIMIZE #define SC_ZOOM SC_MAXIMIZE -#endif /* NOSYSCOMMANDS */ +#endif /* !NOSYSCOMMANDS */ -/* Resource Loading Routines */ +/* + * Resource Loading Routines + */ HBITMAP -APIENTRY +WINAPI LoadBitmapA( - IN HANDLE hInstance, - IN LPSTRID lpBitmapName - ); + HINSTANCE hInstance, + LPCSTR lpBitmapName); HBITMAP -APIENTRY +WINAPI LoadBitmapW( - IN HANDLE hInstance, - IN LPWSTRID lpBitmapName - ); + HINSTANCE hInstance, + LPCWSTR lpBitmapName); #ifdef UNICODE -#define LoadBitmap LoadBitmapW +#define LoadBitmap LoadBitmapW #else -#define LoadBitmap LoadBitmapA +#define LoadBitmap LoadBitmapA #endif // !UNICODE HCURSOR -APIENTRY CRITICAL +WINAPI LoadCursorA( - IN HANDLE hInstance, - IN LPSTRID lpCursorName - ); + HINSTANCE hInstance, + LPCSTR lpCursorName); HCURSOR -APIENTRY CRITICAL +WINAPI LoadCursorW( - IN HANDLE hInstance, - IN LPWSTRID lpCursorName - ); + HINSTANCE hInstance, + LPCWSTR lpCursorName); #ifdef UNICODE -#define LoadCursor LoadCursorW +#define LoadCursor LoadCursorW #else -#define LoadCursor LoadCursorA +#define LoadCursor LoadCursorA #endif // !UNICODE -HCURSOR APIENTRY CRITICAL CreateCursor(IN HANDLE, IN int, IN int, IN int, IN int, - IN LPMONO1BITS, IN LPMONO2BITS); -HCURSOR APIENTRY CRITICAL CreateDIBCursor(NEXTCOUNT IN LPSTR lpCursorRes, - IN DWORD cb, IN UINT xHotspot, IN UINT yHotspot); -BOOL APIENTRY CRITICAL DestroyCursor(IN HCURSOR); +HCURSOR +WINAPI +CreateCursor( + HINSTANCE hInst, + int xHotSpot, + int yHotSpot, + int nWidth, + int nHeight, + CONST VOID *pvANDPlane, + CONST VOID *pvXORPlane); + +BOOL +WINAPI +DestroyCursor( + HCURSOR hCursor); + +#define CopyCursor(pcur) ((HCURSOR)CopyIcon((HICON)(pcur))) -/* Standard Cursor IDs */ +/* + * Standard Cursor IDs + */ #define IDC_ARROW MAKEINTRESOURCE(32512) #define IDC_IBEAM MAKEINTRESOURCE(32513) #define IDC_WAIT MAKEINTRESOURCE(32514) @@ -3084,8 +4688,9 @@ BOOL APIENTRY CRITICAL DestroyCursor( #define IDC_SIZENESW MAKEINTRESOURCE(32643) #define IDC_SIZEWE MAKEINTRESOURCE(32644) #define IDC_SIZENS MAKEINTRESOURCE(32645) -#define IDC_SIZEALL MAKEINTRESOURCE(32646) -#define IDC_NO MAKEINTRESOURCE(32648) +#define IDC_SIZEALL MAKEINTRESOURCE(32646) /*not in win3.1 */ +#define IDC_NO MAKEINTRESOURCE(32648) /*not in win3.1 */ +#define IDC_APPSTARTING MAKEINTRESOURCE(32650) /*not in win3.1 */ typedef struct _ICONINFO { BOOL fIcon; @@ -3097,34 +4702,72 @@ typedef struct _ICONINFO { typedef ICONINFO *PICONINFO; HICON -APIENTRY CRITICAL +WINAPI LoadIconA( - IN HANDLE hInstance, - IN LPSTRID lpIconName - ); + HINSTANCE hInstance, + LPCSTR lpIconName); HICON -APIENTRY CRITICAL +WINAPI LoadIconW( - IN HANDLE hInstance, - IN LPWSTRID lpIconName - ); + HINSTANCE hInstance, + LPCWSTR lpIconName); #ifdef UNICODE -#define LoadIcon LoadIconW +#define LoadIcon LoadIconW #else -#define LoadIcon LoadIconA +#define LoadIcon LoadIconA #endif // !UNICODE -HICON APIENTRY CRITICAL CreateIcon(IN HANDLE, IN int, IN int, IN BYTE, IN BYTE, IN LPBYTE, IN LPBYTE); -BOOL APIENTRY CRITICAL DestroyIcon(IN HICON); -int APIENTRY LookupIconIdFromDirectory(IN PBYTE presbits, IN BOOL fIcon); -HICON APIENTRY CreateIconFromResource(PBYTE presbits, DWORD dwResSize, - BOOL fIcon, DWORD dwVer); -HICON APIENTRY CreateIconIndirect(IN PICONINFO piconinfo); -BOOL APIENTRY GetIconInfo(IN HICON hIcon, OUT PICONINFO piconinfo); +HICON +WINAPI +CreateIcon( + HINSTANCE hInstance, + int nWidth, + int nHeight, + BYTE cPlanes, + BYTE cBitsPixel, + CONST BYTE *lpbANDbits, + CONST BYTE *lpbXORbits); + +BOOL +WINAPI +DestroyIcon( + HICON hIcon); + +int +WINAPI +LookupIconIdFromDirectory( + PBYTE presbits, + BOOL fIcon); + +HICON +WINAPI +CreateIconFromResource( + PBYTE presbits, + DWORD dwResSize, + BOOL fIcon, + DWORD dwVer); + +HICON +WINAPI +CreateIconIndirect( + PICONINFO piconinfo); + +HICON +WINAPI +CopyIcon( + HICON hIcon); + +BOOL +WINAPI +GetIconInfo( + HICON hIcon, + PICONINFO piconinfo); #ifdef OEMRESOURCE -/* OEM Resource Ordinal Numbers */ +/* + * OEM Resource Ordinal Numbers + */ #define OBM_CLOSE 32754 #define OBM_UPARROW 32753 #define OBM_DNARROW 32752 @@ -3174,7 +4817,7 @@ BOOL APIENTRY GetIconInfo(IN HICON hIco #define OCR_SIZENS 32645 #define OCR_SIZEALL 32646 #define OCR_ICOCUR 32647 -#define OCR_NO 32648 +#define OCR_NO 32648 /*not in win3.1 */ #define OIC_SAMPLE 32512 #define OIC_HAND 32513 @@ -3190,130 +4833,40 @@ BOOL APIENTRY GetIconInfo(IN HICON hIco #ifndef NOICONS -/* Standard Icon IDs */ +/* + * Standard Icon IDs + */ #define IDI_APPLICATION MAKEINTRESOURCE(32512) #define IDI_HAND MAKEINTRESOURCE(32513) #define IDI_QUESTION MAKEINTRESOURCE(32514) #define IDI_EXCLAMATION MAKEINTRESOURCE(32515) #define IDI_ASTERISK MAKEINTRESOURCE(32516) -#endif /* NOICONS */ +#endif /* !NOICONS */ int -APIENTRY +WINAPI LoadStringA( - IN HANDLE hInstance, - IN UINT wID, - NEXTCOUNT IN OUT OUTLPSTR lpBuffer, - IN int nBufferMax - ); + HINSTANCE hInstance, + UINT uID, + LPSTR lpBuffer, + int nBufferMax); int -APIENTRY +WINAPI LoadStringW( - IN HANDLE hInstance, - IN UINT wID, - NEXTCOUNT IN OUT OUTLPWSTR lpBuffer, - IN int nBufferMax - ); + HINSTANCE hInstance, + UINT uID, + LPWSTR lpBuffer, + int nBufferMax); #ifdef UNICODE -#define LoadString LoadStringW +#define LoadString LoadStringW #else -#define LoadString LoadStringA +#define LoadString LoadStringA #endif // !UNICODE -#ifndef NOKANJI - -#define CP_HWND 0 -#define CP_OPEN 1 -#define CP_DIRECT 2 - -/* VK from the keyboard driver */ -#define VK_KANA 0x15 -#define VK_ROMAJI 0x16 -#define VK_ZENKAKU 0x17 -#define VK_HIRAGANA 0x18 -#define VK_KANJI 0x19 - -/* VK to send to Applications */ -#define VK_CONVERT 0x1C -#define VK_NONCONVERT 0x1D -#define VK_ACCEPT 0x1E -#define VK_MODECHANGE 0x1F - -/* Conversion function numbers */ -#define KNJ_START 0x01 -#define KNJ_END 0x02 -#define KNJ_QUERY 0x03 - -#define KNJ_LEARN_MODE 0x10 -#define KNJ_GETMODE 0x11 -#define KNJ_SETMODE 0x12 - -#define KNJ_CODECONVERT 0x20 -#define KNJ_CONVERT 0x21 -#define KNJ_NEXT 0x22 -#define KNJ_PREVIOUS 0x23 -#define KNJ_ACCEPT 0x24 - -#define KNJ_LEARN 0x30 -#define KNJ_REGISTER 0x31 -#define KNJ_REMOVE 0x32 -#define KNJ_CHANGE_UDIC 0x33 - -/* NOTE: DEFAULT = 0 - * JIS1 = 1 - * JIS2 = 2 - * SJIS2 = 3 - * JIS1KATAKANA = 4 - * SJIS2HIRAGANA = 5 - * SJIS2KATAKANA = 6 - * OEM = F - */ - -#define KNJ_JIS1toJIS1KATAKANA 0x14 -#define KNJ_JIS1toSJIS2 0x13 -#define KNJ_JIS1toSJIS2HIRAGANA 0x15 -#define KNJ_JIS1toSJIS2KATAKANA 0x16 -#define KNJ_JIS1toDEFAULT 0x10 -#define KNJ_JIS1toSJIS2OEM 0x1F -#define KNJ_JIS2toSJIS2 0x23 -#define KNJ_SJIS2toJIS2 0x32 - -#define KNJ_MD_ALPHA 0x01 -#define KNJ_MD_HIRAGANA 0x02 -#define KNJ_MD_HALF 0x04 -#define KNJ_MD_JIS 0x08 -#define KNJ_MD_SPECIAL 0x10 - -#define KNJ_CVT_NEXT 0x01 -#define KNJ_CVT_PREV 0x02 -#define KNJ_CVT_KATAKANA 0x03 -#define KNJ_CVT_HIRAGANA 0x04 -#define KNJ_CVT_JIS1 0x05 -#define KNJ_CVT_SJIS2 0x06 -#define KNJ_CVT_DEFAULT 0x07 -#define KNJ_CVT_TYPED 0x08 - -typedef struct { - int fnc; - int wParam; - LPSTR lpSource; - LPSTR lpDest; - int wCount; - LPSTRNULL lpReserved1; - LPSTRNULL lpReserved2; -} KANJISTRUCT, FAR *LPKANJISTRUCT; - -int APIENTRY ConvertRequest(HWND, LPKANJISTRUCT); -BOOL APIENTRY SetConvertParams(int, int); -VOID APIENTRY SetConvertHook(BOOL); - -#endif - -/* Key Conversion Window */ -BOOL APIENTRY IsTwoByteCharPrefix(char); - -/* Dialog Box Command IDs */ +/* + * Dialog Box Command IDs + */ #define IDOK 1 #define IDCANCEL 2 #define IDABORT 3 @@ -3324,11 +4877,15 @@ BOOL APIENTRY IsTwoByteCharPrefix(char); #ifndef NOCTLMGR -/* Control Manager Structures and Definitions */ +/* + * Control Manager Structures and Definitions + */ #ifndef NOWINSTYLES -/* Edit Control Styles */ +/* + * Edit Control Styles + */ #define ES_LEFT 0x0000L #define ES_CENTER 0x0001L #define ES_RIGHT 0x0002L @@ -3341,11 +4898,14 @@ BOOL APIENTRY IsTwoByteCharPrefix(char); #define ES_NOHIDESEL 0x0100L #define ES_OEMCONVERT 0x0400L #define ES_READONLY 0x0800L +#define ES_WANTRETURN 0x1000L -#endif /* NOWINSTYLES */ +#endif /* !NOWINSTYLES */ -/* Edit Control Notification Codes */ +/* + * Edit Control Notification Codes + */ #define EN_SETFOCUS 0x0100 #define EN_KILLFOCUS 0x0200 #define EN_CHANGE 0x0300 @@ -3357,41 +4917,53 @@ BOOL APIENTRY IsTwoByteCharPrefix(char); #ifndef NOWINMESSAGES -/* Edit Control Messages */ -#define EM_GETSEL 0x00B0 -#define EM_SETSEL 0x00B1 -#define EM_GETRECT 0x00B2 -#define EM_SETRECT 0x00B3 -#define EM_SETRECTNP 0x00B4 -#define EM_SCROLL 0x00B5 -#define EM_LINESCROLL 0x00B6 -#define EM_GETMODIFY 0x00B8 -#define EM_SETMODIFY 0x00B9 -#define EM_GETLINECOUNT 0x00BA -#define EM_LINEINDEX 0x00BB -#define EM_SETHANDLE 0x00BC -#define EM_GETHANDLE 0x00BD -#define EM_GETTHUMB 0x00BE -#define EM_LINELENGTH 0x00C1 -#define EM_REPLACESEL 0x00C2 -#define EM_SETFONT 0x00C3 -#define EM_GETLINE 0x00C4 -#define EM_LIMITTEXT 0x00C5 -#define EM_CANUNDO 0x00C6 -#define EM_UNDO 0x00C7 -#define EM_FMTLINES 0x00C8 -#define EM_LINEFROMCHAR 0x00C9 -#define EM_SETWORDBREAK 0x00CA -#define EM_SETTABSTOPS 0x00CB -#define EM_SETPASSWORDCHAR 0x00CC -#define EM_EMPTYUNDOBUFFER 0x00CD -#define EM_GETFIRSTVISIBLE 0x00CE -#define EM_SETREADONLY 0x00CF -#define EM_MSGMAX 0x00D0 +/* + * Edit Control Messages + */ +#define EM_GETSEL 0x00B0 +#define EM_SETSEL 0x00B1 +#define EM_GETRECT 0x00B2 +#define EM_SETRECT 0x00B3 +#define EM_SETRECTNP 0x00B4 +#define EM_SCROLL 0x00B5 +#define EM_LINESCROLL 0x00B6 +#define EM_SCROLLCARET 0x00B7 +#define EM_GETMODIFY 0x00B8 +#define EM_SETMODIFY 0x00B9 +#define EM_GETLINECOUNT 0x00BA +#define EM_LINEINDEX 0x00BB +#define EM_SETHANDLE 0x00BC +#define EM_GETHANDLE 0x00BD +#define EM_GETTHUMB 0x00BE +#define EM_LINELENGTH 0x00C1 +#define EM_REPLACESEL 0x00C2 +#define EM_GETLINE 0x00C4 +#define EM_LIMITTEXT 0x00C5 +#define EM_CANUNDO 0x00C6 +#define EM_UNDO 0x00C7 +#define EM_FMTLINES 0x00C8 +#define EM_LINEFROMCHAR 0x00C9 +#define EM_SETTABSTOPS 0x00CB +#define EM_SETPASSWORDCHAR 0x00CC +#define EM_EMPTYUNDOBUFFER 0x00CD +#define EM_GETFIRSTVISIBLELINE 0x00CE +#define EM_SETREADONLY 0x00CF +#define EM_SETWORDBREAKPROC 0x00D0 +#define EM_GETWORDBREAKPROC 0x00D1 +#define EM_GETPASSWORDCHAR 0x00D2 + +#endif /* !NOWINMESSAGES */ -#endif /* NOWINMESSAGES */ +/* + * EDITWORDBREAKPROC code values + */ +#define WB_LEFT 0 +#define WB_RIGHT 1 +#define WB_ISDELIMITER 2 -/* Button Control Styles */ +/* + * Button Control Styles + */ #define BS_PUSHBUTTON 0x00L #define BS_DEFPUSHBUTTON 0x01L #define BS_CHECKBOX 0x02L @@ -3402,12 +4974,13 @@ BOOL APIENTRY IsTwoByteCharPrefix(char); #define BS_GROUPBOX 0x07L #define BS_USERBUTTON 0x08L #define BS_AUTORADIOBUTTON 0x09L -#define BS_PUSHBOX 0x0AL #define BS_OWNERDRAW 0x0BL #define BS_LEFTTEXT 0x20L -/* User Button Notification Codes */ +/* + * User Button Notification Codes + */ #define BN_CLICKED 0 #define BN_PAINT 1 #define BN_HILITE 2 @@ -3415,14 +4988,18 @@ BOOL APIENTRY IsTwoByteCharPrefix(char); #define BN_DISABLE 4 #define BN_DOUBLECLICKED 5 -/* Button Control Messages */ +/* + * Button Control Messages + */ #define BM_GETCHECK 0x00F0 #define BM_SETCHECK 0x00F1 #define BM_GETSTATE 0x00F2 #define BM_SETSTATE 0x00F3 #define BM_SETSTYLE 0x00F4 -/* Static Control Constants */ +/* + * Static Control Constants + */ #define SS_LEFT 0x00L #define SS_CENTER 0x01L #define SS_RIGHT 0x02L @@ -3439,126 +5016,177 @@ BOOL APIENTRY IsTwoByteCharPrefix(char); #define SS_NOPREFIX 0x80L /* Don't do "&" character translation */ #ifndef NOWINMESSAGES -/* Static Control Mesages */ -#define STM_SETICON 0x0D0 -#define STM_GETICON 0x0D1 -#define STM_MSGMAX 0x0D2 -#endif /* NOWINMESSAGES */ -/* Dialog Manager Routines */ +/* + * Static Control Mesages + */ +#define STM_SETICON 0x170 +#define STM_GETICON 0x171 +#define STM_MSGMAX 0x172 +#endif /* !NOWINMESSAGES */ + +/* + * Dialog window class + */ +#define WC_DIALOG (MAKEINTATOM(0x8002)) + +/* + * Get/SetWindowWord/Long offsets for use with WC_DIALOG windows + */ +#define DWL_MSGRESULT 0 +#define DWL_DLGPROC 4 +#define DWL_USER 8 + +/* + * Dialog Manager Routines + */ #ifndef NOMSG -BOOL APIENTRY CRITICAL XXX IsDialogMessage(IN HWND hDlg, IN LPMSG lpMsg); -#endif -BOOL APIENTRY CRITICAL MapDialogRect(IN HWND hDlg, IN OUT LPRECT lpRect); +BOOL +WINAPI +IsDialogMessageA( + HWND hDlg, + LPMSG lpMsg); +BOOL +WINAPI +IsDialogMessageW( + HWND hDlg, + LPMSG lpMsg); +#ifdef UNICODE +#define IsDialogMessage IsDialogMessageW +#else +#define IsDialogMessage IsDialogMessageA +#endif // !UNICODE + +#endif /* !NOMSG */ + +BOOL +WINAPI +MapDialogRect( + HWND hDlg, + LPRECT lpRect); int -APIENTRY CRITICAL XXX +WINAPI DlgDirListA( - IN HWND hDlg, - IN OUT LPSTR lpPathSpec, - IN int nIDListBox, - IN int nIDStaticPath, - IN UINT wFileType - ); + HWND hDlg, + LPSTR lpPathSpec, + int nIDListBox, + int nIDStaticPath, + UINT uFileType); int -APIENTRY CRITICAL XXX +WINAPI DlgDirListW( - IN HWND hDlg, - IN OUT LPWSTR lpPathSpec, - IN int nIDListBox, - IN int nIDStaticPath, - IN UINT wFileType - ); + HWND hDlg, + LPWSTR lpPathSpec, + int nIDListBox, + int nIDStaticPath, + UINT uFileType); #ifdef UNICODE -#define DlgDirList DlgDirListW +#define DlgDirList DlgDirListW #else -#define DlgDirList DlgDirListA +#define DlgDirList DlgDirListA #endif // !UNICODE +/* + * DlgDirList, DlgDirListComboBox flags values + */ +#define DDL_READWRITE 0x0000 +#define DDL_READONLY 0x0001 +#define DDL_HIDDEN 0x0002 +#define DDL_SYSTEM 0x0004 +#define DDL_DIRECTORY 0x0010 +#define DDL_ARCHIVE 0x0020 + +#define DDL_POSTMSGS 0x2000 +#define DDL_DRIVES 0x4000 +#define DDL_EXCLUSIVE 0x8000 + + BOOL -APIENTRY CRITICAL XXX +WINAPI DlgDirSelectExA( - IN HWND hDlg, - NEXTCOUNT IN OUT OUTLPSTR lpString, - IN int nCount, - IN int nIDListBox - ); + HWND hDlg, + LPSTR lpString, + int nCount, + int nIDListBox); BOOL -APIENTRY CRITICAL XXX +WINAPI DlgDirSelectExW( - IN HWND hDlg, - NEXTCOUNT IN OUT OUTLPWSTR lpString, - IN int nCount, - IN int nIDListBox - ); + HWND hDlg, + LPWSTR lpString, + int nCount, + int nIDListBox); #ifdef UNICODE -#define DlgDirSelectEx DlgDirSelectExW +#define DlgDirSelectEx DlgDirSelectExW #else -#define DlgDirSelectEx DlgDirSelectExA +#define DlgDirSelectEx DlgDirSelectExA #endif // !UNICODE int -APIENTRY CRITICAL XXX +WINAPI DlgDirListComboBoxA( - IN HWND hDlg, - IN OUT LPSTR lpPathSpec, - IN int nIDComboBox, - IN int nIDStaticPath, - IN UINT wFiletype - ); + HWND hDlg, + LPSTR lpPathSpec, + int nIDComboBox, + int nIDStaticPath, + UINT uFiletype); int -APIENTRY CRITICAL XXX +WINAPI DlgDirListComboBoxW( - IN HWND hDlg, - IN OUT LPWSTR lpPathSpec, - IN int nIDComboBox, - IN int nIDStaticPath, - IN UINT wFiletype - ); + HWND hDlg, + LPWSTR lpPathSpec, + int nIDComboBox, + int nIDStaticPath, + UINT uFiletype); #ifdef UNICODE -#define DlgDirListComboBox DlgDirListComboBoxW +#define DlgDirListComboBox DlgDirListComboBoxW #else -#define DlgDirListComboBox DlgDirListComboBoxA +#define DlgDirListComboBox DlgDirListComboBoxA #endif // !UNICODE BOOL -APIENTRY CRITICAL XXX +WINAPI DlgDirSelectComboBoxExA( - IN HWND hDlg, - NEXTCOUNT IN OUT OUTLPSTR lpString, - IN int nCount, - IN int nIDComboBox - ); + HWND hDlg, + LPSTR lpString, + int nCount, + int nIDComboBox); BOOL -APIENTRY CRITICAL XXX +WINAPI DlgDirSelectComboBoxExW( - IN HWND hDlg, - NEXTCOUNT IN OUT OUTLPWSTR lpString, - IN int nCount, - IN int nIDComboBox - ); + HWND hDlg, + LPWSTR lpString, + int nCount, + int nIDComboBox); #ifdef UNICODE -#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW +#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW #else -#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA +#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA #endif // !UNICODE - -/* Dialog Styles */ +/* + * Dialog Styles + */ #define DS_ABSALIGN 0x01L #define DS_SYSMODAL 0x02L #define DS_LOCALEDIT 0x20L /* Edit items get Local storage. */ #define DS_SETFONT 0x40L /* User specified font for Dlg controls */ #define DS_MODALFRAME 0x80L /* Can be combined with WS_CAPTION */ #define DS_NOIDLEMSG 0x100L /* WM_ENTERIDLE message will not be sent */ -#define DS_SETFOREGROUND 0x200L +#define DS_SETFOREGROUND 0x200L /* not in win3.1 */ #define DM_GETDEFID (WM_USER+0) #define DM_SETDEFID (WM_USER+1) + +/* + * Returned in HIWORD() of DM_GETDEFID result if msg is supported + */ #define DC_HASDEFID 0x534B -/* Dialog Codes */ +/* + * Dialog Codes + */ #define DLGC_WANTARROWS 0x0001 /* Control wants arrow keys */ #define DLGC_WANTTAB 0x0002 /* Control wants tab keys */ #define DLGC_WANTALLKEYS 0x0004 /* Control wants all keys */ @@ -3573,7 +5201,9 @@ DlgDirSelectComboBoxExW( #define LB_CTLCODE 0L -/* Listbox Return Values */ +/* + * Listbox Return Values + */ #define LB_OKAY 0 #define LB_ERR (-1) #define LB_ERRSPACE (-2) @@ -3586,7 +5216,9 @@ DlgDirSelectComboBoxExW( /* all other details also will be returned */ -/* Listbox Notification Codes */ +/* + * Listbox Notification Codes + */ #define LBN_ERRSPACE (-2) #define LBN_SELCHANGE 1 #define LBN_DBLCLK 2 @@ -3598,10 +5230,13 @@ DlgDirSelectComboBoxExW( #ifndef NOWINMESSAGES -/* Listbox messages */ +/* + * Listbox messages + */ #define LB_ADDSTRING 0x0180 #define LB_INSERTSTRING 0x0181 #define LB_DELETESTRING 0x0182 +#define LB_SELITEMRANGEEX 0x0183 #define LB_RESETCONTENT 0x0184 #define LB_SETSEL 0x0185 #define LB_SETCURSEL 0x0186 @@ -3620,20 +5255,31 @@ DlgDirSelectComboBoxExW( #define LB_GETHORIZONTALEXTENT 0x0193 #define LB_SETHORIZONTALEXTENT 0x0194 #define LB_SETCOLUMNWIDTH 0x0195 +#define LB_ADDFILE 0x0196 #define LB_SETTOPINDEX 0x0197 #define LB_GETITEMRECT 0x0198 #define LB_GETITEMDATA 0x0199 #define LB_SETITEMDATA 0x019A #define LB_SELITEMRANGE 0x019B +#define LB_SETANCHORINDEX 0x019C +#define LB_GETANCHORINDEX 0x019D +#define LB_SETCARETINDEX 0x019E +#define LB_GETCARETINDEX 0x019F #define LB_SETITEMHEIGHT 0x01A0 #define LB_GETITEMHEIGHT 0x01A1 -#define LB_MSGMAX 0x01A2 +#define LB_FINDSTRINGEXACT 0x01A2 +#define LB_SETLOCALE 0x01A5 +#define LB_GETLOCALE 0x01A6 +#define LB_SETCOUNT 0x01A7 +#define LB_MSGMAX 0x01A8 -#endif /* NOWINMESSAGES */ +#endif /* !NOWINMESSAGES */ #ifndef NOWINSTYLES -/* Listbox Styles */ +/* + * Listbox Styles + */ #define LBS_NOTIFY 0x0001L #define LBS_SORT 0x0002L #define LBS_NOREDRAW 0x0004L @@ -3647,18 +5293,23 @@ DlgDirSelectComboBoxExW( #define LBS_WANTKEYBOARDINPUT 0x0400L #define LBS_EXTENDEDSEL 0x0800L #define LBS_DISABLENOSCROLL 0x1000L +#define LBS_NODATA 0x2000L #define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER) -#endif /* NOWINSTYLES */ +#endif /* !NOWINSTYLES */ -/* Combo Box return Values */ +/* + * Combo Box return Values + */ #define CB_OKAY 0 #define CB_ERR (-1) #define CB_ERRSPACE (-2) -/* Combo Box Notification Codes */ +/* + * Combo Box Notification Codes + */ #define CBN_ERRSPACE (-1) #define CBN_SELCHANGE 1 #define CBN_DBLCLK 2 @@ -3668,8 +5319,12 @@ DlgDirSelectComboBoxExW( #define CBN_EDITUPDATE 6 #define CBN_DROPDOWN 7 #define CBN_CLOSEUP 8 +#define CBN_SELENDOK 9 +#define CBN_SELENDCANCEL 10 -/* Combo Box styles */ +/* + * Combo Box styles + */ #ifndef NOWINSTYLES #define CBS_SIMPLE 0x0001L #define CBS_DROPDOWN 0x0002L @@ -3682,10 +5337,12 @@ DlgDirSelectComboBoxExW( #define CBS_HASSTRINGS 0x0200L #define CBS_NOINTEGRALHEIGHT 0x0400L #define CBS_DISABLENOSCROLL 0x0800L -#endif /* NOWINSTYLES */ +#endif /* !NOWINSTYLES */ -/* Combo Box messages */ +/* + * Combo Box messages + */ #ifndef NOWINMESSAGES #define CB_GETEDITSEL 0x0140 #define CB_LIMITTEXT 0x0141 @@ -3711,14 +5368,19 @@ DlgDirSelectComboBoxExW( #define CB_SETEXTENDEDUI 0x0155 #define CB_GETEXTENDEDUI 0x0156 #define CB_GETDROPPEDSTATE 0x0157 -#define CB_MSGMAX 0x0158 -#endif /* NOWINMESSAGES */ +#define CB_FINDSTRINGEXACT 0x0158 +#define CB_SETLOCALE 0x0159 +#define CB_GETLOCALE 0x015a +#define CB_MSGMAX 0x015b +#endif /* !NOWINMESSAGES */ #ifndef NOWINSTYLES -/* Scroll Bar Styles */ +/* + * Scroll Bar Styles + */ #define SBS_HORZ 0x0000L #define SBS_VERT 0x0001L #define SBS_TOPALIGN 0x0002L @@ -3728,56 +5390,63 @@ DlgDirSelectComboBoxExW( #define SBS_SIZEBOXTOPLEFTALIGN 0x0002L #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L #define SBS_SIZEBOX 0x0008L -#endif /* NOWINSTYLES */ +#endif /* !NOWINSTYLES */ -/* Scroll bar messages */ +/* + * Scroll bar messages + */ #ifndef NOWINMESSAGES -#define SBM_SETPOS 0x00E0 -#define SBM_GETPOS 0x00E1 -#define SBM_SETRANGE 0x00E2 -#define SBM_GETRANGE 0x00E3 -#define SBM_ENABLE_ARROWS 0x00E4 -#endif -#endif /* NOCTLMGR */ +#define SBM_SETPOS 0x00E0 /*not in win3.1 */ +#define SBM_GETPOS 0x00E1 /*not in win3.1 */ +#define SBM_SETRANGE 0x00E2 /*not in win3.1 */ +#define SBM_SETRANGEREDRAW 0x00E6 /*not in win3.1 */ +#define SBM_GETRANGE 0x00E3 /*not in win3.1 */ +#define SBM_ENABLE_ARROWS 0x00E4 /*not in win3.1 */ +#endif /* !NOWINMESSAGES */ +#endif /* !NOCTLMGR */ #ifndef NOMDI -/* MDI client style bits */ +/* + * MDI client style bits + */ #define MDIS_ALLCHILDSTYLES 0x0001 -/* wParam Flags for WM_MDITILE and WM_MDICASCADE messages. */ -#define MDITILE_VERTICAL 0x0000 -#define MDITILE_HORIZONTAL 0x0001 -#define MDITILE_SKIPDISABLED 0x0002 +/* + * wParam Flags for WM_MDITILE and WM_MDICASCADE messages. + */ +#define MDITILE_VERTICAL 0x0000 /*not in win3.1 */ +#define MDITILE_HORIZONTAL 0x0001 /*not in win3.1 */ +#define MDITILE_SKIPDISABLED 0x0002 /*not in win3.1 */ typedef struct tagMDICREATESTRUCTA { - LPSTRID szClass; - LPSTRNULL szTitle; + LPCSTR szClass; + LPCSTR szTitle; HANDLE hOwner; int x; int y; int cx; int cy; - LONG style; - LONG lParam; /* app-defined stuff */ + DWORD style; + LPARAM lParam; /* app-defined stuff */ } MDICREATESTRUCTA, *LPMDICREATESTRUCTA; typedef struct tagMDICREATESTRUCTW { - LPWSTRID szClass; - LPWSTRNULL szTitle; + LPCWSTR szClass; + LPCWSTR szTitle; HANDLE hOwner; int x; int y; int cx; int cy; - LONG style; - LONG lParam; /* app-defined stuff */ + DWORD style; + LPARAM lParam; /* app-defined stuff */ } MDICREATESTRUCTW, *LPMDICREATESTRUCTW; #ifdef UNICODE -#define MDICREATESTRUCT MDICREATESTRUCTW -#define LPMDICREATESTRUCT LPMDICREATESTRUCTW +typedef MDICREATESTRUCTW MDICREATESTRUCT; +typedef LPMDICREATESTRUCTW LPMDICREATESTRUCT; #else -#define MDICREATESTRUCT MDICREATESTRUCTA -#define LPMDICREATESTRUCT LPMDICREATESTRUCTA +typedef MDICREATESTRUCTA MDICREATESTRUCT; +typedef LPMDICREATESTRUCTA LPMDICREATESTRUCT; #endif // UNICODE typedef struct tagCLIENTCREATESTRUCT { @@ -3785,94 +5454,200 @@ typedef struct tagCLIENTCREATESTRUCT { UINT idFirstChild; } CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT; -LONG APIENTRY CRITICAL XXX DefFrameProcA(IN HWND hWnd, IN HWND hWndMDIClient OPTIONAL, IN UINT wMsg, IN DWORD wParam, IN LONG lParam); -LONG APIENTRY CRITICAL XXX DefFrameProcW(IN HWND hWnd, IN HWND hWndMDIClient OPTIONAL, IN UINT wMsg, IN DWORD wParam, IN LONG lParam); -#ifdef UNICODE -#define DefFrameProc DefFrameProcW -#else -#define DefFrameProc DefFrameProcA -#endif // !UNICODE -LONG APIENTRY CRITICAL XXX DefMDIChildProcA(IN HWND hWnd, IN UINT wMsg, IN DWORD wParam, IN LONG lParam); -LONG APIENTRY CRITICAL XXX DefMDIChildProcW(IN HWND hWnd, IN UINT wMsg, IN DWORD wParam, IN LONG lParam); +LRESULT +WINAPI +DefFrameProcA( + HWND hWnd, + HWND hWndMDIClient , + UINT uMsg, + WPARAM wParam, + LPARAM lParam); +LRESULT +WINAPI +DefFrameProcW( + HWND hWnd, + HWND hWndMDIClient , + UINT uMsg, + WPARAM wParam, + LPARAM lParam); +#ifdef UNICODE +#define DefFrameProc DefFrameProcW +#else +#define DefFrameProc DefFrameProcA +#endif // !UNICODE + +LRESULT +WINAPI +DefMDIChildProcA( + HWND hWnd, + UINT uMsg, + WPARAM wParam, + LPARAM lParam); +LRESULT +WINAPI +DefMDIChildProcW( + HWND hWnd, + UINT uMsg, + WPARAM wParam, + LPARAM lParam); #ifdef UNICODE -#define DefMDIChildProc DefMDIChildProcW +#define DefMDIChildProc DefMDIChildProcW #else -#define DefMDIChildProc DefMDIChildProcA +#define DefMDIChildProc DefMDIChildProcA #endif // !UNICODE #ifndef NOMSG -BOOL APIENTRY CRITICAL XXX TranslateMDISysAccel(IN HWND hWndClient, IN LPMSG lpMsg); -#endif -UINT APIENTRY CRITICAL XXX ArrangeIconicWindows(IN HWND hWnd); +BOOL +WINAPI +TranslateMDISysAccel( + HWND hWndClient, + LPMSG lpMsg); -#endif /* NOMDI */ +#endif /* !NOMSG */ -#endif /* NOUSER */ +UINT +WINAPI +ArrangeIconicWindows( + HWND hWnd); -#ifndef NOHELP +HWND +WINAPI +CreateMDIWindowA( + LPSTR lpClassName, + LPSTR lpWindowName, + DWORD dwStyle, + int X, + int Y, + int nWidth, + int nHeight, + HWND hWndParent, + HINSTANCE hInstance, + LPARAM lParam + ); +HWND +WINAPI +CreateMDIWindowW( + LPWSTR lpClassName, + LPWSTR lpWindowName, + DWORD dwStyle, + int X, + int Y, + int nWidth, + int nHeight, + HWND hWndParent, + HINSTANCE hInstance, + LPARAM lParam + ); +#ifdef UNICODE +#define CreateMDIWindow CreateMDIWindowW +#else +#define CreateMDIWindow CreateMDIWindowA +#endif // !UNICODE + +#endif /* !NOMDI */ +#endif /* !NOUSER */ -/* Help engine section. */ +/****** Help support ********************************************************/ + +#ifndef NOHELP typedef DWORD HELPPOLY; -typedef struct tagMULTIKEYHELP { +typedef struct tagMULTIKEYHELPA { DWORD mkSize; - BYTE mkKeylist; - BYTE szKeyphrase[1]; -} MULTIKEYHELP; - -// -// Commands to pass WinHelp() -// - -#define HELP_CONTEXT 0x0001L /* Display topic in ulTopic */ -#define HELP_QUIT 0x0002L /* Terminate help */ -#define HELP_INDEX 0x0003L /* Display index */ -#define HELP_HELPONHELP 0x0004L /* Display help on using help */ -#define HELP_SETINDEX 0x0005L /* Set the current Index for multi index help */ -#define HELP_KEY 0x0101L /* Display topic for keyword in offabData */ -#define HELP_MULTIKEY 0x0201L + CHAR mkKeylist; + CHAR szKeyphrase[1]; +} MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA; +typedef struct tagMULTIKEYHELPW { + DWORD mkSize; + WCHAR mkKeylist; + WCHAR szKeyphrase[1]; +} MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW; +#ifdef UNICODE +typedef MULTIKEYHELPW MULTIKEYHELP; +typedef PMULTIKEYHELPW PMULTIKEYHELP; +typedef LPMULTIKEYHELPW LPMULTIKEYHELP; +#else +typedef MULTIKEYHELPA MULTIKEYHELP; +typedef PMULTIKEYHELPA PMULTIKEYHELP; +typedef LPMULTIKEYHELPA LPMULTIKEYHELP; +#endif // UNICODE + +typedef struct tagHELPWININFOA { + int wStructSize; + int x; + int y; + int dx; + int dy; + int wMax; + CHAR rgchMember[2]; +} HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA; +typedef struct tagHELPWININFOW { + int wStructSize; + int x; + int y; + int dx; + int dy; + int wMax; + WCHAR rgchMember[2]; +} HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW; +#ifdef UNICODE +typedef HELPWININFOW HELPWININFO; +typedef PHELPWININFOW PHELPWININFO; +typedef LPHELPWININFOW LPHELPWININFO; +#else +typedef HELPWININFOA HELPWININFO; +typedef PHELPWININFOA PHELPWININFO; +typedef LPHELPWININFOA LPHELPWININFO; +#endif // UNICODE + +/* + * Commands to pass to WinHelp() + */ +#define HELP_CONTEXT 0x0001L /* Display topic in ulTopic */ +#define HELP_QUIT 0x0002L /* Terminate help */ +#define HELP_INDEX 0x0003L /* Display index */ +#define HELP_CONTENTS 0x0003L +#define HELP_HELPONHELP 0x0004L /* Display help on using help */ +#define HELP_SETINDEX 0x0005L /* Set current Index for multi index help */ +#define HELP_SETCONTENTS 0x0005L +#define HELP_CONTEXTPOPUP 0x0008L +#define HELP_FORCEFILE 0x0009L +#define HELP_KEY 0x0101L /* Display topic for keyword in offabData */ +#define HELP_COMMAND 0x0102L +#define HELP_PARTIALKEY 0x0105L +#define HELP_MULTIKEY 0x0201L +#define HELP_SETWINPOS 0x0203L + BOOL -APIENTRY CRITICAL XXX +WINAPI WinHelpA( - IN HWND hwndMain, - IN LPSTR lpszHelp, - IN DWORD dwCommand, - IN HELPPOLY dwData + HWND hWndMain, + LPCSTR lpszHelp, + UINT uCommand, + DWORD dwData ); BOOL -APIENTRY CRITICAL XXX +WINAPI WinHelpW( - IN HWND hwndMain, - IN LPWSTR lpszHelp, - IN DWORD dwCommand, - IN HELPPOLY dwData + HWND hWndMain, + LPCWSTR lpszHelp, + UINT uCommand, + DWORD dwData ); #ifdef UNICODE -#define WinHelp WinHelpW +#define WinHelp WinHelpW #else -#define WinHelp WinHelpA +#define WinHelp WinHelpA #endif // !UNICODE -#endif /* NOHELP */ - -#ifndef NOPROFILER - -/* function declarations for profiler routines contained in Windows libraries */ -int APIENTRY ProfInsChk(void); -void APIENTRY ProfSetup(int,int); -void APIENTRY ProfSampRate(int,int); -void APIENTRY ProfStart(void); -void APIENTRY ProfStop(void); -void APIENTRY ProfClear(void); -void APIENTRY ProfFlush(void); -void APIENTRY ProfFinish(void); - -#endif /* NOPROFILER */ +#endif /* !NOHELP */ #ifndef NOSYSPARAMSINFO -/* Parameter for SystemParametersInfo() */ +/* + * Parameter for SystemParametersInfo() + */ #define SPI_GETBEEP 1 #define SPI_SETBEEP 2 @@ -3880,8 +5655,6 @@ void APIENTRY ProfFinish(void); #define SPI_SETMOUSE 4 #define SPI_GETBORDER 5 #define SPI_SETBORDER 6 -#define SPI_TIMEOUTS 7 -#define SPI_KANJIMENU 8 /*; Internal */ #define SPI_GETKEYBOARDSPEED 10 #define SPI_SETKEYBOARDSPEED 11 #define SPI_LANGDRIVER 12 @@ -3906,14 +5679,42 @@ void APIENTRY ProfFinish(void); #define SPI_GETICONTITLELOGFONT 31 #define SPI_SETDOUBLECLICKTIME 32 #define SPI_SETMOUSEBUTTONSWAP 33 +#define SPI_SETICONTITLELOGFONT 34 +#define SPI_GETFASTTASKSWITCH 35 +#define SPI_SETFASTTASKSWITCH 36 - -BOOL CRITICAL XXX SystemParametersInfo(UINT, UINT, LONG, UINT); - -/* Flags */ +/* + * Flags + */ #define SPIF_UPDATEINIFILE 0x0001 #define SPIF_SENDWININICHANGE 0x0002 -#endif /* NOSYSPARAMSINFO */ -#endif // _WINUSER_ +BOOL +WINAPI +SystemParametersInfoA( + UINT uiAction, + UINT uiParam, + PVOID pvParam, + UINT fWinIni); +BOOL +WINAPI +SystemParametersInfoW( + UINT uiAction, + UINT uiParam, + PVOID pvParam, + UINT fWinIni); +#ifdef UNICODE +#define SystemParametersInfo SystemParametersInfoW +#else +#define SystemParametersInfo SystemParametersInfoA +#endif // !UNICODE + +#endif /* !NOSYSPARAMSINFO */ + + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* !_WINUSER_ */