Su MSDN leggo:
mi sa che ti conviene usare TCHAR come tipo invece di char per il tuo buffer perchè penso che per default devi usare i caratteri unicode. Di conseguenza devi racchiudere tutti i literal string con la macro _T() del tipowParam
Specifies the maximum number of TCHARs to be copied, including the terminating null character.
Windows NT/2000/XP:ANSI applications may have the string in the buffer reduced in size (to a minimum of half that of the wParam value) due to conversion from ANSI to Unicode.
TCHAR * pippo = _T("ciao")