收到 wchar_t * 用 ::MessageBoxW(0, text, 0, MB_OK);先把內容印出來看看,如果內容正常代表有其他的問題通常由 DLL 配置的記憶體,都會有另一接口進行刪除除非該回傳的記憶體位置,沒有想要讓使用者進行刪除因為不同的 DLL 可能有不同的 heap,通常不會這樣刪除當然這得看實作,其原因也可參閱
http://goo.gl/K4S2NP另外在 Windows 上非法寫入就是 access violation其錯誤代碼為 0xc0000005,也可用 SEH 或者 VEH 攔截