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 |