RabbitCommon v2.3.3
Loading...
Searching...
No Matches
MiniDumper.h
1// Copyright Copyright (c) Kang Lin studio, All Rights Reserved
2// Author Kang Lin <kl222@126.com>
3
4#ifndef __MiniDumper_H_KL_2022_07_19__
5#define __MiniDumper_H_KL_2022_07_19__
6
7#include <windows.h>
8#include <QString>
9
10namespace RabbitCommon {
11
19{
20public:
21
22 CMiniDumper(bool bPromptUserForMiniDump);
23 ~CMiniDumper(void);
24
25private:
26
27 static LONG WINAPI unhandledExceptionHandler(struct _EXCEPTION_POINTERS *pExceptionInfo);
28 void setMiniDumpFileName(void);
29 bool getImpersonationToken(HANDLE* phToken);
30 BOOL enablePrivilege(LPCTSTR pszPriv, HANDLE hToken, TOKEN_PRIVILEGES* ptpOld);
31 BOOL restorePrivilege(HANDLE hToken, TOKEN_PRIVILEGES* ptpOld);
32 LONG writeMiniDump(_EXCEPTION_POINTERS *pExceptionInfo );
33
34 _EXCEPTION_POINTERS *m_pExceptionInfo;
35 TCHAR m_szMiniDumpPath[MAX_PATH];
36 TCHAR m_szAppPath[MAX_PATH];
37 TCHAR m_szAppBaseName[MAX_PATH];
38 bool m_bPromptUserForMiniDump;
39
40 static CMiniDumper* s_pMiniDumper;
41 static LPCRITICAL_SECTION s_pCriticalSection;
42};
43
44void EnableMiniDumper();
45
46} //namespace RabbitCommon
47
48#endif // __MiniDumper_H_KL_2022_07_19__
Windows core dumper.
Definition MiniDumper.h:19