Freigeben über


GetGeoInfoA-Funktion (winnls.h)

[GetGeoInfo steht für die Verwendung in den im Abschnitt "Anforderungen" angegebenen Betriebssystemen zur Verfügung. Sie kann in nachfolgenden Versionen geändert oder nicht verfügbar sein. Verwenden Sie stattdessen GetGeoInfoEx.

]

Ruft Informationen zu einem bestimmten 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 der geografischen Standorte. Sie können die verfügbaren Werte abrufen, indem Sie EnumSystemGeoIDaufrufen.

[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 "Hinweise".

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

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

[in] cchData

Größe des durch lpGeoDataangegebenen Puffers. 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ückgibt.

[in] LangId

Bezeichner für die Sprache, die mit dem Wert von Locationverwendet 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 abruft, indem GetUserDefaultLangIDaufgerufen wird.

Hinweis Die Anwendung muss diesen Parameter auf 0 festlegen, wenn GeoType- einen anderen Wert als GEO_RFC1766 oder GEO_LCID hat.
 

Rückgabewert

Gibt die Anzahl der Bytes (ANSI) oder Wörter (Unicode) von geografischen Standortinformationen zurück, die im Ausgabepuffer abgerufen wurden. 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 GetLastErroraufrufen, wodurch eine 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. Ungültige Parameterwerte.

Bemerkungen

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

Wenn z. B. Location als 0xF4 für Vereinigte Staaten angegeben wird, wird GeoType- als GEO_RFC1766 angegeben, und LangId- wird entweder 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 weiteres Beispiel. Wenn Location als 0xF4 für USA angegeben wird, wird GeoType- als GEO_RFC1766 angegeben, und LangId- wird als 0x04 für Chinesisch angegeben, 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). Er versucht, den Gebietsschemabezeichner zurückzugeben, wenn er dem bereitgestellten geografischen Bezeichner in irgendeiner Weise zugeordnet ist.

Anmerkung

Der winnls.h-Header definiert GetGeoInfo als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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

Anforderung Wert
mindestens unterstützte Client- Windows XP [Desktop-Apps | UWP-Apps]
mindestens unterstützte Server- Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform- Fenster
Header- winnls.h (enthalten Windows.h)
Library Kernel32.lib
DLL- Kernel32.dll

Siehe auch

EnumSystemGeoID-

GetGeoInfoEx-

Funktionen

SYSGEOTYPE