From 5b1bf6da3be3e39faa5ebf969cb489914acf40c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9=20van=20Geldorp?= Date: Mon, 16 Jun 2003 13:10:01 +0000 Subject: [PATCH] Introduce WNDCLASS(EX)A/W svn path=/trunk/; revision=4897 --- reactos/include/ascii.h | 8 ++-- reactos/include/structs.h | 56 +++++++++++++++++++++++---- reactos/include/unicode.h | 8 ++-- reactos/include/win32k/ntuser.h | 2 +- reactos/lib/user32/windows/class.c | 36 ++++++++--------- reactos/subsys/win32k/include/class.h | 2 +- reactos/subsys/win32k/ntuser/winsta.c | 4 +- 7 files changed, 78 insertions(+), 38 deletions(-) diff --git a/reactos/include/ascii.h b/reactos/include/ascii.h index f239a5ac5f7..2740690669b 100644 --- a/reactos/include/ascii.h +++ b/reactos/include/ascii.h @@ -1201,7 +1201,7 @@ CallWindowProcA( ATOM STDCALL RegisterClassA( - CONST WNDCLASS *lpWndClass); + CONST WNDCLASSA *lpWndClass); WINBOOL STDCALL @@ -1214,15 +1214,15 @@ STDCALL GetClassInfoA( HINSTANCE hInstance , LPCSTR lpClassName, - LPWNDCLASS lpWndClass); + LPWNDCLASSA lpWndClass); ATOM STDCALL -RegisterClassExA(CONST WNDCLASSEX *); +RegisterClassExA(CONST WNDCLASSEXA *); WINBOOL STDCALL -GetClassInfoExA(HINSTANCE, LPCSTR, LPWNDCLASSEX); +GetClassInfoExA(HINSTANCE, LPCSTR, LPWNDCLASSEXA); HWND STDCALL diff --git a/reactos/include/structs.h b/reactos/include/structs.h index e33feb2e9e0..fa69ed4d318 100644 --- a/reactos/include/structs.h +++ b/reactos/include/structs.h @@ -4421,7 +4421,7 @@ typedef struct _WINDOWPLACEMENT { RECT rcNormalPosition; } WINDOWPLACEMENT; -typedef struct _WNDCLASS { +typedef struct _WNDCLASSA { UINT style; WNDPROC lpfnWndProc; int cbClsExtra; @@ -4430,11 +4430,30 @@ typedef struct _WNDCLASS { HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; - LPCTSTR lpszMenuName; - LPCTSTR lpszClassName; -} WNDCLASS, *LPWNDCLASS; + LPCSTR lpszMenuName; + LPCSTR lpszClassName; +} WNDCLASSA, *LPWNDCLASSA; -typedef struct _WNDCLASSEX { +typedef struct _WNDCLASSW { + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HANDLE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCWSTR lpszMenuName; + LPCWSTR lpszClassName; +} WNDCLASSW, *LPWNDCLASSW; + +#ifdef UNICODE +typedef WNDCLASSW WNDCLASS; +#else +typedef WNDCLASSA WNDCLASS; +#endif + +typedef struct _WNDCLASSEXA { UINT cbSize; UINT style; WNDPROC lpfnWndProc; @@ -4444,10 +4463,31 @@ typedef struct _WNDCLASSEX { HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; - LPCTSTR lpszMenuName; - LPCTSTR lpszClassName; + LPCSTR lpszMenuName; + LPCSTR lpszClassName; HICON hIconSm; -} WNDCLASSEX, *LPWNDCLASSEX; +} WNDCLASSEXA, *LPWNDCLASSEXA; + +typedef struct _WNDCLASSEXW { + UINT cbSize; + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HANDLE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCWSTR lpszMenuName; + LPCWSTR lpszClassName; + HICON hIconSm; +} WNDCLASSEXW, *LPWNDCLASSEXW; + +#ifdef UNICODE +typedef WNDCLASSEXW WNDCLASSEX; +#else +typedef WNDCLASSEXA WNDCLASSEX; +#endif typedef struct _CONNECTDLGSTRUCT { DWORD cbStructure; diff --git a/reactos/include/unicode.h b/reactos/include/unicode.h index 13d9ba5b129..e63610fb7f7 100644 --- a/reactos/include/unicode.h +++ b/reactos/include/unicode.h @@ -1198,7 +1198,7 @@ CallWindowProcW( ATOM STDCALL RegisterClassW( - CONST WNDCLASS *lpWndClass); + CONST WNDCLASSW *lpWndClass); WINBOOL STDCALL @@ -1211,15 +1211,15 @@ STDCALL GetClassInfoW( HINSTANCE hInstance , LPCWSTR lpClassName, - LPWNDCLASS lpWndClass); + LPWNDCLASSW lpWndClass); ATOM STDCALL -RegisterClassExW(CONST WNDCLASSEX *); +RegisterClassExW(CONST WNDCLASSEXW *); WINBOOL STDCALL -GetClassInfoExW(HINSTANCE, LPCWSTR, LPWNDCLASSEX); +GetClassInfoExW(HINSTANCE, LPCWSTR, LPWNDCLASSEXW); HWND STDCALL diff --git a/reactos/include/win32k/ntuser.h b/reactos/include/win32k/ntuser.h index 0706b6b0aac..0faad8a0d84 100644 --- a/reactos/include/win32k/ntuser.h +++ b/reactos/include/win32k/ntuser.h @@ -1102,7 +1102,7 @@ NtUserRedrawWindow(HWND hWnd, CONST RECT *lprcUpdate, HRGN hrgnUpdate, UINT flag RTL_ATOM STDCALL NtUserRegisterClassExWOW( - LPWNDCLASSEX lpwcx, + LPWNDCLASSEXW lpwcx, BOOL bUnicodeClass, DWORD Unknown2, DWORD Unknown3, diff --git a/reactos/lib/user32/windows/class.c b/reactos/lib/user32/windows/class.c index a34fbc889b9..e67324e1a53 100644 --- a/reactos/lib/user32/windows/class.c +++ b/reactos/lib/user32/windows/class.c @@ -1,4 +1,4 @@ -/* $Id: class.c,v 1.18 2003/05/17 09:20:23 gvg Exp $ +/* $Id: class.c,v 1.19 2003/06/16 13:10:01 gvg Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS user32.dll @@ -18,7 +18,7 @@ STDCALL GetClassInfoA( HINSTANCE hInstance, LPCSTR lpClassName, - LPWNDCLASS lpWndClass) + LPWNDCLASSA lpWndClass) { UNIMPLEMENTED; return FALSE; @@ -29,7 +29,7 @@ STDCALL GetClassInfoExA( HINSTANCE hinst, LPCSTR lpszClass, - LPWNDCLASSEX lpwcx) + LPWNDCLASSEXA lpwcx) { UNIMPLEMENTED; return FALSE; @@ -40,7 +40,7 @@ STDCALL GetClassInfoExW( HINSTANCE hinst, LPCWSTR lpszClass, - LPWNDCLASSEX lpwcx) + LPWNDCLASSEXW lpwcx) { UNIMPLEMENTED; return FALSE; @@ -51,7 +51,7 @@ STDCALL GetClassInfoW( HINSTANCE hInstance, LPCWSTR lpClassName, - LPWNDCLASS lpWndClass) + LPWNDCLASSW lpWndClass) { UNIMPLEMENTED; return FALSE; @@ -160,22 +160,22 @@ RealGetWindowClassW( } ATOM STDCALL -RegisterClassA(CONST WNDCLASS *lpWndClass) +RegisterClassA(CONST WNDCLASSA *lpWndClass) { - WNDCLASSEX Class; + WNDCLASSEXA Class; RtlMoveMemory(&Class.style, lpWndClass, sizeof(WNDCLASS)); - Class.cbSize = sizeof(WNDCLASSEX); + Class.cbSize = sizeof(WNDCLASSEXA); Class.hIconSm = INVALID_HANDLE_VALUE; return RegisterClassExA(&Class); } ATOM STDCALL -RegisterClassExA(CONST WNDCLASSEX *lpwcx) +RegisterClassExA(CONST WNDCLASSEXA *lpwcx) { UNICODE_STRING MenuName; UNICODE_STRING ClassName; - WNDCLASSEX Class; + WNDCLASSEXW Class; RTL_ATOM Atom; if (!RtlCreateUnicodeStringFromAsciiz(&MenuName, (PCSZ)lpwcx->lpszMenuName)) @@ -192,9 +192,9 @@ RegisterClassExA(CONST WNDCLASSEX *lpwcx) return (ATOM)0; } - RtlMoveMemory(&Class, lpwcx, sizeof(WNDCLASSEX)); - Class.lpszMenuName = (LPCTSTR)MenuName.Buffer; - Class.lpszClassName = (LPCTSTR)ClassName.Buffer; + RtlMoveMemory(&Class, lpwcx, sizeof(WNDCLASSEXA)); + Class.lpszMenuName = MenuName.Buffer; + Class.lpszClassName = ClassName.Buffer; Atom = NtUserRegisterClassExWOW(&Class, FALSE, @@ -210,7 +210,7 @@ RegisterClassExA(CONST WNDCLASSEX *lpwcx) } ATOM STDCALL -RegisterClassExW(CONST WNDCLASSEX *lpwcx) +RegisterClassExW(CONST WNDCLASSEXW *lpwcx) { RTL_ATOM Atom; @@ -225,12 +225,12 @@ RegisterClassExW(CONST WNDCLASSEX *lpwcx) } ATOM STDCALL -RegisterClassW(CONST WNDCLASS *lpWndClass) +RegisterClassW(CONST WNDCLASSW *lpWndClass) { - WNDCLASSEX Class; + WNDCLASSEXW Class; - RtlMoveMemory(&Class.style, lpWndClass, sizeof(WNDCLASS)); - Class.cbSize = sizeof(WNDCLASSEX); + RtlMoveMemory(&Class.style, lpWndClass, sizeof(WNDCLASSW)); + Class.cbSize = sizeof(WNDCLASSEXW); Class.hIconSm = INVALID_HANDLE_VALUE; return RegisterClassExW(&Class); } diff --git a/reactos/subsys/win32k/include/class.h b/reactos/subsys/win32k/include/class.h index 575c1be6d6d..5e301197499 100644 --- a/reactos/subsys/win32k/include/class.h +++ b/reactos/subsys/win32k/include/class.h @@ -34,7 +34,7 @@ NTSTATUS FASTCALL ClassReferenceClassByNameOrAtom(PWNDCLASS_OBJECT *Class, LPWSTR ClassNameOrAtom); PWNDCLASS_OBJECT FASTCALL -W32kCreateClass(LPWNDCLASSEX lpwcx, +W32kCreateClass(LPWNDCLASSEXW lpwcx, BOOL bUnicodeClass); struct _WINDOW_OBJECT; ULONG FASTCALL diff --git a/reactos/subsys/win32k/ntuser/winsta.c b/reactos/subsys/win32k/ntuser/winsta.c index 4ad2afc97e4..7d232364476 100644 --- a/reactos/subsys/win32k/ntuser/winsta.c +++ b/reactos/subsys/win32k/ntuser/winsta.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: winsta.c,v 1.14 2003/06/07 12:23:14 chorns Exp $ +/* $Id: winsta.c,v 1.15 2003/06/16 13:10:01 gvg Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -82,7 +82,7 @@ InitWindowStationImpl(VOID) HANDLE WindowStationsDirectory; UNICODE_STRING UnicodeString; NTSTATUS Status; - WNDCLASSEX wcx; + WNDCLASSEXW wcx; /* * Create the '\Windows\WindowStations' directory