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 del calendario para el que se va a establecer la 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 tener el formato del tipo de calendario especificado.

Valor devuelto

Devuelve un valor distinto de cero si es correcto 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.

Comentarios

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 se deben especificar como texto Unicode o ANSI.

Cuando la versión ANSI de esta función se usa con un identificador de configuración regional 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 Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winnls.h (incluye Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

EnumCalendarInfo

GetCalendarInfo

Compatibilidad con idiomas nacionales

Funciones de compatibilidad con idiomas nacionales