GetNLSVersionEx 関数 (winnls.h)
name で指定されたロケールの指定された NLS 機能の現在のバージョンに関する情報を取得します。
構文
BOOL GetNLSVersionEx(
[in] NLS_FUNCTION function,
[in, optional] LPCWSTR lpLocaleName,
[in, out] LPNLSVERSIONINFOEX lpVersionInformation
);
パラメーター
[in] function
クエリを実行する NLS 機能。 この値はCOMPARE_STRINGする必要があります。 SYSNLS_FUNCTION列挙を参照してください。
[in, optional] lpLocaleName
ロケール名、または次のいずれかの定義済み値へのポインター。
[in, out] lpVersionInformation
NLSVERSIONINFOEX 構造体へのポインター。 アプリケーションでは、 dwNLSVersionInfoSize メンバーを に初期化する sizeof(NLSVERSIONINFOEX)
必要があります。
戻り値
アプリケーションが lpVersionInformation で有効な値を指定した場合にのみ TRUE を返し、それ以外の場合は FALSE を返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。このエラー コードは、次のいずれかのエラー コードを返すことができます。
- ERROR_INSUFFICIENT_BUFFER。 指定されたバッファー サイズが十分な大きさではなかったか、 正しく NULL に設定されていません。
- ERROR_INVALID_FLAGS。 フラグに指定された値が無効です。
- ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効です。
注釈
この関数を使用すると、Active Directory などのアプリケーションで、NLS の変更が特定のインデックス テーブルに使用されるロケールに影響するかどうかを判断できます。 そうでない場合は、テーブルのインデックスを再作成する必要はありません。 詳細については、「 アプリケーションでの並べ替えの処理」を参照してください。 特に、並べ替えバージョンが変更されたかどうかを確認するために、インデックスを再作成する必要があります。
- データの元のインデックス作成を実行するときに、 GetNLSVersionEx を使用して NLSVERSIONINFOEX 構造体を取得します。
- 次のプロパティをインデックスに格納して、バージョンを識別します。
- NLSVERSIONINFOEX.dwNLSVersion。 これは、使用している並べ替えテーブルのバージョンを指定します。
- NLSVERSIONINFOEX.dwEffectiveId。 これにより、並べ替えの有効なロケールが指定されます。 カスタム ロケールは、インボックス ロケールの並べ替えを指します。
- NLSVERSIONINFOEX.guidCustomVersion。 これは、それらを持つカスタム ロケールの特定のカスタム並べ替えを指定する GUID です。
- インデックスを使用する場合は 、GetNLSVersionEx を 使用してデータのバージョンを検出します。
- 3 つのプロパティのいずれかが変更された場合、使用している並べ替えデータによって異なる結果が返され、インデックス作成でレコードが見つからない可能性があります。
- データに無効な Unicode コード ポイント (つまり、すべての文字列が IsNLSDefinedString の呼び出しを渡した) が含まれていないことがわかっている場合は、dwNLSVersion の下位バイトのみが変更された場合 (上記のマイナー バージョン) は同じと見なすことができます。
この関数は、 カスタム ロケールをサポートします。 lpLocaleName で補助ロケールが指定されている場合、取得されるデータは、その補足ロケールに関連付けられている並べ替え順序に適したデータになります。
Windows 8以降: アプリが Windows.Globalization 名前空間からこの関数に言語タグを渡す場合は、最初に ResolveLocaleName を呼び出してタグを変換する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | winnls.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |