Compartir a través de


Función SetCalendarInfoA (winnls.h)

Establece un elemento de información de configuración regional para un calendario. Para obtener más información, vea Fecha y calendario.

Sintaxis

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

Parámetros

[in] Locale

identificador de configuración regional que especifica la configuración regional. Puede usar la macro MAKELCID para crear un identificador de configuración regional o usar uno de los siguientes valores predefinidos.

También se admiten los siguientes identificadores de configuración regional personalizados.

[in] Calendar

identificador de calendario para el calendario para el que se va a establecer información.

[in] CalType

Tipo de información de calendario que se va a establecer. Solo los siguientes valores CALTYPE son válidos para esta función. La constante CAL_USE_CP_ACP solo es significativa para la versión ANSI de la función.

  • CAL_USE_CP_ACP
  • CAL_ITWODIGITYEARMAX
La aplicación solo puede especificar un identificador de calendario por llamada a esta función. Se puede realizar una excepción si la aplicación usa el operador OR binario para combinar CAL_USE_CP_ACP con cualquier valor CALTYPE válido definido en Información de tipo de calendario.

[in] lpCalData

Puntero a una cadena de información de calendario terminada en NULL. La información debe estar en el formato del tipo de calendario especificado.

Valor devuelto

Devuelve un valor distinto de cero si se ejecuta correctamente o 0 de lo contrario. Para obtener información de error extendida, la aplicación puede llamar a GetLastError, que puede devolver uno de los siguientes códigos de error:

  • ERROR_INTERNAL_ERROR. Error inesperado en la función.
  • ERROR_INVALID_FLAGS. Los valores proporcionados para las marcas no eran válidos.
  • ERROR_INVALID_PARAMETER. Cualquiera de los valores de parámetro no era válido.

Observaciones

Esta función solo afecta a la parte de invalidación del usuario de la configuración del calendario. No establece los valores predeterminados del sistema.

La información del calendario siempre se pasa como una cadena Unicode terminada en null en la versión Unicode de esta función y como una cadena ANSI terminada en null en la versión ANSI. Esta función no permite ningún entero. Los valores numéricos deben especificarse como texto Unicode o ANSI.

Cuando se usa la versión ANSI de esta función con un identificador de configuración regional de solo Unicode, la función puede realizarse correctamente porque el sistema operativo usa la página de códigos del sistema. Sin embargo, los caracteres que no están definidos en la página de códigos del sistema aparecen en la cadena como signo de interrogación (?).

CAL_ITWODIGITYEARMAX se puede usar con cualquier calendario, incluso si no se admite el calendario para la configuración regional especificada. Para evitar complicaciones, la aplicación debe llamar a EnumCalendarInfo para asegurarse de que el calendario es compatible con la configuración regional de interés.

Nota

El encabezado winnls.h define SetCalendarInfo como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de winnls.h (incluya Windows.h)
biblioteca de Kernel32.lib
DLL de Kernel32.dll

Consulte también

enumCalendarInfo de

GetCalendarInfo

de compatibilidad con idiomas nacionales

funciones de compatibilidad con idiomas nacionales