Partager via


GetCalendarInfoA, fonction (winnls.h)

Récupère des informations sur un calendrier pour les paramètres régionaux spécifiés par l’identificateur.

Remarque Pour des raisons d’interopérabilité, l’application doit préférer la fonction GetCalendarInfoEx à GetCalendarInfo, car Microsoft migre vers l’utilisation de noms de paramètres régionaux au lieu d’identificateurs de paramètres 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.

Pour CAL_NOUSEROVERRIDE, la fonction ignore toutes les valeurs définies par SetCalendarInfo et utilise les paramètres de base de données pour les paramètres régionaux par défaut système actuels. Ce type est pertinent uniquement 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 retourner la taille requise pour la mémoire tampon de données du 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 être NULL. Si CAL_RETURN_NUMBER n’est pas spécifié dans CalType, lpValue doit être NULL.

Valeur de retour

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, si elle réussit. Si la fonction réussit, cchData est définie sur 0 et CAL_RETURN_NUMBER n’est pas spécifiée, 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éfinie sur 0 et CAL_RETURN_NUMBER est spécifiée, la valeur de retour est la taille de la valeur récupérée dans lpValue, autrement dit, 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 suffisamment grande, ou elle était 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’est pas valide.

Remarques

Remarque Cette API est mise à jour pour prendre en charge le changement de l’è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 la modification de l’è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 codes système. Toutefois, les caractères qui ne sont pas définis dans la page de codes système apparaissent dans la chaîne sous forme de point d’interrogation ( ?).

Note

L’en-tête winnls.h définit GetCalendarInfo comme 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winnls.h (include Windows.h)
bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

informations de type de calendrier

GetCalendarInfoEx

prise en charge des langues nationales

fonctions de prise en charge des langues nationales

SetCalendarInfo