UILANGUAGE_ENUMPROCW callback function (winnls.h)

An application-defined callback function that processes enumerated user interface language information provided by the EnumUILanguages function. The UILANGUAGE_ENUMPROC type defines a pointer to this callback function. EnumUILanguagesProc is a placeholder for the application-defined function name.



BOOL UilanguageEnumprocw(
  LPWSTR unnamedParam1,
  LONG_PTR unnamedParam2




Return value

Returns TRUE to continue enumeration or FALSE otherwise.


An EnumUILanguagesProc function can carry out any task. The application registers this function by passing its address to the EnumUILanguages function.

If MUI_LANGUAGE_ID was specified in the call to EnumUILanguages, the language strings passed to this function will be hexadecimal language

identifiers that do not include the leading 0x, and will be 4 characters in length. For example, en-US will

be passed as "0409" and en as "0009".

C# Signature

delegate System.Boolean EnumUILanguagesProc(
            System.IntPtr lpUILanguageString,
            System.IntPtr lParam


The winnls.h header defines UILANGUAGE_ENUMPROC 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.


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)

See also


Multilingual User Interface

Multilingual User Interface Functions