Funzione GetGeoInfoA (winnls.h)
[GetGeoInfo è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. È possibile che in versioni successive sia stata modificata o non sia più disponibile. Usare invece GetGeoInfoEx.
]
Recupera informazioni su una posizione geografica specificata.
Sintassi
int GetGeoInfoA(
[in] GEOID Location,
[in] GEOTYPE GeoType,
[out, optional] LPSTR lpGeoData,
[in] int cchData,
[in] LANGID LangId
);
Parametri
[in] Location
Identificatore della posizione geografica per cui ottenere informazioni. Per altre informazioni, vedere Tabella delle posizioni geografiche. È possibile ottenere i valori disponibili chiamando EnumSystemGeoID.
[in] GeoType
Tipo di informazioni da recuperare. I valori possibili sono definiti dall'enumerazione SYSGEOTYPE . Se il valore di GeoType è GEO_LCID, la funzione recupera un identificatore delle impostazioni locali. Se il valore di GeoType è GEO_RFC1766, la funzione recupera un nome stringa conforme a RFC 4646 (Windows Vista). Per altre informazioni, vedere la sezione Osservazioni.
Windows XP: Quando GeoType è impostato su GEO_LCID, la stringa recuperata è un valore esadecimale a 8 cifre.
Windows Me: Quando GeoType è impostato su GEO_LCID, la stringa recuperata è un valore decimale.
[out, optional] lpGeoData
Puntatore al buffer in cui questa funzione recupera le informazioni.
[in] cchData
Dimensione del buffer indicato da lpGeoData. La dimensione è il numero di byte per la versione ANSI della funzione o il numero di parole per la versione Unicode. L'applicazione può impostare questo parametro su 0 se la funzione deve restituire le dimensioni necessarie del buffer.
[in] LangId
Identificatore per la lingua, usato con il valore location. L'applicazione può impostare questo parametro su 0, con GEO_RFC1766 o GEO_LCID specificato per GeoType. Questa impostazione fa sì che la funzione recuperi l'identificatore di lingua chiamando GetUserDefaultLangID.
Valore restituito
Restituisce il numero di byte (ANSI) o parole (Unicode) di informazioni sulla posizione geografica recuperate nel buffer di output. Se cchData è impostato su 0, la funzione restituisce le dimensioni necessarie per il buffer.
La 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_PARAMETER. Uno dei valori dei parametri non è valido.
Commenti
Se l'applicazione specifica GEO_RFC1766 per GeoType, deve specificare un identificatore di lingua per LangId appropriato all'identificatore di posizione geografica specificato. La lingua appropriata è una lingua indipendente dalle impostazioni locali o una con impostazioni locali corrispondenti all'identificatore specificato. La stringa risultante, conforme a RFC 4646 (Windows Vista), costituisce un nome delle impostazioni locali.
Ad esempio, se Location viene specificato come 0xF4 per Stati Uniti, GeoType viene specificato come GEO_RFC1766 e LangId viene specificato come 0x09 per l'inglese indipendente dalle impostazioni locali o 0x409 per l'inglese (Stati Uniti), la funzione recupera "en-US" in caso di esito positivo. In realtà, la funzione ignora la parte specifica delle impostazioni locali del linguaggio. Pertanto, se l'applicazione specifica LangId come 0x809 per l'inglese (Regno Unito), la funzione scrive anche "en-US" in lpGeoData.
Ecco un altro esempio. Se Location viene specificato come 0xF4 per Stati Uniti, GeoType viene specificato come GEO_RFC1766 e LangId viene specificato come 0x04 per il cinese, la funzione recupera "zh-US" in caso di esito positivo. Questo non è il nome di impostazioni locali supportate.
Se l'applicazione specifica GEO_LCID per GeoType, la funzione considera l'identificatore di lingua come identificatore delle impostazioni locali (LCID). Tenta di restituire l'identificatore delle impostazioni locali se è associato all'identificatore geografico specificato in qualche modo.
Nota
L'intestazione winnls.h definisce GetGeoInfo 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | winnls.h (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |
Vedere anche
Supporto per la lingua nazionale