다음을 통해 공유


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.

의미
MUI_LANGUAGE_ID
언어 식별자 형식으로 언어 문자열을 검색 합니다.
MUI_LANGUAGE_NAME
언어 이름 형식으로 언어 문자열을 검색합니다.
 

다음 플래그는 함수가 언어 목록의 유효성을 검사할지(기본값) 또는 레지스트리에 저장된 것과 똑같이 시스템 기본 UI 언어 목록을 검색할지 여부를 지정합니다.

의미
MUI_MACHINE_LANGUAGE_SETTINGS
각 언어 이름이 유효한 NLS 로캘에 해당하는지 확인하여 저장된 시스템 기본 설정 UI 언어 목록을 검색합니다. 이 플래그를 설정하지 않으면 목록이 비어 있지 않고 유효성 검사 조건을 충족하는 한 함수는 pwszLanguagesBuffer에서 시스템 기본 설정 UI 언어를 검색합니다. 그렇지 않으면 함수는 언어 버퍼에서 시스템 기본 사용자 인터페이스 언어를 검색합니다.

[out] pulNumLanguages

pwszLanguagesBuffer에서 검색된 언어 수에 대한 포인터입니다.

[out, optional] pwszLanguagesBuffer

선택 사항입니다. 이 함수가 dwFlags로 지정된 형식으로 정렬된 null로 구분된 시스템 기본 설정 UI 언어 목록을 검색하는 버퍼에 대한 포인터입니다. 이 목록은 두 개의 null 문자로 끝납니다.

또는 이 매개 변수가 NULL 로 설정되고 pcchLanguagesBuffer 가 0으로 설정된 경우 함수는 pcchLanguagesBuffer에서 필요한 언어 버퍼 크기를 검색합니다. 필요한 크기에는 두 개의 null 문자가 포함됩니다.

[in, out] pcchLanguagesBuffer

pwszLanguagesBuffer로 표시된 언어 버퍼의 크기(문자)에 대한 포인터입니다. 함수에서 성공적으로 반환되면 매개 변수에 검색된 언어 버퍼의 크기가 포함됩니다.

또는 이 매개 변수가 0으로 설정되고 pwszLanguagesBufferNULL로 설정된 경우 함수는 pcchLanguagesBuffer에서 필요한 언어 버퍼 크기를 검색합니다.

반환 값

성공하면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다. 확장 오류 정보를 가져오기 위해 애플리케이션은 GetLastError를 호출할 수 있으며, 다음 오류 코드 중 하나를 반환할 수 있습니다.

  • ERROR_INSUFFICIENT_BUFFER. 제공된 버퍼 크기가 충분히 크지 않거나 NULL로 잘못 설정되었습니다.

다른 이유로 인해 함수가 실패하면 pulNumLanguagespcchLanguagesBuffer 매개 변수가 정의되지 않습니다.

설명

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 플래그가 설정되고 시스템 기본 설정 UI 언어 목록이 비어 있는 경우 함수는 언어 버퍼의 빈 문자열(다중 문자열 버퍼이므로 null 문자 2개), 언어 수에 0, 버퍼 크기에 대해 2를 검색합니다.

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

참고 항목

GetSystemDefaultUILanguage

GetThreadPreferredUILanguages

GetThreadUILanguage

GetUserPreferredUILanguages

다국어 사용자 인터페이스

다국어 사용자 인터페이스 함수

SetThreadPreferredUILanguages