Partager via


GetGeoInfoA, fonction (winnls.h)

[GetGeoInfo est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Exigences. Il peut être modifié ou indisponible dans les versions ultérieures. Utilisez plutôt GetGeoInfoEx.

]

Récupère des informations sur un emplacement géographique spécifié.

Syntaxe

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

Paramètres

[in] Location

Identificateur de l’emplacement géographique pour lequel obtenir des informations. Pour plus d’informations, consultez Table des emplacements géographiques. Vous pouvez obtenir les valeurs disponibles en appelant EnumSystemGeoID.

[in] GeoType

Type d’informations à récupérer. Les valeurs possibles sont définies par l’énumération SYSGEOTYPE. Si la valeur de GeoType est GEO_LCID, la fonction récupère un identificateur de paramètres régionaux. Si la valeur de GeoType est GEO_RFC1766, la fonction récupère un nom de chaîne conforme à RFC 4646 (Windows Vista). Pour plus d’informations, consultez la section Remarques.

Windows XP : Lorsque GeoType est défini sur GEO_LCID, la chaîne récupérée est une valeur hexadécimale à 8 chiffres.

Windows Me : Lorsque GeoType est défini sur GEO_LCID, la chaîne récupérée est une valeur décimale.

[out, optional] lpGeoData

Pointeur vers la mémoire tampon dans laquelle cette fonction récupère les informations.

[in] cchData

Taille de la mémoire tampon indiquée par lpGeoData. La taille est le nombre d’octets pour la version ANSI de la fonction, ou le nombre de mots pour la version Unicode. L’application peut définir ce paramètre sur 0 si la fonction doit retourner la taille requise de la mémoire tampon.

[in] LangId

Identificateur de la langue utilisée avec la valeur de Emplacement. L’application peut définir ce paramètre sur 0, avec GEO_RFC1766 ou GEO_LCID spécifié pour GeoType. Ce paramètre entraîne la récupération de l’identificateur de langue par l’appel de GetUserDefaultLangID.

Remarque L’application doit définir ce paramètre sur 0 si GeoType a une valeur autre que GEO_RFC1766 ou GEO_LCID.
 

Valeur de retour

Retourne le nombre d’octets (ANSI) ou de mots (Unicode) d’informations d’emplacement géographique récupérées dans la mémoire tampon de sortie. Si cchData a la valeur 0, la fonction retourne la taille requise pour la mémoire tampon.

La fonction retourne 0 si elle ne réussit pas. Pour obtenir des informations d’erreur étendues, l’application peut appeler GetLastError, qui peut retourner l’un des codes d’erreur suivants :

  • ERROR_INSUFFICIENT_BUFFER. Une taille de mémoire tampon fournie n’était pas suffisamment grande, ou elle était incorrectement définie sur NULL .
  • ERROR_INVALID_PARAMETER. L’une des valeurs de paramètre n’est pas valide.

Remarques

Si l’application spécifie GEO_RFC1766 pour geoType, elle doit spécifier un identificateur de langue pour LangId approprié à l’identificateur d’emplacement géographique spécifié. La langue appropriée est une langue indépendante des paramètres régionaux ou une langue avec des paramètres régionaux correspondant à l’identificateur spécifié. La chaîne résultante, conforme à RFC 4646 (Windows Vista), constitue un nom de paramètres régionaux .

Par exemple, si Emplacement est spécifié comme 0xF4 pour les États-Unis, GeoType est spécifié en tant que GEO_RFC1766, et LangId est spécifié comme 0x09 pour l’anglais neutre en paramètres régionaux ou 0x409 pour l’anglais (États-Unis), la fonction récupère «en-US» lors d’un retour réussi. En fait, la fonction ignore la partie spécifique aux paramètres régionaux de la langue. Par conséquent, si l’application spécifie langId comme 0x809 pour l’anglais (Royaume-Uni), la fonction écrit également «en-US» dans lpGeoData.

Prenons un autre exemple. Si Emplacement est spécifié comme 0xF4 pour les États-Unis, GeoType est spécifié comme GEO_RFC1766, et langId est spécifié comme 0x04 pour le chinois, la fonction récupère «zh-US» lors du retour réussi. Il ne s’agit pas du nom d’un paramètre régional pris en charge.

Si l’application spécifie GEO_LCID pour GeoType, la fonction traite l’identificateur de langue en tant qu’identificateur de paramètres régionaux (LCID). Il tente de renvoyer l’identificateur de paramètres régionaux s’il est associé à l’identificateur géographique fourni d’une certaine manière.

Note

L’en-tête winnls.h définit GetGeoInfo comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau | Applications UWP]
serveur minimum pris en charge Windows Server 2003 [applications de bureau | Applications UWP]
plateforme cible Windows
d’en-tête winnls.h (include Windows.h)
bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

EnumSystemGeoID

GetGeoInfoEx

prise en charge des langues nationales

fonctions de prise en charge des langues nationales

SYSGEOTYPE