GetSystemPreferredUILanguages 함수(winnls.h)
시스템 기본 설정 UI 언어를 검색합니다. 자세한 내용은 사용자 인터페이스 언어 관리를 참조하세요.
구문
BOOL GetSystemPreferredUILanguages(
[in] DWORD dwFlags,
[out] PULONG pulNumLanguages,
[out, optional] PZZWSTR pwszLanguagesBuffer,
[in, out] PULONG pcchLanguagesBuffer
);
매개 변수
[in] dwFlags
언어 형식 및 필터링을 식별하는 플래그입니다. 다음 플래그는 시스템 기본 설정 UI 언어에 사용할 형식을 지정합니다. 플래그는 상호 배타적이고 기본값은 MUI_LANGUAGE_NAME.
값 | 의미 |
---|---|
|
언어 식별자 형식으로 언어 문자열을 검색 합니다. |
|
언어 이름 형식으로 언어 문자열을 검색합니다. |
다음 플래그는 함수가 언어 목록의 유효성을 검사할지(기본값) 또는 레지스트리에 저장된 것과 똑같이 시스템 기본 UI 언어 목록을 검색할지 여부를 지정합니다.
[out] pulNumLanguages
pwszLanguagesBuffer에서 검색된 언어 수에 대한 포인터입니다.
[out, optional] pwszLanguagesBuffer
선택 사항입니다. 이 함수가 dwFlags로 지정된 형식으로 정렬된 null로 구분된 시스템 기본 설정 UI 언어 목록을 검색하는 버퍼에 대한 포인터입니다. 이 목록은 두 개의 null 문자로 끝납니다.
또는 이 매개 변수가 NULL 로 설정되고 pcchLanguagesBuffer 가 0으로 설정된 경우 함수는 pcchLanguagesBuffer에서 필요한 언어 버퍼 크기를 검색합니다. 필요한 크기에는 두 개의 null 문자가 포함됩니다.
[in, out] pcchLanguagesBuffer
pwszLanguagesBuffer로 표시된 언어 버퍼의 크기(문자)에 대한 포인터입니다. 함수에서 성공적으로 반환되면 매개 변수에 검색된 언어 버퍼의 크기가 포함됩니다.
또는 이 매개 변수가 0으로 설정되고 pwszLanguagesBuffer 가 NULL로 설정된 경우 함수는 pcchLanguagesBuffer에서 필요한 언어 버퍼 크기를 검색합니다.
반환 값
성공하면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다. 확장 오류 정보를 가져오기 위해 애플리케이션은 GetLastError를 호출할 수 있으며, 다음 오류 코드 중 하나를 반환할 수 있습니다.
- ERROR_INSUFFICIENT_BUFFER. 제공된 버퍼 크기가 충분히 크지 않거나 NULL로 잘못 설정되었습니다.
다른 이유로 인해 함수가 실패하면 pulNumLanguages 및 pcchLanguagesBuffer 매개 변수가 정의되지 않습니다.
설명
MUI_LANGUAGE_ID 지정하면 검색된 언어 문자열은 16진수 언어 식별자가 됩니다.
앞에 오는 0x를 포함하지 않으며 길이는 4자입니다. 예를 들어 en-US가 반환됩니다.
"0409"로, en을 "0009"로 지정합니다.
시스템 기본 설정 UI 언어는 추가 로캘에 해당하는 둘 이상의 LIP(언어 인터페이스 팩) 언어를 포함할 수 없습니다. 목록에 이러한 언어가 둘 이상 포함되어 있고 애플리케이션이 함수 호출에서 MUI_LANGUAGE_ID 지정하는 경우 언어 버퍼에는 해당 언어에 대한 "1400"이 포함됩니다. 이 문자열은 LOCALE_CUSTOM_UI_DEFAULT 16진수 값에 해당합니다.
MUI_MACHINE_LANGUAGE_SETTINGS 플래그가 설정된 경우 이 함수는 유효한 NLS 로캘을 나타내는 목록의 각 언어를 확인합니다. 검색된 목록에는 다음 항목이 포함될 수 있습니다.
- 시스템에 설치되지 않은 언어
- 중복 언어 항목
- 빈 문자열
MUI_MACHINE_LANGUAGE_SETTINGS 플래그가 설정되지 않은 경우 검색된 언어 목록에는 다음과 같은 특성이 있습니다.
- 각 언어는 유효한 NLS 로캘을 나타냅니다.
- 각 언어는 운영 체제에 설치됩니다.
- 목록에는 중복 항목이 없는 각 언어에 대해 하나의 항목이 포함됩니다.
C# 서명
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.Boolean GetSystemPreferredUILanguages(
System.UInt32 dwFlags,
ref System.UInt32 pulNumLanguages,
System.IntPtr pwszLanguagesBuffer,
ref System.UInt32 pcchLanguagesBuffer
);
요구 사항
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winnls.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |