VerifyScripts

2 つの列挙されたスクリプトリストを比較する。

VerifyScripts dwFlags, lpLocaleScripts, cchLocaleScripts, lpTestScripts, cchTestScripts

dwFlags : [int] スクリプト検証オプションを指定するフラグ。
lpLocaleScripts : [wstr] ロケールリストへのポインタ。GetLocaleInfoEx を LCType に LOCALE_SSCRIPTS で呼び出すと得られる、対象ロケール用のスクリプト列挙リスト。
cchLocaleScripts : [int] lpLocaleScripts が示す文字列のサイズ(文字単位)。NULL 終端文字列なら -1 を指定する。0 を指定すると関数は失敗する。
lpTestScripts : [wstr] テストリストへのポインタ。GetStringScripts で得られる、もう一つのスクリプト列挙リスト。
cchTestScripts : [int] lpTestScripts が示す文字列のサイズ(文字単位)。NULL 終端文字列なら -1 を指定する。0 を指定すると関数は失敗する。

(プラグイン / モジュール : kernel32.dll)

解説

2 つの列挙されたスクリプトリストを比較する。

[戻り値]
テストリストが空でなく、その全項目がロケールリストにも含まれる場合、TRUE
を返す。ロケールリストにテストリストより多くのスクリプトが含まれていても、テストリストの全項目がロケールリストに含まれていれば TRUE
を返す。dwFlags に VS_ALLOW_LATIN を指定した場合、関数は "Latn;"
が常にロケールリストに含まれているかのように動作する。それ以外は FALSE を返す。FALSE
はテストリストにロケールリストにない項目があることを示すか、エラーを示す可能性がある。区別するには GetLastError
を呼ぶ。次のいずれかのエラーコードが返ることがある。
(以下省略)

[備考]
本関数は "Latn;Cyrl;" のような 4 文字スクリプト名 + セミコロンの並びからなる文字列を比較する。Latin
スクリプトは多くの言語・ロケールで非ネイティブとして使われる事実を考慮した特例も持つ。本関数は国際化ドメイン名 (IDN)
に関連するセキュリティ問題を緩和する戦略の一部として有用である。テストリストに終端セミコロンがない (不正な文字列)
ケースや空リストの例も含めた様々なシナリオでの戻り値と GetLastError の例を以下に示す。
(以下省略)

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs