Share via


GetUILanguageInfo 함수(winnls.h)

설치된 UI 언어에 대한 다양한 정보를 검색합니다.

  • 언어가 설치되어 있나요?
  • 현재 사용자에게 언어 사용이 허가되어 있나요?
  • 언어가 완전히 지역화되어 있나요? 부분적으로 지역화되어 있나요? LIP(언어 설치 팩)의 일부인가요?
  • 부분적으로 지역화되거나 LIP의 일부인 경우:
    • 대체 언어란?
    • 대체 언어가 부분적으로 지역화된 언어인 경우 해당 기본 언어는 무엇인가요?
    • 기본 대체 언어란?

구문

BOOL GetUILanguageInfo(
  [in]                DWORD    dwFlags,
  [in]                PCZZWSTR pwmszLanguage,
  [out, optional]     PZZWSTR  pwszFallbackLanguages,
  [in, out, optional] PDWORD   pcchFallbackLanguages,
  [out]               PDWORD   pAttributes
);

매개 변수

[in] dwFlags

지정된 언어의 형식을 정의하는 플래그입니다. 플래그는 함께 사용할 수 없으며 기본값은 MUI_LANGUAGE_NAME.

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

[in] pwmszLanguage

함수가 정보를 검색할 언어에 대한 포인터입니다. 이 매개 변수는 플래그 설정에 따라 정렬된 null로 구분된 언어 식별자 또는 언어 이름 목록을 나타냅니다. 이 매개 변수의 사용에 대한 자세한 내용은 설명 섹션을 참조하세요.

[out, optional] pwszFallbackLanguages

이 함수가 dwFlags에 대한 설정으로 정의된 형식으로 정렬된 null로 구분된 대체 언어 목록을 검색하는 버퍼에 대한 포인터입니다. 이 목록은 두 개의 null 문자로 끝납니다.

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

[in, out, optional] pcchFallbackLanguages

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

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

[out] pAttributes

입력 언어 목록의 특성을 나타내는 플래그에 대한 포인터입니다. 함수는 항상 나열된 마지막 언어의 특징을 나타내는 플래그를 검색합니다.

의미
MUI_FULL_LANGUAGE
언어는 완전히 지역화됩니다.
MUI_PARTIAL_LANGUAGE
언어는 부분적으로 지역화됩니다.
MUI_LIP_LANGUAGE
언어는 LIP 언어입니다.
 

또한 pdwAttributes 에는 다음 플래그 중 하나 또는 둘 다를 적절하게 포함합니다.

의미
MUI_LANGUAGE_INSTALLED
언어가 이 컴퓨터에 설치됩니다.
MUI_LANGUAGE_LICENSED
언어는 현재 사용자에 대해 적절하게 라이선스가 부여됩니다.

반환 값

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

  • ERROR_INSUFFICIENT_BUFFER. 제공된 버퍼 크기가 충분히 크지 않거나 NULL로 잘못 설정되었습니다.
  • ERROR_INVALID_PARAMETER. 매개 변수 값이 잘못되었습니다. 자세한 내용은 설명 부분을 참조하세요.
  • ERROR_OBJECT_NAME_NOT_FOUND. 지정한 개체 이름을 찾을 수 없거나 유효하지 않거나 입력 목록의 첫 번째 언어가 설치된 언어가 아닙니다. 자세한 내용은 설명 부분을 참조하세요.
GetLastError가 다른 오류 코드를 반환하는 경우 pcchFallbackLanguagespdwAttributes 매개 변수는 정의되지 않습니다.

설명

MUI_LANGUAGE_NAME 함수가 미리 정의된 로캘에 해당하지 않고 추가 로캘에 해당하는 LIP 언어를 더 잘 처리할 수 있도록 하기 때문에 MUI_LANGUAGE_ID 권장됩니다. 미리 정의된 로캘에 해당하는 LIP 언어는 비 LIP 언어처럼 처리됩니다.

MUI_LANGUAGE_ID 플래그를 지정하는 경우 제공된 언어 문자열은

앞에 오는 0x를 포함하지 않고 길이가 4자인 16진수 언어 식별자를 사용합니다.

예를 들어 en-US는 "0409"로, en은 "0009"로 전달되어야 합니다. 반환된 언어 문자열은

동일한 형식입니다.

MUI_LANGUAGE_ID 지정하고 사용자가 선호하는 UI 언어 목록에 이러한 언어가 있는 경우 목록에 이러한 언어가 하나만 있을 수 있습니다. 해당 언어는 pwmszLanguage에서 LOCALE_CUSTOM_UI_DEFAULT 16진수 값에 해당하는 "1400"으로 지정할 수 있습니다. 다른 언어는 MUI_LANGUAGE_ID 사용하여 지정할 수 없습니다. pwmszLanguage로 표시된 문자열에서 LOCALE_CUSTOM_UNSPECIFIED 16진수 값에 해당하는 "1000"을 사용하면 ERROR_INVALID_PARAMETER 코드가 생성됩니다.

부분적으로 지역화된 언어는 부분적으로 지역화된 대체 언어를 가질 수 있으며, 전체 정보를 얻기 위해 GetUILanguageInfo 를 반복적으로 호출해야 합니다. 세 가지 대체 언어 중에서 선택할 수 있는 부분적으로 지역화된 언어 Lang1의 경우를 고려해 보세요. Lang3 대체 언어는 부분적으로 지역화되며 두 가지 대체 언어 중에서 선택할 수 있습니다. 종속성은 다음과 같습니다. 기본 대체 항목이 먼저 나열됩니다.

  • Lang1
    • Lang2
    • Lang3
      • Lang5
      • Lang6
    • Lang4
Lang1의 대체 언어를 가져오기 위해 애플리케이션은 pwmszLanguage 를 "Lang1\0\0"으로 전달합니다. 함수에서 반환되면 pwszFallbackLanguages 가 "Lang2\0Lang3\0Lang4\0\0"으로 설정됩니다. 이 목록의 순서는 Lang2가 기본 대체 언어임을 나타냅니다.

Lang1과 관련하여 Lang3의 대체 언어를 가져오기 위해 애플리케이션은 pwmszLanguage 를 "lang1\0\lang3\0\0\0"으로 전달합니다. 함수에서 반환되면 pwszFallbackLanguages 가 "Lang5\0Lang6\0\0"으로 설정됩니다.

이 함수는 다음 중 ERROR_INVALID_PARAMETER 반환합니다.

  • pwmszLanguageNULL 이거나 비어 있습니다.
  • MUI_LANGUAGE_ID 및 MUI_LANGUAGE_NAME 모두 설정됩니다.
  • MUI_LANGUAGE_ID 또는 MUI_LANGUAGE_NAME 이외의 모든 플래그가 설정됩니다.
  • pcchFallbackLanguages 는 0보다 크지만 pwszFallbackLanguagesNULL입니다.
  • pwmszLanguage 는 플래그 설정에 따라 언어 식별자 또는 언어 이름의 다중 문자열 버퍼로 구문 분석할 수 없습니다.
pwmszLanguage를 구문 분석할 수 있지만 유효하지 않은 경우 ERROR_OBJECT_NAME_NOT_FOUND 오류 코드가 발생합니다. 잘못된 로캘 식별자에 대해 코드가 반환되거나 입력 목록의 첫 번째 언어가 설치된 언어가 아니거나 완전히 지역화된 언어가 대체 언어를 정의한 경우에도 반환될 수 있습니다.

C# 서명

[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
        static extern System.Boolean GetUILanguageInfo(
            System.UInt32 dwFlags,
            System.String pwmszLanguage,
            System.IntPtr pwszFallbackLanguages,
            ref System.UInt32 pcchFallbackLanguages,
            ref System.UInt32 pdwAttributes
            );

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winnls.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

EnumUILanguages

GetFileMUIInfo

다국어 사용자 인터페이스

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