Freigeben über


LocaleNameToLCID-Funktion (winnls.h)

Konvertiert einen Gebietsschemanamen in einen Gebietsschemabezeichner.

Syntax

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

Parameter

[in] lpName

Zeiger auf eine NULL-beendete Zeichenfolge, die einen Gebietsschemanamen oder einen der folgenden vordefinierten Werte darstellt.

[in] dwFlags

Vor Windows 7:Reserviert; sollte immer 0 sein.

Ab Windows 7: Kann auf LOCALE_ALLOW_NEUTRAL_NAMES festgelegt werden, um die Rückgabe einer neutralen LCID zu ermöglichen.

Rückgabewert

Bei erfolgreicher Ausführung wird der Gebietsschemabezeichner zurückgegeben, der dem Gebietsschemanamen entspricht.

Wenn der angegebene Gebietsschemaname einem benutzerdefinierten Gebietsschema entspricht, das dem Benutzerstandard entspricht, gibt diese Funktion LOCALE_CUSTOM_DEFAULT zurück.

Wenn der Gebietsschemaname einem benutzerdefinierten Gebietsschema entspricht, das nicht der Benutzerstandard ist, ein vorübergehendes Gebietsschema ist oder ein CLDR-Gebietsschema (Unicode Common Locale Data Repository) ist, gibt die Funktion LOCALE_CUSTOM_UNSPECIFIED zurück.

Die Funktion gibt 0 zurück, wenn sie nicht erfolgreich ist. Um erweiterte Fehlerinformationen abzurufen, kann die Anwendung GetLastError aufrufen, die ERROR_INVALID_PARAMETER zurückgeben kann, wenn einer der Parameterwerte ungültig ist.

Hinweise

Bei benutzerdefinierten Gebietsschemas, einschließlich der von Microsoft erstellten, sollten Ihre Anwendungen Gebietsschemanamen vor Gebietsschemabezeichnern bevorzugen. Weitere Informationen finden Sie unter Die Veraltetkeit von LCIDs .

Ab Windows 8: Wenn Ihre App Sprachtags aus dem Windows.Globalization-Namespace an diese Funktion übergibt, muss sie zuerst die Tags konvertieren, indem ResolveLocaleName aufgerufen wird.

Beispiele


#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

*/


Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile winnls.h (einschließlich Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

DownlevelLocaleNameToLCID

NLS: Beispiel für namenbasierte APIs

Unterstützung für nationale Sprachen

Nationale Sprachunterstützungsfunktionen