ResolveLocaleName 関数 (winnls.h)

指定した名前に一致する 可能性のあるロケール名 を検索します。

構文

int ResolveLocaleName(
  [in, optional]  LPCWSTR lpNameToResolve,
  [out, optional] LPWSTR  lpLocaleName,
  [in]            int     cchLocaleName
);

パラメーター

[in, optional] lpNameToResolve

解決する名前へのポインター 。たとえば、英語 (プライベート使用) の場合は "en-XA" です。

[out, optional] lpLocaleName

この関数が入力名と一致するロケール名を取得するバッファーへのポインター。 たとえば、"en-XA" という名前の一致は、英語 (米国) の場合は "en-US" です。

メモ 関数が失敗した場合、出力バッファーの状態が正確であるとは限りません。 この場合、アプリケーションは関数によって設定された戻り値とエラー状態をチェックして、正しい対処方法を決定する必要があります。
 

[in] cchLocaleName

lpLocaleName で示されるバッファーのサイズ (文字数)。 ロケール名の最大長 (終端の null 文字を含む) は、 LOCALE_NAME_MAX_LENGTHの値です。 これは、このパラメーターで指定する推奨サイズです。

戻り値

成功した場合は、終端の null 文字を含むロケール名を含むバッファーのサイズを返します。

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

  • ERROR_INSUFFICIENT_BUFFER。 指定されたバッファー サイズが十分な大きさではなかったか、 正しく NULL に設定されていません。

解説

取得したロケール名は、入力言語がニュートラルであっても、言語や国/地域を含む特定のロケールを示します。 たとえば、英語 (米国) の "en" を入力すると、関数は "en-US" を取得します。

この関数は、 カスタム ロケールからデータを取得できます。 データは、コンピューターからコンピューター、またはアプリケーションの実行の間に同じであるとは限りません。また、有効なロケールを返しても、別のコンピューターで有効になることは保証されません。 アプリケーションでデータを永続化または送信する必要がある場合は、「 永続的なロケール データの使用」を参照してください。

Windows 8 以降:Windows.Globalization 名前空間から取得した言語タグは、各国語サポート関数で使用する前に ResolveLocaleName で変換する必要があります。

要件

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

関連項目

各国語サポート

各国語サポート関数

Windows.Globalization