Función GetUserPreferredUILanguages (winnls.h)

Recupera información sobre la configuración de idioma para mostrar. Para obtener más información, consulte User Interface Language Management.

Sintaxis

BOOL GetUserPreferredUILanguages(
  [in]            DWORD   dwFlags,
  [out]           PULONG  pulNumLanguages,
  [out, optional] PZZWSTR pwszLanguagesBuffer,
  [in, out]       PULONG  pcchLanguagesBuffer
);

Parámetros

[in] dwFlags

Marcas que identifican el formato de idioma y el filtrado. Las marcas siguientes especifican el formato de idioma que se va a usar para la lista de idiomas para mostrar. Las marcas son mutuamente excluyentes y el valor predeterminado es MUI_LANGUAGE_NAME.

Valor Significado
MUI_LANGUAGE_ID Recuperar las cadenas de idioma en el identificador de idioma
MUI_LANGUAGE_NAME Recupere las cadenas de idioma en formato de nombre de idioma .

[out] pulNumLanguages

Puntero al número de idiomas recuperados en pwszLanguagesBuffer.

[out, optional] pwszLanguagesBuffer

Opcional. Puntero a un búfer en el que esta función recupera una lista de idioma para mostrar ordenada y delimitada por null, en el formato especificado por dwflags. Esta lista termina con dos caracteres NULL.

Como alternativa, si este parámetro se establece en NULL y pcchLanguagesBuffer se establece en 0, la función recupera el tamaño necesario del búfer de idioma en pcchLanguagesBuffer. El tamaño necesario incluye los dos caracteres NULL.

[in, out] pcchLanguagesBuffer

Puntero al tamaño, en caracteres, para el búfer de idioma indicado por pwszLanguagesBuffer. Si la función se devuelve correctamente, el parámetro contiene el tamaño del búfer de idioma recuperado.

Como alternativa, si este parámetro se establece en 0 y pwszLanguagesBuffer se establece en NULL, la función recupera el tamaño necesario del búfer de idioma en pcchLanguagesBuffer.

Valor devuelto

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

  • ERROR_INSUFFICIENT_BUFFER. Un tamaño de búfer proporcionado no era lo suficientemente grande o se estableció incorrectamente en NULL.

Si se produce un error en la función por cualquier otro motivo, los valores de pulNumLanguages y pcchLanguagesBuffer no están definidos.

Comentarios

Cuando se especifica MUI_LANGUAGE_ID, las cadenas de idioma recuperadas serán identificadores de idioma hexadecimales que no incluyen el 0x inicial y tendrán 4 caracteres de longitud. Por ejemplo, en-US se devolverá como "0409" y en como "0009".

El idioma para mostrar no puede incluir más de un idioma de Paquete de interfaz de idiomas (LIP) que corresponda a una configuración regional complementaria. Si la lista incluye más de uno de estos idiomas y si la aplicación especifica MUI_LANGUAGE_ID en la llamada a la función, el búfer de idioma contiene "1400" para ese idioma. Esta cadena corresponde al valor hexadecimal de LOCALE_CUSTOM_UI_DEFAULT.

La lista de lenguajes recuperada por esta función tiene las siguientes características:

  • Cada idioma representa una configuración regional NLS válida.
  • Cada idioma se instala en el sistema operativo.
  • La lista contiene una entrada para cada idioma, sin entradas duplicadas.
  • Si la lista está vacía o no cumple estos criterios de validación, se usa en su lugar la lista de idiomas de interfaz de usuario preferidos del sistema.

Firma de C#

[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
        static extern System.Boolean GetUserPreferredUILanguages(
            System.UInt32 dwFlags,
            ref System.UInt32 pulNumLanguages,
            System.IntPtr pwszLanguagesBuffer,
            ref System.UInt32 pcchLanguagesBuffer
            );

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winnls.h (incluya Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Función GetSystemPreferredUILanguages, Función GetThreadPreferredUILanguages, Función GetThreadUILanguage, Función SetThreadPreferredUILanguages, Interfaz de usuario multilingüe, Funciones de interfaz de usuario multilingüe