Funzione GetGeoInfoA (winnls.h)
[ GetGeoInfo è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Potrebbe essere modificato o non disponibile nelle versioni successive. 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
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 utilizzata con il valore di 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.
Osservazioni
Se l'applicazione specifica GEO_RFC1766 per GeoType, deve specificare un identificatore di lingua per LangId appropriato per l'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 Gli 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" al completamento della restituzione. In effetti, la funzione ignora la parte specifica delle impostazioni locali della lingua. Pertanto, se l'applicazione specifica LangId come 0x809 per l'inglese (Regno Unito), la funzione scrive anche "en-US" in lpGeoData.
Si consideri un altro esempio. Se Location viene specificato come 0xF4 per gli 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 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 XP [app desktop | App UWP] |
server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
piattaforma di destinazione | Finestre |
intestazione |
winnls.h (include Windows.h) |
libreria |
Kernel32.lib |
dll | Kernel32.dll |
Vedere anche
supporto linguistico nazionale