FoldStringW

ある Unicode 文字列を別の Unicode 文字列にマップし、指定された変換を実行する。(FoldStringW)

FoldStringW dwMapFlags, lpSrcStr, cchSrc, lpDestStr, cchDest

dwMapFlags : [int] 
lpSrcStr : [wstr] 関数がマップするソース文字列へのポインタ。
cchSrc : [int] lpSrcStr が指すソース文字列のサイズ(終端 NULL 文字を除く文字数)。アプリケーションは、ソース文字列が NULL 終端であることを指定するために、このパラメータに任意の負の値を設定できる。この場合、関数は文字列の長さを自動的に計算し、lpDestStr が指すマップされた文字列を NULL 終端にする。
lpDestStr : [wstr] この関数がマップされた文字列を取得するバッファへのポインタ。
cchDest : [int] lpDestStr が指す宛先文字列のサイズ(文字数)。終端 NULL 文字の領域が cchSrc に含まれている場合、cchDest にも終端 NULL 文字の領域を含めなければならない。アプリケーションは cchDest を 0 に設定できる。この場合、関数は lpDestStr パラメータを使用せず、マップされた文字列に必要なバッファサイズを返す。MAP_FOLDDIGITS フラグが指定されている場合、戻り値は実際に必要な文字数が最大サイズより小さくても、必要な最大サイズである。最大サイズが渡されない場合、関数は ERROR_INSUFFICIENT_BUFFER で失敗する。

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

解説

ある Unicode 文字列を別の Unicode 文字列にマップし、指定された変換を実行する。(FoldStringW)

[戻り値]
成功した場合、終端 NULL 文字を含む変換後の文字列内の文字数を返す。関数が成功し cchDest の値が 0 の場合、戻り値は終端
NULL 文字を含む変換後の文字列を保持するために必要なバッファのサイズである。この関数は成功しなかった場合 0
を返す。拡張エラー情報を取得するには、アプリケーションは GetLastError
を呼ぶことができ、次のいずれかのエラーコードを返すことがある。
(以下省略)

[備考]
lpSrcStr と lpDestStr パラメータの値は同じであってはならない。同じ場合、関数は
ERROR_INVALID_PARAMETER で失敗する。Unicode
内の互換性ゾーンは、文字用の他のエンコーディング標準からの文字に割り当てられているが、実際には既に Unicode
内の文字のバリアントである 0xF900 から 0xFFEF
の範囲の文字で構成される。互換性ゾーンはこれらの標準への往復マッピングをサポートするために使用される。アプリケーションは
MAP_FOLDCZONE フラグを使うことで、互換性ゾーン内の文字の重複をサポートしないようにできる。Windows Vista 以降:
この関数は Unicode 正規化をサポートする。すべての Unicode 互換性文字がマップされる。Windows Vista 以降:
MAP_FOLDCZONE、MAP_PRECOMPOSED、MAP_COMPOSITE フラグで示される変換は、マッピングを行うために
Unicode 正規化形式 KC、C、D(NormalizeString 関数を通じて)を使用する。Windows 8 以降: この関数の
ANSI 版は Winnls.h で宣言され、Unicode 版は Stringapiset.h で宣言されている。Windows 8
より前は、両方の版が Winnls.h で宣言されていた。

情報

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