Condividi tramite


Funzione GetCalendarInfoA (winnls.h)

Recupera informazioni su un calendario per le impostazioni locali specificate dall'identificatore.

Nota Per motivi di interoperabilità, l'applicazione deve preferire la funzione GetCalendarInfoEx per GetCalendarInfo perché Microsoft sta eseguendo la migrazione verso l'uso dei nomi delle impostazioni locali anziché degli identificatori delle impostazioni locali per le nuove impostazioni locali. Qualsiasi applicazione eseguita solo in Windows Vista e versioni successive deve usare GetCalendarInfoEx.
 

Sintassi

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

Parametri

[in] Locale

identificatore delle impostazioni locali che specifica le impostazioni locali per cui recuperare le informazioni del calendario. È possibile utilizzare la macro MAKELCID per creare un identificatore delle impostazioni locali o usare uno dei valori predefiniti seguenti.

[in] Calendar

identificatore del calendario .

[in] CalType

Tipo di informazioni da recuperare. Per altre informazioni, vedere Informazioni sul tipo di calendario.

NotaGetCalendarInfo restituisce una sola stringa se questo parametro specifica CAL_IYEAROFFSETRANGE o CAL_SERASTRING. In entrambi i casi viene restituita l'era corrente.
 
CAL_USE_CP_ACP è rilevante solo per la versione ANSI di questa funzione.

Per CAL_NOUSEROVERRIDE, la funzione ignora qualsiasi valore impostato da SetCalendarInfo e usa le impostazioni del database per le impostazioni locali predefinite del sistema corrente. Questo tipo è rilevante solo nella combinazione CAL_NOUSEROVERRIDE | CAL_ITWODIGITYEARMAX. CAL_ITWODIGITYEARMAX è l'unico valore che può essere impostato da SetCalendarInfo.

[out, optional] lpCalData

Puntatore a un buffer in cui questa funzione recupera i dati richiesti come stringa. Se CAL_RETURN_NUMBER viene specificato in CalType, questo parametro deve recuperare NULL.

[in] cchData

Dimensioni, in caratteri, del buffer lpCalData. L'applicazione può impostare questo parametro su 0 per restituire le dimensioni necessarie per il buffer dei dati del calendario. In questo caso, il parametro lpCalData non viene usato. Se CAL_RETURN_NUMBER viene specificato per CalType, il valore di cchData deve essere 0.

[out, optional] lpValue

Puntatore a una variabile che riceve i dati richiesti come numero. Se CAL_RETURN_NUMBER è specificato in CalType, lpValue non deve essere NULL. Se CAL_RETURN_NUMBER non è specificato in CalType, lpValue deve essere NULL.

Valore restituito

Restituisce il numero di caratteri recuperati nel buffer lpCalData, con cchData impostato su un valore diverso da zero, se l'operazione riesce. Se la funzione ha esito positivo, cchData è impostata su 0 e CAL_RETURN_NUMBER non viene specificato, il valore restituito corrisponde alle dimensioni del buffer necessario per contenere le informazioni sul calendario. Se la funzione ha esito positivo, cchData è impostata su 0 e CAL_RETURN_NUMBER viene specificato, il valore restituito è la dimensione del valore recuperato in lpValue, ovvero 2 per la versione Unicode della funzione o 4 per la versione ANSI.

Questa funzione restituisce 0 se non riesce. Per ottenere informazioni estese sull'errore, l'applicazione può chiamare GetLastError, che può restituire uno dei codici di errore seguenti:

  • ERROR_INSUFFICIENT_BUFFER. Le dimensioni del buffer fornite non sono sufficienti o non sono state impostate correttamente su NULL.
  • ERROR_INVALID_FLAGS. I valori specificati per i flag non sono validi.
  • ERROR_INVALID_PARAMETER. Uno dei valori dei parametri non è valido.

Osservazioni

Nota Questa API viene aggiornata per supportare la modifica dell'era giapponese di maggio 2019. Se l'applicazione supporta il calendario giapponese, è necessario verificare che gestisca correttamente la nuova era. Per altre informazioni, vedere Preparare l'applicazione per la modifica dell'era giapponese.
 
Quando la versione ANSI di questa funzione viene usata con un identificatore delle impostazioni locali solo Unicode, la funzione può avere esito positivo perché il sistema operativo usa la tabella codici del sistema. Tuttavia, i caratteri non definiti nella tabella codici di sistema vengono visualizzati nella stringa come punto interrogativo (?).

Nota

L'intestazione winnls.h definisce GetCalendarInfo come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione winnls.h (include Windows.h)
libreria Kernel32.lib
dll Kernel32.dll

Vedere anche

informazioni sul tipo di calendario

GetCalendarInfoEx

supporto linguistico nazionale

funzioni di supporto del linguaggio nazionale

SetCalendarInfo