EnumSystemLanguageGroupsA function (winnls.h)

Enumerates the language groups that are either installed on or supported by an operating system.

Note  For custom locales, your application should call EnumSystemLocalesEx instead of EnumSystemLanguageGroups.



BOOL EnumSystemLanguageGroupsA(
  [in] LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc,
  [in] DWORD                   dwFlags,
  [in] LONG_PTR                lParam


[in] lpLanguageGroupEnumProc

Pointer to an application-defined callback function. For more information, see EnumLanguageGroupsProc.

[in] dwFlags

Flags specifying the language group identifiers to enumerate. This parameter can have one of the following values.

Value Meaning
Enumerate only installed language group identifiers.
Enumerate all supported language group identifiers.

[in] lParam

Application-defined value to pass to the callback function. This parameter can be used in error checking. It can also be used to ensure thread safety in the callback function.

Return value

Returns TRUE if successful or FALSE otherwise. To get extended error information, the application can call GetLastError, which can return one of the following error codes:

  • ERROR_BADDB. The function could not access the data. This situation should not normally occur, and typically indicates a bad installation, a disk problem, or the like.
  • ERROR_INVALID_FLAGS. The values supplied for flags were not valid.
  • ERROR_INVALID_PARAMETER. Any of the parameter values was invalid.


This function enumerates language groups by passing language group identifiers, one at a time, to the specified application-defined callback function. This process continues until the last language group identifier is found or the callback function returns FALSE.


The winnls.h header defines EnumSystemLanguageGroups as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.


Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header winnls.h (include Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

See also




National Language Support

National Language Support Functions