Share via


Funzione GetGeoInfoW (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 GetGeoInfoW(
  [in]            GEOID   Location,
  [in]            GEOTYPE GeoType,
  [out, optional] LPWSTR  lpGeoData,
  [in]            int     cchData,
  [in]            LANGID  LangId
);

Parametri

[in] Location

Identificatore per la 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

Dimensioni 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 causa il recupero dell'identificatore della 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 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_PARAMETER. Uno dei valori dei parametri non è valido.

Commenti

Se l'applicazione specifica GEO_RFC1766 per GeoType, deve specificare un identificatore della lingua per LangId appropriato per l'identificatore di posizione geografica specificato. La lingua appropriata è una lingua neutrale delle 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 La posizione viene specificata come 0xF4 per Stati Uniti, GeoType viene specificata come GEO_RFC1766 e LangId viene specificata come 0x09 per l'inglese neutrale delle impostazioni locali o 0x409 per l'inglese (Stati Uniti), la funzione recupera "en-US" in caso di restituzione riuscita. In realtà, 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.

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 restituzione riuscita. Non è il nome di un'impostazione locale supportata.

Se l'applicazione specifica GEO_LCID per GeoType, la funzione considera l'identificatore della 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 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 XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione winnls.h (includere Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

EnumSystemGeoID

GetGeoInfoEx

Supporto per la lingua nazionale

Funzioni di supporto del linguaggio nazionale

SYSGEOTYPE