The SetLocaleInfo function sets an item of locale information. It does so by making an entry in the process portion of the locale table. This setting only affects the user override portion of the locale settings; it does not set the system defaults.
Only certain types of locale information, or LCTYPE values, can be set by this function. See the following Remarks section for a list of valid LCTYPE values.
The locale information is always passed in as a null-terminated Unicode string in the Unicode (W) version of the function, and as a null-terminated ANSI string in the ANSI (A) version. No integers are allowed by this function; any numeric values must be specified as Unicode or ANSI text. Each LCTYPE has a particular format, as noted in Locale Identifiers.
BOOL SetLocaleInfo(
LCID Locale, // locale identifier
LCTYPE LCType, // type of information to set
LPCTSTR lpLCData // pointer to information to set
);
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError. GetLastError may return one of the following error codes:
ERROR_INVALID_ACCESS
ERROR_INVALID_FLAGS
ERROR_INVALID_PARAMETER
The following LCTYPE values are valid for this function:
LOCALE_ICALENDARTYPE | LOCALE_SDATE |
LOCALE_ICURRDIGITS | LOCALE_SDECIMAL |
LOCALE_ICURRENCY | LOCALE_SGROUPING |
LOCALE_IDIGITS | LOCALE_SLIST |
LOCALE_IFIRSTDAYOFWEEK | LOCALE_SLONGDATE |
LOCALE_IFIRSTWEEKOFYEAR | LOCALE_SMONDECIMALSEP |
LOCALE_ILZERO | LOCALE_SMONGROUPING |
LOCALE_IMEASURE | LOCALE_SMONTHOUSANDSEP |
LOCALE_INEGCURR | LOCALE_SNEGATIVESIGN |
LOCALE_INEGNUMBER | LOCALE_SPOSITIVESIGN |
LOCALE_IPAPERSIZE | LOCALE_SSHORTDATE |
LOCALE_ITIME | LOCALE_STHOUSAND |
LOCALE_S1159 | LOCALE_STIME |
LOCALE_S2359 | LOCALE_STIMEFORMAT |
LOCALE_SCURRENCY | LOCALE_SYEARMONTH |
Windows CE: Windows CE supports an additional LCTYPE value, LOCALE_SYEARMONTH. Windows CE does not support the LOCALE_IPAPERSIZE value.
Windows NT: Requires version 3.5 or later.
Windows: Requires Windows 95 or later.
Windows CE: Requires version 1.0 or later.
Header: Declared in winnls.h.
Import Library: Use kernel32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT.
National Language Support Overview, National Language Support Functions, GetLocaleInfo