MultiByteToWideChar

機能
ANSI文字列をUnicode文字列に変換する
Declare Function MultiByteToWideChar Lib "kernel32.dll" _
(ByVal CodePage As Long, ByVal dwFlags As Long, _
ByVal lpMultiByteStr As String, ByVal ccMultiByteStr As Long, _
ByVal lpWideCharStr As String, ByVal cchWideChar As Long) As Long
Declare Function MultiByteToWideChar Lib "kernel32.dll" _
(ByVal CodePage As Integer, ByVal dwFlags As Integer, _
ByVal lpMultiByteStr As String, ByVal ccMultiByteStr As Integer, _
ByVal lpWideCharStr As String, ByVal cchWideChar As Integer) As Integer

int MultiByteToWideChar(
UINT CodePage,
DWORD dwFlags,
LPCSTR lpMultiByteStr,
int cchMultiByte,
LPWSTR lpWideCharStr,
int cchWideChar
);
引数
CodePage

コードページを指定する定数
dwFlags
変換時の動作を指定する方法を指定する定数の組み合わせ
lpMultiByteStr
変換する文字列
ccMultiByteStr
同、バイト数(-1のとき自動的に計算)
lpWideCharStr
(戻り値)変換後の文字列を受け取るバッファ
cchWideChar
同、バイト数
戻り値
正常終了のとき                 バッファにコピーした文字数
エラーのとき                   0
備考
Visual BasicのStrConv関数と同じ
CodePageの定数
CP_ACP = 0                       ANSIコードページ
CP_OEMCP = 1                     OEMコードページ
CP_MACCP = 1                     MACコードページ
dwFlagsの定数

MB_PRECOMPOSED = &H1             作成済み文字を使う(MB_COMPOSITEとは組み合わせない)
MB_COMPOSED = &H2                合成文字を使う(MB_PRECOMPOSITEとは組み合わせない)
MB_ERR_INVALID_CHARS = &H8       不明な文字があったときにエラーを発生する
MB_USEGLYPHCHARS = &H4           制御文字の変わりにグリフ文字を使う