GetStringScripts

指定した Unicode 文字列で使用されているスクリプトのリストを提供する。

GetStringScripts dwFlags, lpString, cchString, lpScripts, cchScripts

dwFlags : [int] スクリプト取得のオプションを指定するフラグ。
lpString : [wstr] 解析対象の Unicode 文字列へのポインタ。
cchString : [int] lpString が示す Unicode 文字列のサイズ(文字数)。Unicode 文字列が null 終端されている場合、アプリケーションはこのパラメータを -1 に設定する。アプリケーションがこのパラメータを 0 に設定すると、関数は lpScripts に null Unicode 文字列 (L"\0") を取得し、1 を返す。
lpScripts : [wstr] この関数が、ISO 15924 で使用される 4 文字表記を用いてスクリプトのリストを表す null 終端文字列を取得するバッファへのポインタ。各スクリプト名は 4 つのラテン文字で構成され、名前はアルファベット順で取得される。最後を含む各名前の後にセミコロンが続く。あるいは、cchScripts が 0 に設定されている場合、このパラメータには NULL が含まれる。その場合、関数はスクリプトバッファに必要なサイズを返す。
cchScripts : [int] lpScripts が示すスクリプトバッファのサイズ(文字数)。あるいは、アプリケーションはこのパラメータを 0 に設定できる。その場合、関数は lpScripts に NULL を取得し、スクリプトバッファに必要なサイズを返す。

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

解説

指定した Unicode 文字列で使用されているスクリプトのリストを提供する。

[戻り値]
成功して cchScripts が 0 以外の値に設定されている場合、出力バッファに取得された文字数(終端 null
文字を含む)を返す。関数は、入力文字列に COMMON または INHERITED
文字のみが含まれ、GSS_ALLOW_INHERITED_COMMON
が設定されていない場合など、スクリプトが見つからなかったことを示すために 1 を返す。各検出スクリプトは 5 文字(4 文字 +
区切り文字)を追加するため、簡単な計算でスクリプト数を (return_code - 1) / 5 として求められる。関数が成功し
cchScripts が 0 の場合、関数はスクリプトバッファに必要なサイズ(終端 null
文字を含む文字数)を返す。スクリプト数は前述のとおりである。成功しなかった場合、関数は 0
を返す。拡張エラー情報を取得するには、アプリケーションは GetLastError を呼ぶ。これは以下のいずれかのエラーコードを返す。
(以下省略)

[備考]
この関数は国際化ドメイン名 (IDN) 関連のセキュリティ問題を緩和する戦略の一部として有用である。スクリプトの判定は、未割り当ての文字が
"Zyyy" (COMMON) ではなく "Zzzz" (UNASSIGNED)
の値を持つことを除き、http://www.unicode.org/Public/4.1.0/ucd/Scripts.txt で
Unicode コンソーシアムが公開しているスクリプト値に基づく。この関数の動作の例を以下に示す。
(以下省略)

情報

プラグイン / モジュール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