Función EnumUILanguagesA (winnls.h)

Enumera los idiomas de la interfaz de usuario que están disponibles en el sistema operativo y llama a la función de devolución de llamada con cada idioma de la lista.

Sintaxis

BOOL EnumUILanguagesA(
  [in] UILANGUAGE_ENUMPROCA lpUILanguageEnumProc,
  [in] DWORD                dwFlags,
  [in] LONG_PTR             lParam
);

Parámetros

[in] lpUILanguageEnumProc

Puntero a una función de devolución de llamada EnumUILanguagesProc definida por la aplicación. EnumUILanguages llama a esta función repetidamente para enumerar los idiomas de la lista.

[in] dwFlags

Marcas que identifican el formato de idioma y el filtrado. Las marcas siguientes especifican el formato del lenguaje que se va a pasar a la función de devolución de llamada. Las marcas de formato son mutuamente excluyentes y MUI_LANGUAGE_ID es el valor predeterminado.

Valor Significado
MUI_LANGUAGE_ID
Pase el identificador de idioma de la cadena de idioma a la función de devolución de llamada.
MUI_LANGUAGE_NAME
Pase el nombre del idioma en la cadena de idioma a la función de devolución de llamada.
 

Las marcas siguientes especifican el filtrado de la función que se va a usar para enumerar los idiomas. Las marcas de filtrado son mutuamente excluyentes y el valor predeterminado es MUI_LICENSED_LANGUAGES.

Valor Significado
MUI_ALL_INSTALLED_LANGUAGES
Enumerar todos los idiomas instalados disponibles para el sistema operativo.
MUI_LICENSED_LANGUAGES
Enumerar todos los idiomas instalados que están disponibles y con licencia para su uso.
MUI_GROUP_POLICY
Enumerar todos los idiomas instalados que están disponibles y con licencia, y que están permitidos por

la directiva de grupo.

 

Windows Vista y versiones posteriores: La aplicación puede establecer dwFlags en 0 o en una o varias de las marcas especificadas. Un valor de 0 hace que el valor del parámetro sea predeterminado MUI_LANGUAGE_ID | MUI_LICENSED_LANGUAGES.

Windows 2000, Windows XP, Windows Server 2003: La aplicación debe establecer dwFlags en 0.

[in] lParam

Valor definido por la aplicación.

Valor devuelto

Devuelve TRUE si es correcto o FALSE en caso contrario. Para obtener información de error extendida, la aplicación puede llamar a GetLastError, que puede devolver uno de los siguientes códigos de error:

  • ERROR_INVALID_FLAGS. Los valores proporcionados para las marcas no eran válidos.
  • ERROR_INVALID_PARAMETER. Cualquiera de los valores de parámetro no era válido.

Comentarios

Esta función enumera los idiomas de la interfaz de usuario que están disponibles y, según la marca especificada, con licencia para su uso en el sistema operativo. Pasa identificadores de idioma o nombres de idioma, de uno en uno, a la función de devolución de llamada EnumUILanguagesProc . La función EnumUILanguages sigue pasando identificadores de idioma o nombres a la función de devolución de llamada hasta que se encuentre el último idioma o la función de devolución de llamada devuelva FALSE.

En el caso de las aplicaciones que solo se ejecutan en Windows Vista y versiones posteriores, se recomienda MUI_LANGUAGE_NAME en MUI_LANGUAGE_ID. MUI_LANGUAGE_NAME permite diferenciar entre idiomas asociados a una configuración regional complementaria.

Si se especifica la marca MUI_LANGUAGE_ID en la llamada a esta función, las cadenas pasadas a la devolución de llamada

la función será identificadores de lenguaje hexadecimal que no incluyen el 0x inicial y será 4.

caracteres de longitud. Por ejemplo, en-US se pasará como "0409" y en como "0009". El valor "1000" se pasa a la función de devolución de llamada para cualquier idioma asociado a una configuración regional complementaria. Este valor corresponde al valor hexadecimal de LOCALE_CUSTOM_UNSPECIFIED. No distingue entre configuraciones regionales complementarias, aunque el idioma seleccionado esté en la lista de idiomas de la interfaz de usuario preferidos por el usuario o en la lista de idiomas de interfaz de usuario preferidos del sistema.

Firma de C#

[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
        static extern System.Boolean EnumUILanguages(
            EnumUILanguagesProc lpUILanguageEnumProc,
            System.UInt32 dwFlags,
            System.IntPtr lParam
            );

Nota

El encabezado winnls.h define EnumUILanguages como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado winnls.h (incluye Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

EnumUILanguagesProc

GetSystemDefaultUILanguage

GetUserDefaultUILanguage

Interfaz de usuario multilingüe

Funciones de interfaz de usuario multilingüe