Fungsi LocaleNameToLCID (winnls.h)
Mengonversi nama lokal menjadi pengidentifikasi lokal.
Sintaks
LCID LocaleNameToLCID(
[in] LPCWSTR lpName,
[in] DWORD dwFlags
);
Parameter
[in] lpName
Penunjuk ke string yang dihentikan null yang mewakili nama lokal, atau salah satu nilai yang telah ditentukan sebelumnya berikut.
[in] dwFlags
Sebelum Windows 7:Dipesan; harus selalu 0.
Dimulai di Windows 7: Dapat diatur ke LOCALE_ALLOW_NEUTRAL_NAMES untuk memungkinkan kembalinya LCID netral.
Nilai kembali
Jika berhasil, mengembalikan pengidentifikasi lokal yang sesuai dengan nama lokal.
Jika nama lokal yang disediakan sesuai dengan lokal kustom yang merupakan default pengguna, fungsi ini mengembalikan LOCALE_CUSTOM_DEFAULT.
Jika nama lokal sesuai dengan lokal kustom yang bukan default pengguna, adalah lokal sementara, atau merupakan lokal CLDR (Repositori Data Lokal Umum Unicode), fungsi mengembalikan LOCALE_CUSTOM_UNSPECIFIED.
Fungsi mengembalikan 0 jika tidak berhasil. Untuk mendapatkan informasi kesalahan yang diperluas, aplikasi dapat memanggil GetLastError, yang dapat mengembalikan ERROR_INVALID_PARAMETER jika salah satu nilai parameter tidak valid.
Keterangan
Untuk lokal kustom, termasuk yang dibuat oleh Microsoft, aplikasi Anda harus lebih memilih nama lokal daripada pengidentifikasi lokal. Lihat Penghentian LCID untuk informasi selengkapnya.
Dimulai di Windows 8: Jika aplikasi Anda meneruskan tag bahasa ke fungsi ini dari namespace Windows.Globalization, aplikasi harus terlebih dahulu mengonversi tag dengan memanggil ResolveLocaleName.
Contoh
#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
*/
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | winnls.h (termasuk Windows.h) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |