The EnumSystemLocales function enumerates the locales that are either installed on or supported by a system. The dwFlags parameter determines whether the function enumerates installed or supported system locales. The function enumerates locales by passing locale identifiers, one at a time, to the specified application-defined callback function. This continues until all of the installed or supported locale identifiers have been passed to the callback function or the callback function returns FALSE.
BOOL EnumSystemLocales(
LOCALE_ENUMPROC lpLocaleEnumProc, |
// pointer to enumeration callback function |
DWORD dwFlags |
// indicates which locales to enumerate |
); |
Value |
Meaning |
LCID_INSTALLED |
Enumerate only installed locale identifiers. |
LCID_SUPPORTED |
Enumerate all supported locale identifiers. |
LCID_ALTERNATE_SORTS |
Enumerate only the alternate sorts. If this flag is used by itself, then only the alternate sort locale IDs will be returned. If this flag is used with either LCID_INSTALLED or LCID_SUPPORTED, then the installed or supported locales will be returned as well as the alternate sort locale IDs. |
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_PARAMETER
ERROR_BADDB
ERROR_INVALID FLAGS
The LCID_INSTALLED and LCID_SUPPORTED flags are mutually exclusive.