Função GetUserPreferredUILanguages (winnls.h)

Recupera informações sobre a configuração do idioma de exibição. Para obter mais informações, consulte Gerenciamento de linguagem de interface do usuário.

Sintaxe

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

Parâmetros

[in] dwFlags

Sinalizadores que identificam o formato de linguagem e a filtragem. Os sinalizadores a seguir especificam o formato de idioma a ser usado para a lista de idiomas de exibição. Os sinalizadores são mutuamente exclusivos e o padrão é MUI_LANGUAGE_NAME.

Valor Significado
MUI_LANGUAGE_ID Recuperar as cadeias de caracteres de idioma no identificador de idioma
MUI_LANGUAGE_NAME Recupere as cadeias de caracteres de idioma no formato de nome do idioma .

[out] pulNumLanguages

Ponteiro para o número de idiomas recuperados em pwszLanguagesBuffer.

[out, optional] pwszLanguagesBuffer

Opcional. Ponteiro para um buffer no qual essa função recupera uma lista de idiomas de exibição ordenada e delimitada por nulo, no formato especificado por dwflags. Essa lista termina com dois caracteres nulos.

Como alternativa, se esse parâmetro for definido como NULL e pcchLanguagesBuffer estiver definido como 0, a função recuperará o tamanho necessário do buffer de idioma no pcchLanguagesBuffer. O tamanho necessário inclui os dois caracteres nulos.

[in, out] pcchLanguagesBuffer

Ponteiro para o tamanho, em caracteres, para o buffer de idioma indicado por pwszLanguagesBuffer. No retorno bem-sucedido da função, o parâmetro contém o tamanho do buffer de idioma recuperado.

Como alternativa, se esse parâmetro for definido como 0 e pwszLanguagesBuffer estiver definido como NULL, a função recuperará o tamanho necessário do buffer de idioma no pcchLanguagesBuffer.

Retornar valor

Retornará TRUE se tiver êxito ou FALSE caso contrário. Para obter informações de erro estendidas, o aplicativo pode chamar a função GetLastError, que pode retornar um dos seguintes códigos de erro:

  • ERROR_INSUFFICIENT_BUFFER. Um tamanho de buffer fornecido não era grande o suficiente ou foi definido incorretamente como NULL.

Se a função falhar por qualquer outro motivo, os valores de pulNumLanguages e pcchLanguagesBuffer serão indefinidos.

Comentários

Quando MUI_LANGUAGE_ID for especificado, as cadeias de caracteres de idioma recuperadas serão identificadores de linguagem hexadecimal que não incluem o 0x à esquerda e terão 4 caracteres de comprimento. Por exemplo, en-US será retornado como "0409" e en como "0009".

A linguagem de exibição não pode incluir mais de uma linguagem de Language Interface Pack (LIP) que corresponda a uma localidade complementar. Se a lista incluir mais de um desses idiomas e se o aplicativo especificar MUI_LANGUAGE_ID na chamada para a função, o buffer de idioma conterá "1400" para esse idioma. Essa cadeia de caracteres corresponde ao valor hexadecimal de LOCALE_CUSTOM_UI_DEFAULT.

A lista de idiomas recuperada por essa função tem as seguintes características:

  • Cada idioma representa uma localidade válida do NLS.
  • Cada idioma é instalado no sistema operacional.
  • A lista contém uma entrada para cada idioma, sem entradas duplicadas.
  • Se a lista estiver vazia ou não atender a esses critérios de validação, a lista de idiomas de interface do usuário preferenciais do sistema será usada.

Assinatura do 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 Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winnls.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Função GetSystemPreferredUILanguages, função GetThreadPreferredUILanguages, função GetThreadUILanguage, função SetThreadPreferredUILanguages, Interface do Usuário Multilíngue, Funções de Interface do Usuário Multilíngue