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.
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
Unterstützung für landessprachliche Sprachen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für