MultiByteToWideChar

文字列を UTF-16(ワイド文字)文字列にマップする。

MultiByteToWideChar CodePage, dwFlags, lpMultiByteStr, cbMultiByte, lpWideCharStr, cchWideChar

CodePage : [int] 変換に使用するコードページ。システムにインストールまたは利用可能な任意のコードページ値を設定できる。
dwFlags : [int] 
lpMultiByteStr : [str] 変換する文字列へのポインタ。
cbMultiByte : [int] lpMultiByteStr が示す文字列のサイズ(バイト単位)。NULL 終端文字列なら -1 を指定可能。0 の場合、関数は失敗する。-1 なら終端 NULL を含む全入力文字列を処理し、結果の Unicode 文字列も終端 NULL を含み、戻り値にもこの文字が含まれる。正の整数なら指定バイト数ちょうどを処理する。
lpWideCharStr : [wstr] 変換された文字列を受け取るバッファへのポインタ。
cchWideChar : [int] lpWideCharStr バッファのサイズ(文字単位)。0 なら必要なバッファサイズ(終端 NULL を含む文字単位)を返し、lpWideCharStr バッファを使用しない。

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

解説

文字列を UTF-16(ワイド文字)文字列にマップする。

[戻り値]
成功した場合、戻り値は lpWideCharStr に書き込まれた文字数。成功して cchWideChar が 0
の場合、戻り値は必要なバッファサイズ(文字単位)。関数が失敗した場合は 0 を返す。
(以下省略)

[備考]
既定の動作は入力文字列を precomposed 形式に変換すること。存在しない場合は composite
形式を試みる。MB_PRECOMPOSED フラグは多くの入力データが既に composed
のためコードページへの影響はほとんどない。NormalizeString の呼び出しを検討するとよい。lpMultiByteStr と
lpWideCharStr は同じポインタであってはならない。入力長が明示的に終端 NULL なしで指定された場合、出力は NULL
終端されない。-1 を渡すか終端 NULL を明示的にカウントすることで NULL 終端にできる。
(以下省略)

情報

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