Freigeben über


GetGeoInfoA-Funktion (winnls.h)

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

]

Ruft Informationen zu einem angegebenen geografischen Standort ab.

Syntax

int GetGeoInfoA(
  [in]            GEOID   Location,
  [in]            GEOTYPE GeoType,
  [out, optional] LPSTR   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

Art 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 von 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 von 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 geografischen Standortinformationen zurück, die im Ausgabepuffer abgerufen werden. 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 abzurufen, 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 entsprechende 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 angegeben wird, wird GeoType als GEO_RFC1766 und LangId als 0x09 für gebietsschemaneutrales Englisch oder 0x409 für Englisch (USA) angegeben, 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 wird, 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 (Locale Identifier, 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 nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
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 (einschließlich Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

EnumSystemGeoID

GetGeoInfoEx

Unterstützung für nationale Sprachen

Nationale Sprachunterstützungsfunktionen

SYSGEOTYPE