Author: jimtabor Date: Mon May 28 00:47:12 2007 New Revision: 26927
URL: http://svn.reactos.org/svn/reactos?rev=26927&view=rev Log: Fix NtUserLoadKeyboardLayoutEx prototype: - Current prototype breaks compatibility. - This prototype was researched in clean room techniques. - Any questions, please email me, I will write a book to explain these techniques.
Modified: trunk/reactos/dll/win32/user32/windows/input.c trunk/reactos/include/reactos/win32k/ntuser.h trunk/reactos/subsystems/win32/win32k/ntuser/kbdlayout.c
Modified: trunk/reactos/dll/win32/user32/windows/input.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/windows/in... ============================================================================== --- trunk/reactos/dll/win32/user32/windows/input.c (original) +++ trunk/reactos/dll/win32/user32/windows/input.c Mon May 28 00:47:12 2007 @@ -298,9 +298,9 @@ LoadKeyboardLayoutA(LPCSTR pwszKLID, UINT Flags) { - return NtUserLoadKeyboardLayoutEx( + return NtUserLoadKeyboardLayoutEx( NULL, 0, NULL, NULL, strtoul(pwszKLID, NULL, 16), - Flags, 0, 0, 0, 0); + Flags); }
@@ -312,10 +312,10 @@ UINT Flags) { // Look at revision 25596 to see how it's done in windows. - // We will do things our own way. - return NtUserLoadKeyboardLayoutEx( + // We will do things our own way. Also be compatible too! + return NtUserLoadKeyboardLayoutEx( NULL, 0, NULL, NULL, wcstoul(pwszKLID, NULL, 16), - Flags, 0, 0, 0, 0); + Flags); }
Modified: trunk/reactos/include/reactos/win32k/ntuser.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntus... ============================================================================== --- trunk/reactos/include/reactos/win32k/ntuser.h (original) +++ trunk/reactos/include/reactos/win32k/ntuser.h Mon May 28 00:47:12 2007 @@ -1229,12 +1229,12 @@ HKL STDCALL NtUserLoadKeyboardLayoutEx( + IN HANDLE Handle, + IN DWORD offTable, + IN HKL hKL, + IN PUNICODE_STRING puszKLID, IN DWORD dwKLID, - IN UINT Flags, - IN DWORD Unused1, - IN DWORD Unused2, - IN DWORD Unused3, - IN DWORD Unused4); + IN UINT Flags);
BOOL NTAPI
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/kbdlayout.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/kbdlayout.c (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/kbdlayout.c Mon May 28 00:47:12 2007 @@ -489,12 +489,12 @@ HKL STDCALL NtUserLoadKeyboardLayoutEx( + IN HANDLE Handle, + IN DWORD offTable, + IN HKL hKL, + IN PUNICODE_STRING puszKLID, IN DWORD dwKLID, - IN UINT Flags, - IN DWORD Unused1, - IN DWORD Unused2, - IN DWORD Unused3, - IN DWORD Unused4) + IN UINT Flags) { HKL Ret = NULL; PKBL pKbl = NULL, Cur;