mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 01:24:38 +00:00
Don't retrieve the system locale id from the registry, use ZwQueryDefaultLocale instead.
svn path=/trunk/; revision=11667
This commit is contained in:
parent
f838190b50
commit
4d1046ee76
1 changed files with 16 additions and 18 deletions
|
@ -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: keyboard.c,v 1.31 2004/07/08 12:55:01 navaraf Exp $
|
||||
/* $Id: keyboard.c,v 1.32 2004/11/15 14:40:14 ekohl Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -486,14 +486,15 @@ NTSTATUS STDCALL LdrGetProcedureAddress(PVOID module,
|
|||
DWORD flags,
|
||||
PVOID *func_addr);
|
||||
|
||||
void InitKbdLayout( PVOID *pkKeyboardLayout ) {
|
||||
UNICODE_STRING KeyName;
|
||||
UNICODE_STRING ValueName;
|
||||
void InitKbdLayout( PVOID *pkKeyboardLayout )
|
||||
{
|
||||
WCHAR LocaleBuffer[16];
|
||||
UNICODE_STRING LayoutKeyName;
|
||||
UNICODE_STRING LayoutValueName;
|
||||
UNICODE_STRING DefaultLocale;
|
||||
UNICODE_STRING LayoutFile;
|
||||
UNICODE_STRING FullLayoutPath;
|
||||
LCID LocaleId;
|
||||
PWCHAR KeyboardLayoutWSTR;
|
||||
HMODULE kbModule = 0;
|
||||
NTSTATUS Status;
|
||||
|
@ -503,20 +504,18 @@ void InitKbdLayout( PVOID *pkKeyboardLayout ) {
|
|||
#define XX_STATUS(x) if (!NT_SUCCESS(Status = (x))) continue;
|
||||
|
||||
do {
|
||||
RtlInitUnicodeString(&KeyName,
|
||||
L"\\REGISTRY\\Machine\\SYSTEM\\CurrentControlSet"
|
||||
L"\\Control\\Nls\\Locale");
|
||||
RtlInitUnicodeString(&ValueName,
|
||||
L"(Default)");
|
||||
|
||||
DPRINT("KeyName = %wZ, ValueName = %wZ\n", &KeyName, &ValueName);
|
||||
Status = ZwQueryDefaultLocale(FALSE, &LocaleId);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("Could not get default locale (%08lx).\n", Status);
|
||||
}
|
||||
else
|
||||
{
|
||||
DPRINT1("DefaultLocale = %lx\n", LocaleId);
|
||||
|
||||
Status = ReadRegistryValue(&KeyName,&ValueName,&DefaultLocale);
|
||||
|
||||
if( !NT_SUCCESS(Status) ) {
|
||||
DPRINT1( "Could not get default locale (%08x).\n", Status );
|
||||
} else {
|
||||
DPRINT( "DefaultLocale = %wZ\n", &DefaultLocale );
|
||||
swprintf(LocaleBuffer, L"%08lx", LocaleId);
|
||||
DPRINT1("DefaultLocale = %S\n", LocaleBuffer);
|
||||
RtlInitUnicodeString(&DefaultLocale, LocaleBuffer);
|
||||
|
||||
RtlInitUnicodeString(&LayoutKeyName,
|
||||
L"\\REGISTRY\\Machine\\SYSTEM\\CurrentControlSet"
|
||||
|
@ -524,7 +523,6 @@ void InitKbdLayout( PVOID *pkKeyboardLayout ) {
|
|||
|
||||
AppendUnicodeString(&LayoutKeyName,&DefaultLocale,FALSE);
|
||||
|
||||
RtlFreeUnicodeString(&DefaultLocale);
|
||||
RtlInitUnicodeString(&LayoutValueName,L"Layout File");
|
||||
|
||||
Status = ReadRegistryValue(&LayoutKeyName,&LayoutValueName,&LayoutFile);
|
||||
|
|
Loading…
Reference in a new issue