int crExceptionFilter(unsigned int code, struct _EXCEPTION_POINTERS* ep) { CR_EXCEPTION_INFO ei; memset(&ei, 0, sizeof(CR_EXCEPTION_INFO)); ei.cb = sizeof(CR_EXCEPTION_INFO); ei.exctype = CR_SEH_EXCEPTION; ei.pexcptrs = ep; ei.code = code; int res = GenerateErrorReport(&ei); if(res!=0) { // If goes here than GenerateErrorReport() failed return EXCEPTION_CONTINUE_SEARCH; } return EXCEPTION_EXECUTE_HANDLER; }
extern "C" void __stdcall GenerateErrorReportVB(BSTR message) { GenerateErrorReport(message); }