1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-07-26 17:14:09 +00:00
openmw/components/crashcatcher/windows_crashshm.hpp
AnyOldName3 9010a5bb32 Emit visible errors when crash dump creation fails
Also possibly fix the errors, as I was getting them when I started testing, and then wasn't by the time I'd got the code how I wanted it.
However, nothing in this commit looks like it *should* fix any errors.
2025-06-09 00:20:58 +01:00

58 lines
1.3 KiB
C++

#ifndef WINDOWS_CRASHSHM_HPP
#define WINDOWS_CRASHSHM_HPP
#include <components/misc/windows.hpp>
namespace Crash
{
// Used to communicate between the app and the monitor, fields are is overwritten with each event.
static constexpr const int MAX_LONG_PATH = 0x7fff;
static constexpr const int MAX_FILENAME = 0xff;
struct CrashSHM
{
enum class Event
{
None,
Startup,
Crashed,
Shutdown
};
Event mEvent;
enum class Status
{
Uninitialised,
Monitoring,
Dumping,
DumpedSuccessfully,
FailedDumping
};
Status mMonitorStatus;
struct Startup
{
HANDLE mAppProcessHandle;
DWORD mAppMainThreadId;
HANDLE mSignalApp;
HANDLE mSignalMonitor;
HANDLE mShmMutex;
char mDumpDirectoryPath[MAX_LONG_PATH];
char mCrashDumpFileName[MAX_FILENAME];
char mFreezeDumpFileName[MAX_FILENAME];
} mStartup;
struct Crashed
{
DWORD mThreadId;
CONTEXT mContext;
EXCEPTION_RECORD mExceptionRecord;
} mCrashed;
};
} // namespace Crash
#endif // WINDOWS_CRASHSHM_HPP