mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
- Fixed querying of thread locale.
svn path=/trunk/; revision=8628
This commit is contained in:
parent
ab9a6623a2
commit
e080b835d0
1 changed files with 36 additions and 2 deletions
|
@ -1,4 +1,4 @@
|
|||
/* $Id: locale.c,v 1.7 2004/02/12 15:55:57 navaraf Exp $
|
||||
/* $Id: locale.c,v 1.8 2004/03/10 20:26:40 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -26,7 +26,7 @@
|
|||
*/
|
||||
LCID PsDefaultThreadLocaleId = 0;
|
||||
LCID PsDefaultSystemLocaleId = 0;
|
||||
|
||||
BOOL PsDefaultThreadLocaleInitialized = FALSE;
|
||||
|
||||
#define VALUE_BUFFER_SIZE 256
|
||||
|
||||
|
@ -96,6 +96,33 @@ PiInitDefaultLocale(VOID)
|
|||
}
|
||||
NtClose(KeyHandle);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VOID STDCALL
|
||||
PiInitThreadLocale(VOID)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* Initializes the default thread locale.
|
||||
* Reads default locale from registry, if available
|
||||
* ARGUMENTS:
|
||||
* None.
|
||||
* Returns:
|
||||
* None.
|
||||
*/
|
||||
{
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
UNICODE_STRING KeyName;
|
||||
UNICODE_STRING ValueName;
|
||||
HANDLE KeyHandle;
|
||||
ULONG ValueLength;
|
||||
UCHAR ValueBuffer[VALUE_BUFFER_SIZE];
|
||||
PKEY_VALUE_PARTIAL_INFORMATION ValueInfo;
|
||||
UNICODE_STRING ValueString;
|
||||
ULONG LocaleValue;
|
||||
NTSTATUS Status;
|
||||
|
||||
ValueInfo = (PKEY_VALUE_PARTIAL_INFORMATION)ValueBuffer;
|
||||
|
||||
/* read default thread locale */
|
||||
RtlRosInitUnicodeStringFromLiteral(&KeyName,
|
||||
|
@ -136,6 +163,8 @@ PiInitDefaultLocale(VOID)
|
|||
}
|
||||
NtClose(KeyHandle);
|
||||
}
|
||||
|
||||
PsDefaultThreadLocaleInitialized = TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
@ -158,6 +187,10 @@ NtQueryDefaultLocale(IN BOOLEAN ThreadOrSystem,
|
|||
|
||||
if (ThreadOrSystem == TRUE)
|
||||
{
|
||||
if (PsDefaultThreadLocaleInitialized == FALSE)
|
||||
{
|
||||
PiInitThreadLocale();
|
||||
}
|
||||
/* set thread locale */
|
||||
*DefaultLocaleId = PsDefaultThreadLocaleId;
|
||||
}
|
||||
|
@ -259,6 +292,7 @@ NtSetDefaultLocale(IN BOOLEAN ThreadOrSystem,
|
|||
/* set thread locale */
|
||||
DPRINT("Thread locale: %08lu\n", DefaultLocaleId);
|
||||
PsDefaultThreadLocaleId = DefaultLocaleId;
|
||||
PsDefaultThreadLocaleInitialized = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue