Compartilhar via


Função SetLocaleInfoA (winnls.h)

Define um item de informações na parte de substituição do usuário da localidade atual. Essa função não define os padrões do sistema.

Cuidado Como essa função modifica valores para todos os aplicativos, ela só deve ser chamada pela funcionalidade de opções regionais e de idioma do Painel de Controle ou por um utilitário semelhante. Se estiver fazendo uma alteração internacional nos parâmetros do sistema, o aplicativo de chamada deverá transmitir a mensagem WM_SETTINGCHANGE para evitar causar instabilidades em outros aplicativos.
 

Sintaxe

BOOL SetLocaleInfoA(
  [in] LCID   Locale,
  [in] LCTYPE LCType,
  [in] LPCSTR lpLCData
);

Parâmetros

[in] Locale

Para a versão ANSI da função, o identificador de localidade da localidade com a página de código usada ao interpretar as informações lpLCData. Para a versão Unicode, esse parâmetro é ignorado.

Você pode usar a macro MAKELCID para criar um identificador de localidade ou usar um dos seguintes valores predefinidos.

Também há suporte para os seguintes identificadores de localidade personalizados.

[in] LCType

Tipo de informações de localidade a serem definidas. Para as constantes válidas, consulte a seção "Constantes usadas no parâmetro LCType de GetLocaleInfo, GetLocaleInfoEx e SetLocaleInfo" de Constantes de Informações de Localidade. O aplicativo pode especificar apenas um valor por chamada, mas pode usar o operador OR binário para combinar LOCALE_USE_CP_ACP com qualquer outra constante.

[in] lpLCData

Ponteiro para uma cadeia de caracteres terminada em nulo que contém as informações de localidade a serem definidas. As informações devem estar no formato específico à constante especificada. O aplicativo usa uma cadeia de caracteres Unicode para a versão Unicode da função e uma cadeia de caracteres ANSI para a versão ANSI.

Valor de retorno

Retorna um valor diferente de zero se tiver êxito ou 0 de outra forma. Para obter informações de erro estendidas, o aplicativo pode chamar GetLastError, que pode retornar um dos seguintes códigos de erro:

  • ERROR_ACCESS_DISABLED_BY_POLICY. A política de grupo do computador ou do usuário proibiu essa operação.
  • ERROR_INVALID_ACCESS. O código de acesso era inválido.
  • ERROR_INVALID_FLAGS. Os valores fornecidos para sinalizadores não eram válidos.
  • ERROR_INVALID_PARAMETER. Qualquer um dos valores de parâmetro era inválido.

Observações

Essa função grava no Registro, onde define valores associados a um determinado usuário em vez de um aplicativo específico. Esses valores do Registro afetam o comportamento de outros aplicativos executados pelo usuário. Como regra, um aplicativo deve chamar essa função somente quando o usuário solicitar explicitamente as alterações. As configurações do Registro não devem ser alteradas para a conveniência de um único aplicativo.

Para o parâmetro LCType, o aplicativo deve definir LOCALE_USE_CP_ACP para usar a página de código ANSI do sistema operacional em vez da página de código de localidade para tradução de cadeia de caracteres.

Quando a versão ANSI dessa função é usada com um identificador de localidade somente Unicode, a função pode ser bem-sucedida porque o sistema operacional usa a página de código do sistema. No entanto, caracteres que são indefinidos na página de código do sistema aparecem na cadeia de caracteres como um ponto de interrogação (?).

A partir do Windows Vista, as constantes LOCALE_SDATE e LOCALE_STIME estão obsoletas. Não use essas constantes. Em vez disso, use LOCALE_SSHORTDATE e LOCALE_STIMEFORMAT. Uma localidade personalizada pode não ter um único caractere separador uniforme dentro do formato de data ou hora: por exemplo, um formato como "31/12, 2006" ou "03:56'23" pode ser válido.

Nota

O cabeçalho winnls.h define SetLocaleInfo como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winnls.h (inclua Windows.h)
biblioteca Kernel32.lib
de DLL Kernel32.dll

Consulte também

GetLocaleInfo

de Suporte à Linguagem Nacional

funções de suporte à linguagem nacional