Condividi tramite


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 . 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 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.

Nota L'applicazione deve impostare questo parametro su 0 se GeoType ha un valore diverso da GEO_RFC1766 o GEO_LCID.
 

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

EnumSystemGeoID

GetGeoInfoEx

supporto linguistico nazionale

funzioni di supporto del linguaggio nazionale

SYSGEOTYPE