收到 wchar_t * 用 ::MessageBoxW(0, text, 0, MB_OK);先把内容印出来看看,如果内容正常代表有其他的问题通常由 DLL 配置的内存,都会有另一接口进行删除除非该回传的内存位置,没有想要让使用者进行删除因为不同的 DLL 可能有不同的 heap,通常不会这样删除当然这得看实作,其原因也可参阅
http://goo.gl/K4S2NP另外在 Windows 上非法写入就是 access violation其错误代码为 0xc0000005,也可用 SEH 或者 VEH 拦截