Share via


Função GetProcessPreferredUILanguages (winnls.h)

Recupera os idiomas de interface do usuário preferenciais do processo. Para obter mais informações, consulte Gerenciamento de linguagem de interface do usuário.

Sintaxe

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

Parâmetros

[in] dwFlags

Sinalizadores que identificam o formato de idioma a ser usado para os idiomas de interface do usuário preferenciais do processo. Os sinalizadores são mutuamente exclusivos e o padrão é MUI_LANGUAGE_NAME.

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

[out] pulNumLanguages

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

[out, optional] pwszLanguagesBuffer

Opcional. Ponteiro para um buffer de várias cadeias de caracteres com terminação nula dupla no qual a função recupera uma lista ordenada e delimitada por nulo na ordem de preferência, começando com a mais preferível.

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 em 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 em pcchLanguagesBuffer.

Valor retornado

Retornará TRUE se tiver êxito ou FALSE caso contrário. Para obter informações de erro estendidas, o aplicativo pode chamar 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 estava definido incorretamente como NULL.
  • ERROR_INVALID_PARAMETER. Qualquer um dos valores de parâmetro era inválido.
Se a lista de idiomas de interface do usuário preferencial do processo estiver vazia ou se os idiomas especificados para o processo não forem válidos, a função terá êxito e retornará uma multistring vazia em pwszLanguagesBuffer e 2 no parâmetro pcchLanguagesBuffer .

Comentários

Dependendo dos sinalizadores especificados pelo aplicativo, essa função pode recuperar uma lista que consiste nas linguagens de interface do usuário preferenciais do processo. Se encontrar uma linguagem duplicada, a função recuperará apenas a primeira instância do idioma duplicado.

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".

Nota O uso de MUI_LANGUAGE_NAME é recomendado em MUI_LANGUAGE_ID.
 

Assinatura do 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 com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [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

Interface do Usuário Multilíngue

Funções de interface do usuário multilíngue

SetProcessPreferredUILanguages