int CDllMain::PluginException( t_run* trun, const t_disasm* tda, t_thread* thrd, t_reg* treg, wchar_t* msg ){ /*DEBUG_EVENT *debugevent = &trun->de; Addtolist( 1,1,L"Debug Code:%x, First Change:%x, ExceptionCode:%x, ExceptionFlags:%x, ExceptionAddress:%x, Debug Register 6:%x, ContextFlags:%x", debugevent->dwDebugEventCode, debugevent->u.Exception.dwFirstChance, debugevent->u.Exception.ExceptionRecord.ExceptionCode, debugevent->u.Exception.ExceptionRecord.ExceptionFlags, debugevent->u.Exception.ExceptionRecord.ExceptionAddress, thrd->context.Dr6, thrd->context.ContextFlags );*/ return DispatchException(trun, tda, thrd); }
static void throwDispatchException (EXCEPINFO &excepInfo) { // Clean up exception information strings. _bstr_t source(excepInfo.bstrSource, false); _bstr_t description(excepInfo.bstrDescription, false); _bstr_t helpFile(excepInfo.bstrHelpFile, false); HRESULT hr = excepInfo.scode; if (hr == 0) { hr = _com_error::WCodeToHRESULT(excepInfo.wCode); } throw DispatchException(hr, description); }