Windows 95は UNICOWS.LIBを組み込まれてないライブラリ内でCP_UTF8を使うとエラー 87になる

MultiByteToWideChar
関数の説明にCP_UTF8は Windows 98/Me/NT 4.0 以降と書かれていますが、実は Microsoft Layer for Unicodeを有効にしてるとWindows 95でも利用可能になります。

Windows 95: Under the Microsoft Layer for Unicode, MultiByteToWideChar also supports CP_UTF7 and CP_UTF8.

MSDN Library にこっそりと書いてあります

ただ、実行ファイルで UNICOWS.LIBを組み込んでコンパイルしても、DLL側でUNICOWS.LIBが組み込まれていないと、87 (ERROR_INVALID_PARAMETER) になってしまうので注意が必要です

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です