Funzione GetCalendarInfoW (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 a GetCalendarInfo perché Microsoft esegue 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 GetCalendarInfoW(
  [in]            LCID    Locale,
  [in]            CALID   Calendar,
  [in]            CALTYPE CalType,
  [out, optional] LPWSTR  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 usare 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 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 è 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 è 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 riuscito. Se la funzione ha esito positivo, cchData è impostato su 0 e CAL_RETURN_NUMBER non viene specificato, il valore restituito è la dimensione del buffer necessaria per contenere le informazioni del calendario. Se la funzione ha esito positivo, cchData è impostata 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 sull'errore estese, l'applicazione può chiamare GetLastError, che può restituire uno dei codici di errore seguenti:

  • ERROR_INSUFFICIENT_BUFFER. Una dimensione del buffer fornita non è stata sufficiente oppure è stata impostata in modo errato su NULL.
  • ERROR_INVALID_FLAGS. I valori forniti per i flag non sono validi.
  • ERROR_INVALID_PARAMETER. Uno dei valori dei parametri non è valido.

Commenti

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 preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winnls.h (includere Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Informazioni sul tipo di calendario

GetCalendarInfoEx

Supporto per la lingua nazionale

Funzioni di supporto del linguaggio nazionale

SetCalendarInfo