RabbitCommon v2.2.6
Loading...
Searching...
No Matches
MiniDumper.h
1#ifndef __MiniDumper_H_KL_2022_07_19__
2#define __MiniDumper_H_KL_2022_07_19__
3
4#include <windows.h>
5
6namespace RabbitCommon {
7
15{
16public:
17
18 CMiniDumper(bool bPromptUserForMiniDump);
19 ~CMiniDumper(void);
20
21private:
22
23 static LONG WINAPI unhandledExceptionHandler(struct _EXCEPTION_POINTERS *pExceptionInfo);
24 void setMiniDumpFileName(void);
25 bool getImpersonationToken(HANDLE* phToken);
26 BOOL enablePrivilege(LPCTSTR pszPriv, HANDLE hToken, TOKEN_PRIVILEGES* ptpOld);
27 BOOL restorePrivilege(HANDLE hToken, TOKEN_PRIVILEGES* ptpOld);
28 LONG writeMiniDump(_EXCEPTION_POINTERS *pExceptionInfo );
29
30 _EXCEPTION_POINTERS *m_pExceptionInfo;
31 TCHAR m_szMiniDumpPath[MAX_PATH];
32 TCHAR m_szAppPath[MAX_PATH];
33 TCHAR m_szAppBaseName[MAX_PATH];
34 bool m_bPromptUserForMiniDump;
35
36 static CMiniDumper* s_pMiniDumper;
37 static LPCRITICAL_SECTION s_pCriticalSection;
38};
39
40void EnableMiniDumper();
41
42} //namespace RabbitCommon
43
44#endif // __MiniDumper_H_KL_2022_07_19__
Windows core dumper.
Definition MiniDumper.h:15