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.
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 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 para a 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.
Retornar valor
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.
Comentários
Essa função grava no registro, em que define valores associados a um usuário específico em vez de um aplicativo específico. Esses valores de 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 tiver solicitado 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 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.
Observação
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 de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winnls.h (inclua Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |