GetProcessPreferredUILanguages 関数 (winnls.h)

プロセスの優先 UI 言語を取得します。 詳細については、「 ユーザー インターフェイス言語管理」を参照してください。

構文

BOOL GetProcessPreferredUILanguages(
  [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
言語名の形式で 言語 文字列を取得します。

[out] pulNumLanguages

pwszLanguagesBuffer で取得された言語の数へのポインター。

[out, optional] pwszLanguagesBuffer

省略可能。 関数が順序付けされた null で区切られたリストを優先順に取得する、2 つの null で終わる複数文字列バッファーへのポインター。最も望ましい順序から始まります。

または、このパラメーターが NULL に設定され、 pcchLanguagesBuffer が 0 に設定されている場合、関数は pcchLanguagesBuffer 内の言語バッファーの必要なサイズを取得します。 必要なサイズには、2 つの null 文字が含まれます。

[in, out] pcchLanguagesBuffer

pwszLanguagesBuffer で示される言語バッファーのサイズ (文字数) へのポインター。 関数から正常に戻った場合、 パラメーターには、取得した言語バッファーのサイズが含まれます。

または、このパラメーターが 0 に設定され、 pwszLanguagesBufferNULL に設定されている場合、関数は pcchLanguagesBuffer 内の言語バッファーの必要なサイズを取得します。

戻り値

成功した場合は TRUE 、それ以外の場合 は FALSE を 返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。このエラー コードは、次のいずれかのエラー コードを返すことができます。

  • ERROR_INSUFFICIENT_BUFFER。 指定されたバッファー サイズが十分な大きさではなかったか、 正しく NULL に設定されていません。
  • ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効です。
プロセスの優先 UI 言語リストが空の場合、またはプロセスに指定された言語が無効な場合、関数は成功し、 pwszLanguagesBuffer で空のマルチストリングを返し、 pcchLanguagesBuffer パラメーターに 2 を返します。

解説

この関数は、アプリケーションで指定されたフラグに応じて、プロセス優先 UI 言語で構成されるリストを取得できます。 重複する言語が検出された場合、関数は重複する言語の最初のインスタンスのみを取得します。

MUI_LANGUAGE_IDが指定されている場合、取得される言語文字列は 16 進数の言語識別子になります

は先頭の 0x を含まず、長さは 4 文字です。 たとえば、en-US が返されます

"0409" として、en を "0009" として使用します。

メモ MUI_LANGUAGE_IDよりもMUI_LANGUAGE_NAMEの使用をお勧めします。
 

C# シグネチャ

[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
        static extern System.Boolean GetProcessPreferredUILanguages(
            System.UInt32 dwFlags,
            ref System.UInt32 pulNumLanguages,
            System.IntPtr pwszLanguagesBuffer,
            ref System.UInt32 pcchLanguagesBuffer
            );

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winnls.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

多言語ユーザー インターフェイス

多言語ユーザー インターフェイス関数

SetProcessPreferredUILanguages