Compartir a través de


Función GetCalendarInfoW (winnls.h)

Recupera información sobre un calendario para una configuración regional especificada por el identificador.

Nota Por motivos de interoperabilidad, la aplicación debe preferir la función GetCalendarInfoEx a GetCalendarInfo porque Microsoft está migrando hacia el uso de nombres de configuración regional en lugar de identificadores de configuración regional para nuevas configuraciones regionales. Cualquier aplicación que se ejecute solo en Windows Vista y versiones posteriores debe usar GetCalendarInfoEx.
 

Sintaxis

int GetCalendarInfoW(
  [in]            LCID    Locale,
  [in]            CALID   Calendar,
  [in]            CALTYPE CalType,
  [out, optional] LPWSTR  lpCalData,
  [in]            int     cchData,
  [out, optional] LPDWORD lpValue
);

Parámetros

[in] Locale

Identificador de configuración regional que especifica la configuración regional para la que se va a recuperar la información del calendario. Puede usar la macro MAKELCID para crear un identificador de configuración regional o usar uno de los siguientes valores predefinidos.

[in] Calendar

Identificador del calendario.

[in] CalType

Tipo de información que se va a recuperar. Para obtener más información, vea Información de tipo de calendario.

NotaGetCalendarInfo devuelve solo una cadena si este parámetro especifica CAL_IYEAROFFSETRANGE o CAL_SERASTRING. En ambos casos, se devuelve la era actual.
 
CAL_USE_CP_ACP solo es relevante para la versión ANSI de esta función.

Para CAL_NOUSEROVERRIDE, la función omite cualquier valor establecido por SetCalendarInfo y usa la configuración de la base de datos para la configuración regional predeterminada del sistema actual. Este tipo solo es relevante en la combinación CAL_NOUSEROVERRIDE | CAL_ITWODIGITYEARMAX. CAL_ITWODIGITYEARMAX es el único valor que puede establecer SetCalendarInfo.

[out, optional] lpCalData

Puntero a un búfer en el que esta función recupera los datos solicitados como una cadena. Si CAL_RETURN_NUMBER se especifica en CalType, este parámetro debe recuperar NULL.

[in] cchData

Tamaño, en caracteres, del búfer lpCalData . La aplicación puede establecer este parámetro en 0 para devolver el tamaño necesario para el búfer de datos del calendario. En este caso, no se usa el parámetro lpCalData . Si se especifica CAL_RETURN_NUMBER para CalType, el valor de cchData debe ser 0.

[out, optional] lpValue

Puntero a una variable que recibe los datos solicitados como un número. Si CAL_RETURN_NUMBER se especifica en CalType, lpValue no debe ser NULL. Si no se especifica CAL_RETURN_NUMBER en CalType, lpValue debe ser NULL.

Valor devuelto

Devuelve el número de caracteres recuperados en el búfer lpCalData , con cchData establecido en un valor distinto de cero, si se ejecuta correctamente. Si la función se ejecuta correctamente, cchData se establece en 0 y no se especifica CAL_RETURN_NUMBER, el valor devuelto es el tamaño del búfer necesario para contener la información del calendario. Si la función se ejecuta correctamente, cchData se establece 0 y se especifica CAL_RETURN_NUMBER, el valor devuelto es el tamaño del valor recuperado en lpValue, es decir, 2 para la versión Unicode de la función o 4 para la versión ANSI.

Esta función devuelve 0 si no se realiza correctamente. 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_INSUFFICIENT_BUFFER. Un tamaño de búfer proporcionado no era lo suficientemente grande o se estableció incorrectamente en NULL.
  • 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

Nota Esta API se está actualizando para admitir el cambio de la era japonesa de mayo de 2019. Si la aplicación admite el calendario japonés, debe validar que controla correctamente la nueva era. Consulte Preparación de la aplicación para el cambio en la era japonesa para obtener más información.
 
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 (?).

Nota:

El encabezado winnls.h define GetCalendarInfo 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

Información de tipo de calendario

GetCalendarInfoEx

Compatibilidad con idiomas nacionales

Funciones de compatibilidad con idiomas nacionales

SetCalendarInfo