Partager via


Fonction LocaleNameToLCID (winnls.h)

Convertit un nom de paramètres régionaux en identificateur de paramètres régionaux.

Syntaxe

LCID LocaleNameToLCID(
  [in] LPCWSTR lpName,
  [in] DWORD   dwFlags
);

Paramètres

[in] lpName

Pointeur vers une chaîne terminée par null représentant un nom de paramètres régionaux ou l’une des valeurs prédéfinies suivantes.

[in] dwFlags

Avant Windows 7 :Réservés au; doit toujours être 0.

À compter de Windows 7 : Peut être défini sur LOCALE_ALLOW_NEUTRAL_NAMES pour permettre le retour d’un LCID neutre.

Valeur retournée

En cas de réussite, retourne l’identificateur de paramètres régionaux correspondant au nom des paramètres régionaux.

Si le nom de paramètres régionaux fourni correspond à un paramètre régional personnalisé correspondant à la valeur par défaut de l’utilisateur, cette fonction retourne LOCALE_CUSTOM_DEFAULT.

Si le nom des paramètres régionaux correspond à un paramètre régional personnalisé qui n’est pas la valeur par défaut de l’utilisateur, s’il s’agit d’un paramètre régional temporaire ou d’un CLDR (Unicode Common Locale Data Repository), la fonction retourne LOCALE_CUSTOM_UNSPECIFIED.

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 ERROR_INVALID_PARAMETER si l’une des valeurs de paramètre n’est pas valide.

Remarques

Pour les paramètres régionaux personnalisés, y compris ceux créés par Microsoft, vos applications doivent préférer les noms de paramètres régionaux aux identificateurs régionaux. Pour plus d’informations, consultez La dépréciation des LCID .

À partir de Windows 8 : si votre application transmet des balises de langue à cette fonction à partir de l’espace de noms Windows.Globalization, elle doit d’abord convertir les balises en appelant ResolveLocaleName.

Exemples


#include "stdafx.h"
#include "windows.h"
#include "stdio.h"

int _cdecl main(
    int argc,
    char *argv[])
{
    WCHAR strNameBuffer[LOCALE_NAME_MAX_LENGTH];
    DWORD error = ERROR_SUCCESS;
    LCID  lcid;

    // Get the name for locale 0x10407 (German (German), with phonebook sort)
    if (LCIDToLocaleName(0x10407, strNameBuffer, LOCALE_NAME_MAX_LENGTH, 0) == 0)
    {
        // There was an error
        error = GetLastError();
    }
    else
    {
        // Success, display the locale name we found
        wprintf(L"Locale Name for 0x10407 is %s\n", strNameBuffer);
    }

    // Get the LCID for the locale
    lcid = LocaleNameToLCID(strNameBuffer, 0);
    if (lcid == 0)
    {
        // There was an error
        error = GetLastError();
    }
    else
    {
        // Success, print the round trip LCID
        wprintf(L"LCID for %s is 0x%x\n", strNameBuffer, lcid);
    }
}

/* This code example produces the following output:

Locale Name for 0x10407 is de-DE_phoneb
LCID for de-DE_phoneb is 0x10407

*/


Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête winnls.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

DownlevelLocaleNameToLCID

NLS : Exemple d’API basées sur le nom

Prise en charge des langues nationales

Fonctions de prise en charge des langues nationales