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.

svn path=/trunk/; revision=26927
This commit is contained in:
James Tabor 2007-05-27 20:47:12 +00:00
parent eaf620126f
commit d8af591e49
3 changed files with 15 additions and 15 deletions

View file

@ -298,9 +298,9 @@ HKL STDCALL
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 @@ LoadKeyboardLayoutW(LPCWSTR pwszKLID,
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);
}

View file

@ -1229,12 +1229,12 @@ NtUserKillTimer
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

View file

@ -489,12 +489,12 @@ NtUserGetKeyboardLayoutName(
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;