[ros-diffs] [jimtabor] 26927: 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.

jimtabor at svn.reactos.org jimtabor at svn.reactos.org
Sun May 27 22:47:13 CEST 2007


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/input.c?rev=26927&r1=26926&r2=26927&view=diff
==============================================================================
--- 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/ntuser.h?rev=26927&r1=26926&r2=26927&view=diff
==============================================================================
--- 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/ntuser/kbdlayout.c?rev=26927&r1=26926&r2=26927&view=diff
==============================================================================
--- 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;




More information about the Ros-diffs mailing list