Compartilhar via


Função SetCalendarInfoA (winnls.h)

Define um item de informações de localidade para um calendário. Para obter mais informações, consulte Data e Calendário.

Sintaxe

BOOL SetCalendarInfoA(
  [in] LCID    Locale,
  [in] CALID   Calendar,
  [in] CALTYPE CalType,
  [in] LPCSTR  lpCalData
);

Parâmetros

[in] Locale

Identificador de localidade que especifica a localidade. Você pode usar a macro MAKELCID para criar um identificador de localidade ou usar um dos valores predefinidos a seguir.

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

[in] Calendar

Identificador de calendário para o calendário para o qual definir informações.

[in] CalType

Tipo de informações de calendário a serem definidas. Somente os seguintes valores CALTYPE são válidos para essa função. A constante CAL_USE_CP_ACP só é significativa para a versão ANSI da função.

  • CAL_USE_CP_ACP
  • CAL_ITWODIGITYEARMAX
O aplicativo pode especificar apenas um identificador de calendário por chamada para essa função. Uma exceção poderá ser feita se o aplicativo usar o operador OR binário para combinar CAL_USE_CP_ACP com qualquer valor CALTYPE válido definido em Informações de Tipo de Calendário.

[in] lpCalData

Ponteiro para uma cadeia de caracteres de informações de calendário terminada em nulo. As informações devem estar no formato do tipo de calendário especificado.

Valor retornado

Retornará um valor diferente de zero se tiver êxito ou 0 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_INTERNAL_ERROR. Ocorreu um erro inesperado na função .
  • 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 afeta apenas a parte de substituição do usuário das configurações do calendário. Ele não define os padrões do sistema.

As informações do calendário sempre são passadas como uma cadeia de caracteres Unicode terminada em nulo na versão Unicode dessa função e como uma cadeia de caracteres ANSI terminada em nulo na versão ANSI. Nenhum inteiro é permitido por essa função. Todos os valores numéricos devem ser especificados como texto Unicode ou ANSI.

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, os caracteres indefinidos na página de código do sistema aparecem na cadeia de caracteres como um ponto de interrogação (?).

CAL_ITWODIGITYEARMAX pode ser usado com qualquer calendário, mesmo que o calendário não tenha suporte para a localidade especificada. Para evitar complicações, o aplicativo deve chamar EnumCalendarInfo para garantir que o calendário tenha suporte para a localidade de interesse.

Observação

O cabeçalho winnls.h define SetCalendarInfo 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

   
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

Confira também

EnumCalendarInfo

GetCalendarInfo

Suporte a idiomas nacionais

Funções de suporte à linguagem nacional