LocaleNameToLCID 함수(winnls.h)
구문
LCID LocaleNameToLCID(
[in] LPCWSTR lpName,
[in] DWORD dwFlags
);
매개 변수
[in] lpName
로캘 이름을 나타내는 null로 끝나는 문자열 또는 다음 미리 정의된 값 중 하나에 대한 포인터입니다.
[in] dwFlags
Windows 7 이전:예약; 는 항상 0이어야 합니다.
Windows 7부터: 중립 LCID의 반환을 허용하도록 LOCALE_ALLOW_NEUTRAL_NAMES 설정할 수 있습니다.
반환 값
성공하면 로캘 이름에 해당하는 로캘 식별자를 반환합니다.
제공된 로캘 이름이 사용자 기본값인 사용자 지정 로캘에 해당하는 경우 이 함수는 LOCALE_CUSTOM_DEFAULT 반환합니다.
로캘 이름이 사용자 기본값이 아닌 사용자 지정 로캘에 해당하거나, 일시적인 로캘이거나, CLDR(유니코드 공통 로캘 데이터 리포지토리) 로캘인 경우 함수는 LOCALE_CUSTOM_UNSPECIFIED 반환합니다.
함수가 성공하지 못하면 0을 반환합니다. 확장된 오류 정보를 가져오기 위해 애플리케이션은 GetLastError를 호출할 수 있으며 매개 변수 값이 잘못된 경우 ERROR_INVALID_PARAMETER 반환할 수 있습니다.
설명
Microsoft에서 만든 로캘을 포함하여 사용자 지정 로캘의 경우 애플리케이션은 로캘 식별자보다 로캘 이름을 선호해야 합니다. 자세한 내용은 LCID 사용 중단을 참조하세요.
Windows 8 시작: 앱이Windows.Globalization 네임스페이스에서 이 함수에 언어 태그를 전달하는 경우 먼저 ResolveLocaleName을 호출하여 태그를 변환해야 합니다.
예제
#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
*/
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | winnls.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |