Share via


GetGeoInfoW-Funktion (winnls.h)

[GetGeoInfo ist für die Verwendung in den im Abschnitt Anforderungen angegebenen Betriebssystemen verfügbar. Es kann in nachfolgenden Versionen geändert oder entfernt werden. Verwenden Sie stattdessen GetGeoInfoEx.

]

Ruft Informationen zu einem angegebenen geografischen Standort ab.

Syntax

int GetGeoInfoW(
  [in]            GEOID   Location,
  [in]            GEOTYPE GeoType,
  [out, optional] LPWSTR  lpGeoData,
  [in]            int     cchData,
  [in]            LANGID  LangId
);

Parameter

[in] Location

Bezeichner für den geografischen Standort, für den Informationen abgerufen werden sollen. Weitere Informationen finden Sie unter Tabelle mit geografischen Standorten. Sie können die verfügbaren Werte abrufen, indem Sie EnumSystemGeoID aufrufen.

[in] GeoType

Typ der abzurufenden Informationen. Mögliche Werte werden durch die SYSGEOTYPE-Enumeration definiert. Wenn der Wert von GeoType GEO_LCID ist, ruft die Funktion einen Gebietsschemabezeichner ab. Wenn der Wert von GeoType GEO_RFC1766 ist, ruft die Funktion einen Zeichenfolgennamen ab, der mit RFC 4646 (Windows Vista) kompatibel ist. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

Windows XP: Wenn GeoType auf GEO_LCID festgelegt ist, ist die abgerufene Zeichenfolge ein 8-stelliger Hexadezimalwert.

Windows Me: Wenn GeoType auf GEO_LCID festgelegt ist, ist die abgerufene Zeichenfolge ein Dezimalwert.

[out, optional] lpGeoData

Zeiger auf den Puffer, in dem diese Funktion die Informationen abruft.

[in] cchData

Größe des Puffers, der durch lpGeoData angegeben wird. Die Größe ist die Anzahl der Bytes für die ANSI-Version der Funktion oder die Anzahl der Wörter für die Unicode-Version. Die Anwendung kann diesen Parameter auf 0 festlegen, wenn die Funktion die erforderliche Größe des Puffers zurückgeben soll.

[in] LangId

Bezeichner für die Sprache, die mit dem Wert Location verwendet wird. Die Anwendung kann diesen Parameter auf 0 festlegen, wobei GEO_RFC1766 oder GEO_LCID für GeoType angegeben ist. Diese Einstellung bewirkt, dass die Funktion den Sprachbezeichner durch Aufrufen von GetUserDefaultLangID abruft.

Hinweis Die Anwendung muss diesen Parameter auf 0 festlegen, wenn GeoType über einen anderen Wert als GEO_RFC1766 oder GEO_LCID verfügt.
 

Rückgabewert

Gibt die Anzahl von Bytes (ANSI) oder Wörtern (Unicode) der im Ausgabepuffer abgerufenen geografischen Standortinformationen zurück. Wenn cchData auf 0 festgelegt ist, gibt die Funktion die erforderliche Größe für den Puffer zurück.

Die Funktion gibt 0 zurück, wenn sie nicht erfolgreich ist. Um erweiterte Fehlerinformationen zu erhalten, kann die Anwendung GetLastError aufrufen, wodurch einer der folgenden Fehlercodes zurückgegeben werden kann:

  • ERROR_INSUFFICIENT_BUFFER. Eine angegebene Puffergröße war nicht groß genug, oder sie wurde fälschlicherweise auf NULL festgelegt.
  • ERROR_INVALID_PARAMETER. Jeder der Parameterwerte war ungültig.

Hinweise

Wenn die Anwendung GEO_RFC1766 für GeoType angibt, sollte sie einen Sprachbezeichner für LangId angeben, der für den angegebenen geografischen Standortbezeichner geeignet ist. Die geeignete Sprache ist entweder eine gebietsschemaneutrale Sprache oder eine Sprache mit einem Gebietsschema, das dem angegebenen Bezeichner entspricht. Die resultierende Zeichenfolge, die mit RFC 4646 (Windows Vista) kompatibel ist, stellt einen Gebietsschemanamen dar.

Wenn Location beispielsweise als 0xF4 für USA, GeoType als GEO_RFC1766 und LangId entweder als 0x09 für gebietsschemaneutrales Englisch oder als 0x409 für Englisch (USA) angegeben wird, ruft die Funktion "en-US" bei erfolgreicher Rückgabe ab. Tatsächlich ignoriert die Funktion den gebietsschemaspezifischen Teil der Sprache. Wenn die Anwendung also LangId als 0x809 für Englisch (Vereinigtes Königreich) angibt, schreibt die Funktion auch "en-US" in lpGeoData.

Betrachten Sie ein anderes Beispiel. Wenn Location als 0xF4 für USA, GeoType als GEO_RFC1766 und LangId als 0x04 für Chinesisch angegeben ist, ruft die Funktion "zh-US" bei erfolgreicher Rückgabe ab. Dies ist nicht der Name eines unterstützten Gebietsschemas.

Wenn die Anwendung GEO_LCID für GeoType angibt, behandelt die Funktion den Sprachbezeichner als Gebietsschemabezeichner (LCID). Es versucht, den Gebietsschemabezeichner zurückzugeben, wenn er dem angegebenen geografischen Bezeichner in irgendeiner Weise zugeordnet ist.

Hinweis

Der winnls.h-Header definiert GetGeoInfo als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile winnls.h (windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

EnumSystemGeoID

GetGeoInfoEx

Unterstützung für landessprachliche Sprachen

Unterstützungsfunktionen für nationalsprachliche Sprachen

SYSGEOTYPE