GetCalendarInfoA, fonction (winnls.h)

Récupère des informations sur un calendrier pour un paramètre régional spécifié par l’identificateur.

Note Pour des raisons d’interopérabilité, l’application doit préférer la fonction GetCalendarInfoEx à GetCalendarInfo , car Microsoft effectue une migration vers l’utilisation de noms régionaux au lieu d’identificateurs régionaux pour les nouveaux paramètres régionaux. Toute application qui s’exécute uniquement sur Windows Vista et versions ultérieures doit utiliser GetCalendarInfoEx.
 

Syntaxe

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

Paramètres

[in] Locale

Identificateur de paramètres régionaux qui spécifie les paramètres régionaux pour lesquels récupérer des informations de calendrier. Vous pouvez utiliser la macro MAKELCID pour créer un identificateur de paramètres régionaux ou utiliser l’une des valeurs prédéfinies suivantes.

[in] Calendar

Identificateur de calendrier.

[in] CalType

Type d’informations à récupérer. Pour plus d’informations, consultez Informations sur le type de calendrier.

RemarqueGetCalendarInfo retourne une seule chaîne si ce paramètre spécifie CAL_IYEAROFFSETRANGE ou CAL_SERASTRING. Dans les deux cas, l’ère actuelle est retournée.
 
CAL_USE_CP_ACP concerne uniquement la version ANSI de cette fonction.

Par CAL_NOUSEROVERRIDE, la fonction ignore toute valeur définie par SetCalendarInfo et utilise les paramètres de base de données pour les paramètres régionaux système par défaut actuels. Ce type n’est pertinent que dans la combinaison CAL_NOUSEROVERRIDE | CAL_ITWODIGITYEARMAX. CAL_ITWODIGITYEARMAX est la seule valeur qui peut être définie par SetCalendarInfo.

[out, optional] lpCalData

Pointeur vers une mémoire tampon dans laquelle cette fonction récupère les données demandées sous forme de chaîne. Si CAL_RETURN_NUMBER est spécifié dans CalType, ce paramètre doit récupérer null.

[in] cchData

Taille, en caractères, de la mémoire tampon lpCalData . L’application peut définir ce paramètre sur 0 pour renvoyer la taille requise pour la mémoire tampon de données de calendrier. Dans ce cas, le paramètre lpCalData n’est pas utilisé. Si CAL_RETURN_NUMBER est spécifié pour CalType, la valeur de cchData doit être 0.

[out, optional] lpValue

Pointeur vers une variable qui reçoit les données demandées sous forme de nombre. Si CAL_RETURN_NUMBER est spécifié dans CalType, lpValue ne doit pas avoir la valeur NULL. Si CAL_RETURN_NUMBER n’est pas spécifié dans CalType, lpValue doit avoir la valeur NULL.

Valeur retournée

Retourne le nombre de caractères récupérés dans la mémoire tampon lpCalData , avec cchData défini sur une valeur différente de zéro, en cas de réussite. Si la fonction réussit, cchData est défini sur 0 et CAL_RETURN_NUMBER n’est pas spécifié, la valeur de retour correspond à la taille de la mémoire tampon requise pour contenir les informations de calendrier. Si la fonction réussit, cchData est défini 0 et CAL_RETURN_NUMBER est spécifié, la valeur de retour correspond à la taille de la valeur récupérée dans lpValue, c’est-à-dire 2 pour la version Unicode de la fonction ou 4 pour la version ANSI.

Cette fonction retourne 0 si elle ne réussit pas. Pour obtenir des informations d’erreur étendues, l’application peut appeler GetLastError, qui peut retourner l’un des codes d’erreur suivants :

  • ERROR_INSUFFICIENT_BUFFER. Une taille de mémoire tampon fournie n’était pas assez grande ou elle a été incorrectement définie sur NULL.
  • ERROR_INVALID_FLAGS. Les valeurs fournies pour les indicateurs n’étaient pas valides.
  • ERROR_INVALID_PARAMETER. L’une des valeurs de paramètre n’était pas valide.

Remarques

Note Cette API est mise à jour pour prendre en charge le changement d’ère japonaise de mai 2019. Si votre application prend en charge le calendrier japonais, vous devez vérifier qu’elle gère correctement la nouvelle ère. Pour plus d’informations, consultez Préparer votre application pour le changement d’ère japonaise .
 
Lorsque la version ANSI de cette fonction est utilisée avec un identificateur de paramètres régionaux Unicode uniquement, la fonction peut réussir, car le système d’exploitation utilise la page de code système. Toutefois, les caractères non définis dans la page de code système apparaissent dans la chaîne sous forme de point d’interrogation ( ?).

Notes

L’en-tête winnls.h définit GetCalendarInfo comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winnls.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

Informations sur le type de calendrier

GetCalendarInfoEx

Prise en charge des langues nationales

Fonctions de prise en charge des langues nationales

SetCalendarInfo