Función GetProcessPreferredUILanguages (winnls.h)

Recupera los idiomas de interfaz de usuario preferidos del proceso. Para obtener más información, consulte Administración de lenguajes de la interfaz de usuario.

Sintaxis

BOOL GetProcessPreferredUILanguages(
  [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 que se va a usar para los idiomas de interfaz de usuario preferidos del proceso. Las marcas son mutuamente excluyentes y el valor predeterminado es MUI_LANGUAGE_NAME.

Value Significado
MUI_LANGUAGE_ID
Recupere las cadenas de idioma en formato de 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 doble búfer de varias cadenas terminada en null en el que la función recupera una lista ordenada delimitada por null en orden de preferencia, empezando por la más preferible.

Como alternativa, si este parámetro se establece en NULL y pcchLanguagesBuffer está establecido 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 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_INSUFFICIENT_BUFFER. Un tamaño de búfer proporcionado no era lo suficientemente grande o se estableció incorrectamente en NULL.
  • ERROR_INVALID_PARAMETER. Cualquiera de los valores de parámetro no era válido.
Si la lista de idiomas de la interfaz de usuario preferida del proceso está vacía o si los idiomas especificados para el proceso no son válidos, la función se realiza correctamente y devuelve una multicadena vacía en pwszLanguagesBuffer y 2 en el parámetro pcchLanguagesBuffer .

Comentarios

En función de las marcas especificadas por la aplicación, esta función puede recuperar una lista que consta de los lenguajes de interfaz de usuario preferidos del proceso. Si encuentra un lenguaje duplicado, la función solo recupera la primera instancia del idioma duplicado.

Cuando se especifica MUI_LANGUAGE_ID, las cadenas de idioma recuperadas serán identificadores de idioma hexadecimales.

que no incluyan el 0x inicial y tendrán 4 caracteres de longitud. Por ejemplo, se devolverá en-US.

como "0409" y en como "0009".

Nota Se recomienda el uso de MUI_LANGUAGE_NAME en MUI_LANGUAGE_ID.
 

Firma de C#

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

Requisitos

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

Vea también

Interfaz de usuario multilingüe

Funciones de interfaz de usuario multilingüe

SetProcessPreferredUILanguages