文字列内の各文字が、指定した NLS 機能について定義された結果を持つかを判定する。
IsNLSDefinedString Function, dwFlags, lpVersionInformation, lpString, cchStr
Function : [int] 問い合わせる NLS 機能。この値は COMPARE_STRING でなければならない。SYSNLS_FUNCTION 列挙体を参照のこと。 dwFlags : [int] 関数を定義するフラグ。0 でなければならない。 lpVersionInformation : [var] バージョン情報を含む NLSVERSIONINFO 構造体へのポインタ。通常、この情報は GetNLSVersion を呼んで取得する。現在のバージョンを使わせる場合、アプリケーションはこのパラメータを NULL に設定する。 lpString : [wstr] 検査する UTF-16 文字列へのポインタ。 cchStr : [int] lpString が示す文字列内の UTF-16 文字数。終端 null 文字を含めてもよい。終端 null 文字は常に定義済みとして扱われるので、カウントに含めてもチェック動作に影響しない。文字列が null 終端の場合はアプリケーションから -1 を指定すべきであり、この場合は関数自身が文字列長を計算する。
(プラグイン / モジュール : kernel32.dll)
文字列内の各文字が、指定した NLS 機能について定義された結果を持つかを判定する。 [戻り値] 成功し、かつ入力文字列が有効な場合のみ TRUE を返し、そうでなければ FALSE を返す。拡張エラー情報を取得するには、アプリケーションから GetLastError を呼ぶ。次のいずれかのエラーコードが返ることがある: (以下省略) [備考] この関数は定義済み文字列と未定義文字列を区別するので、Active Directory のようなアプリケーションが未定義コード ポイントを含む文字列を拒否できる。この関数を使うと、アプリケーションがデータベースを再インデックスする必要性を最小限にできる。詳細は Handling Sorting in Your Applications を参照のこと。例えば Function に COMPARE_STRING を指定した場合、IsNLSDefinedString は未定義コード ポイント、未定義 Unicode 文字を表すサロゲート ペア、または不正な形式のサロゲート ペアをチェックする。特定の文字列に対して関数が TRUE を返す場合、CompareString または LCMAP_SORTKEY を指定した LCMapString で取得した結果は、対応する NLS バージョンが変わらない限り同一であることが保証される。
| プラグイン / モジュール | kernel32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |