UTF-16(ワイド文字)文字列を新しい文字列にマップする。
WideCharToMultiByte CodePage, dwFlags, lpWideCharStr, cchWideChar, lpMultiByteStr, cbMultiByte, lpDefaultChar, lpUsedDefaultChar
CodePage : [int] 変換に使用するコードページ。 dwFlags : [int] lpWideCharStr : [wstr] 変換する Unicode 文字列へのポインタ。 cchWideChar : [int] lpWideCharStr が示す文字列のサイズ(文字単位)。NULL 終端文字列なら -1 を指定可能。0 なら関数は失敗する。-1 なら終端 NULL を含む全入力を処理し、結果も終端 NULL を含む。 lpMultiByteStr : [str] 変換された文字列を受け取るバッファへのポインタ。 cbMultiByte : [int] lpMultiByteStr が示すバッファのサイズ(バイト単位)。0 なら必要なバッファサイズ(バイト単位、終端 NULL を含む)を返し lpMultiByteStr を使用しない。 lpDefaultChar : [str] 指定コードページで表現できない文字がある場合に使用する文字へのポインタ。NULL でシステム既定値が使われる。CP_UTF7 および CP_UTF8 では NULL にしなければならない。 lpUsedDefaultChar : [var] 変換で既定文字が使われたかを示すフラグへのポインタ。元文字列の 1 つ以上の文字が指定コードページで表現できない場合 TRUE。NULL 可。CP_UTF7/CP_UTF8 では NULL にしなければならない。
(プラグイン / モジュール : kernel32.dll)
UTF-16(ワイド文字)文字列を新しい文字列にマップする。 [戻り値] 成功した場合、戻り値は lpMultiByteStr に書き込まれたバイト数。成功して cbMultiByte が 0 の場合、戻り値は必要なバッファサイズ(バイト単位)。失敗した場合は 0。 (以下省略) [備考] lpMultiByteStr と lpWideCharStr は同じポインタであってはならない。入力長が明示的に終端 NULL なしで指定された場合、出力は NULL 終端されない。-1 を渡すか終端 NULL を明示的にカウントすることで NULL 終端にできる。cbMultiByte が cchWideChar より小さい場合、cbMultiByte で指定されたバイト数が書き込まれる。ただし CodePage が CP_SYMBOL の場合は何も書き込まれない。lpDefaultChar と lpUsedDefaultChar をともに NULL にすると最も効率的に動作する。 (以下省略)
| プラグイン / モジュール | 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 |