Función GetCalendarInfoEx (winnls.h)

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

Nota La aplicación debe llamar a esta función en preferencia a GetCalendarInfo si está diseñada para ejecutarse solo en Windows Vista y versiones posteriores.

 
Nota Esta función puede recuperar datos que cambian entre versiones, por ejemplo, debido a una configuración regional personalizada. Si la aplicación debe conservar o transmitir datos, consulte Uso de datos de configuración regional persistente.
 

Sintaxis

int GetCalendarInfoEx(
  [in, optional]  LPCWSTR lpLocaleName,
  [in]            CALID   Calendar,
  [in, optional]  LPCWSTR lpReserved,
  [in]            CALTYPE CalType,
  [out, optional] LPWSTR  lpCalData,
  [in]            int     cchData,
  [out, optional] LPDWORD lpValue
);

Parámetros

[in, optional] lpLocaleName

Puntero a un nombre de configuración regional o uno de los siguientes valores predefinidos.

[in] Calendar

Identificador del calendario.

[in, optional] lpReserved

Reservados; debe ser NULL.

[in] CalType

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

NotaGetCalendarInfoEx devuelve solo una cadena si este parámetro especifica CAL_IYEAROFFSETRANGE o CAL_SERASTRING. En ambos casos, se devuelve la era actual.
 
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 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 de configuración regional. Si la función se ejecuta correctamente, cchData se establece en 0 y se especifica CAL_RETURN_NUMBER, el valor devuelto es el tamaño del valor escrito en el parámetro lpValue . Este tamaño siempre es 2.

La 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.
 
A partir de Windows 8: Si la aplicación pasa etiquetas de idioma a esta función desde el espacio de nombres Windows.Globalization , primero debe convertir las etiquetas mediante una llamada a ResolveLocaleName.

Requisitos

   
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
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

GetCalendarInfo

Compatibilidad con idiomas nacionales

Funciones de compatibilidad con idiomas nacionales

SetCalendarInfo