Partager via


GetCalendarInfoW, 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 GetCalendarInfo àGetCalendarInfo , car Microsoft migre vers l’utilisation de noms de paramètres 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 GetCalendarInfoW(
  [in]            LCID    Locale,
  [in]            CALID   Calendar,
  [in]            CALTYPE CalType,
  [out, optional] LPWSTR  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 les 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 la valeur 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 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 être 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 sur 0 et CAL_RETURN_NUMBER est spécifié, la valeur de retour est 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 suffisamment grande ou 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 en cours de 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 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 la forme d’un point d’interrogation (?).

Notes

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

   
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