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 seguintes valores predefinidos.

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

[in] Calendar

de 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 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_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.

Observações

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. Quaisquer 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, caracteres que são 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 se o calendário não tiver 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.

Nota

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

EnumCalendarInfo

GetCalendarInfo

de Suporte à Linguagem Nacional

funções de suporte à linguagem nacional