iw4x-client/src/Components/Modules/Exception.hpp
2017-01-20 14:37:52 +01:00

24 lines
613 B
C++

#pragma once
namespace Components
{
class Exception : public Component
{
public:
Exception();
~Exception();
#if defined(DEBUG) || defined(FORCE_UNIT_TESTS)
const char* getName() override { return "Exception"; };
#endif
static LPTOP_LEVEL_EXCEPTION_FILTER Hook();
private:
static LONG WINAPI ExceptionFilter(LPEXCEPTION_POINTERS ExceptionInfo);
static LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilterStub(LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter);
static __declspec(noreturn) void ErrorLongJmp(jmp_buf _Buf, int _Value);
static Utils::Hook SetFilterHook;
};
}