GME  13
Classes | Defines | Typedefs | Functions
CrashRpt.h File Reference

Defines the interface for the CrashRpt.DLL. More...

Go to the source code of this file.

Classes

struct  tagCR_INSTALL_INFOW
struct  tagCR_INSTALL_INFOA
struct  tagCR_EXCEPTION_INFO
class  CrAutoInstallHelper
 Installs exception handlers in constructor and uninstalls in destructor. More...
class  CrThreadAutoInstallHelper
 Installs (uninstalls) exception handlers for the caller thread in class' constructor (destructor). More...

Defines

#define __reserved
#define __in
#define __in_opt
#define __out_ecount_z(x)
#define CRASHRPT_EXTERNC
#define CRASHRPTAPI(rettype)   CRASHRPT_EXTERNC rettype WINAPI
#define CRASHRPT_VER   1210
 Current CrashRpt version.
#define Install   InstallA
 Character set-independent mapping of InstallW() and InstallA() functions.
#define AddFile   AddFileA
 Character set-independent mapping of AddFileW() and AddFileA() functions.
#define CR_HTTP   0
 Send error report via HTTP (or HTTPS) connection.
#define CR_SMTP   1
 Send error report via SMTP connection.
#define CR_SMAPI   2
 Send error report via simple MAPI (using default mail client).
#define CR_NEGATIVE_PRIORITY   ((UINT)-1)
 Special priority constant that allows to skip certain delivery method.
#define CR_INST_STRUCTURED_EXCEPTION_HANDLER   0x1
 Install SEH handler (deprecated name, use CR_INST_SEH_EXCEPTION_HANDLER instead).
#define CR_INST_SEH_EXCEPTION_HANDLER   0x1
 Install SEH handler.
#define CR_INST_TERMINATE_HANDLER   0x2
 Install terminate handler.
#define CR_INST_UNEXPECTED_HANDLER   0x4
 Install unexpected handler.
#define CR_INST_PURE_CALL_HANDLER   0x8
 Install pure call handler (VS .NET and later).
#define CR_INST_NEW_OPERATOR_ERROR_HANDLER   0x10
 Install new operator error handler (VS .NET and later).
#define CR_INST_SECURITY_ERROR_HANDLER   0x20
 Install security error handler (VS .NET and later).
#define CR_INST_INVALID_PARAMETER_HANDLER   0x40
 Install invalid parameter handler (VS 2005 and later).
#define CR_INST_SIGABRT_HANDLER   0x80
 Install SIGABRT signal handler.
#define CR_INST_SIGFPE_HANDLER   0x100
 Install SIGFPE signal handler.
#define CR_INST_SIGILL_HANDLER   0x200
 Install SIGILL signal handler.
#define CR_INST_SIGINT_HANDLER   0x400
 Install SIGINT signal handler.
#define CR_INST_SIGSEGV_HANDLER   0x800
 Install SIGSEGV signal handler.
#define CR_INST_SIGTERM_HANDLER   0x1000
 Install SIGTERM signal handler.
#define CR_INST_ALL_EXCEPTION_HANDLERS   0
 Install all possible exception handlers.
#define CR_INST_CRT_EXCEPTION_HANDLERS   0x1FFE
 Install exception handlers for the linked CRT module.
#define CR_INST_NO_GUI   0x2000
 Do not show GUI, send report silently (use for non-GUI apps only).
#define CR_INST_HTTP_BINARY_ENCODING   0x4000
 Use multi-part HTTP uploads with binary attachment encoding.
#define CR_INST_DONT_SEND_REPORT   0x8000
 Don't send error report immediately, just save it locally.
#define CR_INST_APP_RESTART   0x10000
 Restart the application on crash.
#define CR_INST_NO_MINIDUMP   0x20000
 Do not include minidump file to crash report.
#define CR_INST_SEND_QUEUED_REPORTS   0x40000
 CrashRpt should send error reports that are waiting to be delivered.
#define CR_INST_STORE_ZIP_ARCHIVES   0x80000
 CrashRpt should store both uncompressed error report files and ZIP archives.
#define crInstall   crInstallA
 Character set-independent mapping of crInstallW() and crInstallA() functions.
#define crAddFile   crAddFileA
 Character set-independent mapping of crAddFileW() and crAddFileA() functions.
#define CR_AF_TAKE_ORIGINAL_FILE   0
 Take the original file (do not copy it to the error report folder).
#define CR_AF_MAKE_FILE_COPY   1
 Copy the file to the error report folder.
#define CR_AF_FILE_MUST_EXIST   0
 Function will fail if file doesn't exist at the moment of function call.
#define CR_AF_MISSING_FILE_OK   2
 Do not fail if file is missing (assume it will be created later).
#define crAddFile2   crAddFile2A
 Character set-independent mapping of crAddFile2W() and crAddFile2A() functions.
#define CR_AS_VIRTUAL_SCREEN   0
 Take a screenshot of the virtual screen.
#define CR_AS_MAIN_WINDOW   1
 Take a screenshot of application's main window.
#define CR_AS_PROCESS_WINDOWS   2
 Take a screenshot of all visible process windows.
#define CR_AS_GRAYSCALE_IMAGE   4
 Make a grayscale image instead of a full-color one.
#define CR_AS_USE_JPEG_FORMAT   8
 Store screenshots as JPG files.
#define crAddProperty   crAddPropertyA
 Character set-independent mapping of crAddPropertyW() and crAddPropertyA() functions.
#define crAddRegKey   crAddRegKeyA
 Character set-independent mapping of crAddRegKeyW() and crAddRegKeyA() functions.
#define CR_WIN32_STRUCTURED_EXCEPTION   0
 SEH exception (deprecated name, use CR_SEH_EXCEPTION instead).
#define CR_SEH_EXCEPTION   0
 SEH exception.
#define CR_CPP_TERMINATE_CALL   1
 C++ terminate() call.
#define CR_CPP_UNEXPECTED_CALL   2
 C++ unexpected() call.
#define CR_CPP_PURE_CALL   3
 C++ pure virtual function call (VS .NET and later).
#define CR_CPP_NEW_OPERATOR_ERROR   4
 C++ new operator fault (VS .NET and later).
#define CR_CPP_SECURITY_ERROR   5
 Buffer overrun error (VS .NET only).
#define CR_CPP_INVALID_PARAMETER   6
 Invalid parameter exception (VS 2005 and later).
#define CR_CPP_SIGABRT   7
 C++ SIGABRT signal (abort).
#define CR_CPP_SIGFPE   8
 C++ SIGFPE signal (flotating point exception).
#define CR_CPP_SIGILL   9
 C++ SIGILL signal (illegal instruction).
#define CR_CPP_SIGINT   10
 C++ SIGINT signal (CTRL+C).
#define CR_CPP_SIGSEGV   11
 C++ SIGSEGV signal (invalid storage access).
#define CR_CPP_SIGTERM   12
 C++ SIGTERM signal (termination request).
#define CR_NONCONTINUABLE_EXCEPTION   32
 Non continuable sofware exception.
#define CR_THROW   33
 Throw C++ typed exception.
#define crGetLastErrorMsg   crGetLastErrorMsgA
 Defines character set-independent mapping for crGetLastErrorMsgW() and crGetLastErrorMsgA().

Typedefs

typedef struct tagCR_INSTALL_INFOW CR_INSTALL_INFOW
typedef CR_INSTALL_INFOWPCR_INSTALL_INFOW
typedef struct tagCR_INSTALL_INFOA CR_INSTALL_INFOA
typedef CR_INSTALL_INFOAPCR_INSTALL_INFOA
typedef CR_INSTALL_INFOA CR_INSTALL_INFO
 Character set-independent mapping of CR_INSTALL_INFOW and CR_INSTALL_INFOA structures.
typedef PCR_INSTALL_INFOA PCR_INSTALL_INFO
typedef struct tagCR_EXCEPTION_INFO CR_EXCEPTION_INFO
typedef CR_EXCEPTION_INFOPCR_EXCEPTION_INFO

Functions

typedef BOOL (CALLBACK *LPGETLOGFILE)(LPVOID lpvState)
 Client crash callback function prototype.
LPVOID WINAPI InstallW (LPGETLOGFILE pfnCallback, LPCWSTR pszEmailTo, LPCWSTR pszEmailSubject)
 Installs exception handlers for the current process.
LPVOID WINAPI InstallA (LPGETLOGFILE pfnCallback, LPCSTR pszEmailTo, LPCSTR pszEmailSubject)
void WINAPI Uninstall (LPVOID lpState)
 Uninstalls the exception filters set up by Install().
void WINAPI AddFileW (LPVOID lpState, LPCWSTR pszFile, LPCWSTR pszDesc)
 Adds a file to the crash report.
void WINAPI AddFileA (LPVOID lpState, LPCSTR pszFile, LPCSTR pszDesc)
void WINAPI GenerateErrorReport (LPVOID lpState, PEXCEPTION_POINTERS pExInfo)
 Generates the crash report.
int WINAPI crInstallW (PCR_INSTALL_INFOW pInfo)
 Installs exception handlers for the caller process.
int WINAPI crInstallA (PCR_INSTALL_INFOA pInfo)
int WINAPI crUninstall ()
 Unsinstalls exception handlers previously installed with crInstall().
int WINAPI crInstallToCurrentThread ()
 Installs exception handlers to the current thread.
int WINAPI crInstallToCurrentThread2 (DWORD dwFlags)
 Installs exception handlers to the caller thread.
int WINAPI crUninstallFromCurrentThread ()
 Uninstalls C++ exception handlers from the current thread.
int WINAPI crAddFileW (LPCWSTR pszFile, LPCWSTR pszDesc)
 Adds a file to crash report.
int WINAPI crAddFileA (LPCSTR pszFile, LPCSTR pszDesc)
int WINAPI crAddFile2W (LPCWSTR pszFile, LPCWSTR pszDestFile, LPCWSTR pszDesc, DWORD dwFlags)
 Adds a file to crash report.
int WINAPI crAddFile2A (LPCSTR pszFile, LPCSTR pszDestFile, LPCSTR pszDesc, DWORD dwFlags)
int WINAPI crAddScreenshot (DWORD dwFlags)
 Adds a screenshot to the crash report.
int WINAPI crAddScreenshot2 (DWORD dwFlags, int nJpegQuality)
 Adds a screenshot to the crash report.
int WINAPI crAddPropertyW (LPCWSTR pszPropName, LPCWSTR pszPropValue)
 Adds a string property to the crash report.
int WINAPI crAddPropertyA (LPCSTR pszPropName, LPCSTR pszPropValue)
int WINAPI crAddRegKeyW (LPCWSTR pszRegKey, LPCWSTR pszDstFileName, DWORD dwFlags)
 Adds a registry key dump to the crash report.
int WINAPI crAddRegKeyA (LPCSTR pszRegKey, LPCSTR pszDstFileName, DWORD dwFlags)
int WINAPI crGenerateErrorReport (CR_EXCEPTION_INFO *pExceptionInfo)
 Manually generates an errror report.
int WINAPI crExceptionFilter (unsigned int code, struct _EXCEPTION_POINTERS *ep)
 Can be used as a SEH exception filter.
int WINAPI crEmulateCrash (unsigned ExceptionType) throw (...)
 Emulates a predefined crash situation.
int WINAPI crGetLastErrorMsgW (LPWSTR pszBuffer, UINT uBuffSize)
 Gets the last CrashRpt error message.
int WINAPI crGetLastErrorMsgA (LPSTR pszBuffer, UINT uBuffSize)

Detailed Description

Defines the interface for the CrashRpt.DLL.

Date:
2003-2011
Author:
Michael Carruth
zeXspectrum

Definition in file CrashRpt.h.


Define Documentation

#define __in

Definition at line 51 of file CrashRpt.h.

#define __in_opt

Definition at line 54 of file CrashRpt.h.

#define __out_ecount_z (   x)

Definition at line 57 of file CrashRpt.h.

#define __reserved

Definition at line 48 of file CrashRpt.h.

#define CR_AF_FILE_MUST_EXIST   0

Function will fail if file doesn't exist at the moment of function call.

Definition at line 872 of file CrashRpt.h.

#define CR_AF_MAKE_FILE_COPY   1

Copy the file to the error report folder.

Definition at line 870 of file CrashRpt.h.

#define CR_AF_MISSING_FILE_OK   2

Do not fail if file is missing (assume it will be created later).

Definition at line 873 of file CrashRpt.h.

#define CR_AF_TAKE_ORIGINAL_FILE   0

Take the original file (do not copy it to the error report folder).

Definition at line 869 of file CrashRpt.h.

#define CR_AS_GRAYSCALE_IMAGE   4

Make a grayscale image instead of a full-color one.

Definition at line 960 of file CrashRpt.h.

#define CR_AS_MAIN_WINDOW   1

Take a screenshot of application's main window.

Definition at line 958 of file CrashRpt.h.

#define CR_AS_PROCESS_WINDOWS   2

Take a screenshot of all visible process windows.

Definition at line 959 of file CrashRpt.h.

#define CR_AS_USE_JPEG_FORMAT   8

Store screenshots as JPG files.

Definition at line 961 of file CrashRpt.h.

#define CR_AS_VIRTUAL_SCREEN   0

Take a screenshot of the virtual screen.

Definition at line 957 of file CrashRpt.h.

#define CR_CPP_INVALID_PARAMETER   6

Invalid parameter exception (VS 2005 and later).

Definition at line 1194 of file CrashRpt.h.

#define CR_CPP_NEW_OPERATOR_ERROR   4

C++ new operator fault (VS .NET and later).

Definition at line 1192 of file CrashRpt.h.

#define CR_CPP_PURE_CALL   3

C++ pure virtual function call (VS .NET and later).

Definition at line 1191 of file CrashRpt.h.

#define CR_CPP_SECURITY_ERROR   5

Buffer overrun error (VS .NET only).

Definition at line 1193 of file CrashRpt.h.

#define CR_CPP_SIGABRT   7

C++ SIGABRT signal (abort).

Definition at line 1195 of file CrashRpt.h.

#define CR_CPP_SIGFPE   8

C++ SIGFPE signal (flotating point exception).

Definition at line 1196 of file CrashRpt.h.

#define CR_CPP_SIGILL   9

C++ SIGILL signal (illegal instruction).

Definition at line 1197 of file CrashRpt.h.

#define CR_CPP_SIGINT   10

C++ SIGINT signal (CTRL+C).

Definition at line 1198 of file CrashRpt.h.

#define CR_CPP_SIGSEGV   11

C++ SIGSEGV signal (invalid storage access).

Definition at line 1199 of file CrashRpt.h.

#define CR_CPP_SIGTERM   12

C++ SIGTERM signal (termination request).

Definition at line 1200 of file CrashRpt.h.

#define CR_CPP_TERMINATE_CALL   1

C++ terminate() call.

Definition at line 1189 of file CrashRpt.h.

#define CR_CPP_UNEXPECTED_CALL   2

C++ unexpected() call.

Definition at line 1190 of file CrashRpt.h.

#define CR_HTTP   0

Send error report via HTTP (or HTTPS) connection.

Definition at line 294 of file CrashRpt.h.

Install all possible exception handlers.

Definition at line 317 of file CrashRpt.h.

#define CR_INST_APP_RESTART   0x10000

Restart the application on crash.

Definition at line 323 of file CrashRpt.h.

#define CR_INST_CRT_EXCEPTION_HANDLERS   0x1FFE

Install exception handlers for the linked CRT module.

Definition at line 318 of file CrashRpt.h.

#define CR_INST_DONT_SEND_REPORT   0x8000

Don't send error report immediately, just save it locally.

Definition at line 322 of file CrashRpt.h.

#define CR_INST_HTTP_BINARY_ENCODING   0x4000

Use multi-part HTTP uploads with binary attachment encoding.

Definition at line 321 of file CrashRpt.h.

Install invalid parameter handler (VS 2005 and later).

Definition at line 309 of file CrashRpt.h.

Install new operator error handler (VS .NET and later).

Definition at line 307 of file CrashRpt.h.

#define CR_INST_NO_GUI   0x2000

Do not show GUI, send report silently (use for non-GUI apps only).

Definition at line 320 of file CrashRpt.h.

#define CR_INST_NO_MINIDUMP   0x20000

Do not include minidump file to crash report.

Definition at line 324 of file CrashRpt.h.

#define CR_INST_PURE_CALL_HANDLER   0x8

Install pure call handler (VS .NET and later).

Definition at line 306 of file CrashRpt.h.

#define CR_INST_SECURITY_ERROR_HANDLER   0x20

Install security error handler (VS .NET and later).

Definition at line 308 of file CrashRpt.h.

Install SEH handler.

Definition at line 303 of file CrashRpt.h.

#define CR_INST_SEND_QUEUED_REPORTS   0x40000

CrashRpt should send error reports that are waiting to be delivered.

Definition at line 325 of file CrashRpt.h.

#define CR_INST_SIGABRT_HANDLER   0x80

Install SIGABRT signal handler.

Definition at line 310 of file CrashRpt.h.

#define CR_INST_SIGFPE_HANDLER   0x100

Install SIGFPE signal handler.

Definition at line 311 of file CrashRpt.h.

#define CR_INST_SIGILL_HANDLER   0x200

Install SIGILL signal handler.

Definition at line 312 of file CrashRpt.h.

#define CR_INST_SIGINT_HANDLER   0x400

Install SIGINT signal handler.

Definition at line 313 of file CrashRpt.h.

#define CR_INST_SIGSEGV_HANDLER   0x800

Install SIGSEGV signal handler.

Definition at line 314 of file CrashRpt.h.

#define CR_INST_SIGTERM_HANDLER   0x1000

Install SIGTERM signal handler.

Definition at line 315 of file CrashRpt.h.

#define CR_INST_STORE_ZIP_ARCHIVES   0x80000

CrashRpt should store both uncompressed error report files and ZIP archives.

Definition at line 326 of file CrashRpt.h.

Install SEH handler (deprecated name, use CR_INST_SEH_EXCEPTION_HANDLER instead).

Definition at line 302 of file CrashRpt.h.

#define CR_INST_TERMINATE_HANDLER   0x2

Install terminate handler.

Definition at line 304 of file CrashRpt.h.

#define CR_INST_UNEXPECTED_HANDLER   0x4

Install unexpected handler.

Definition at line 305 of file CrashRpt.h.

#define CR_NEGATIVE_PRIORITY   ((UINT)-1)

Special priority constant that allows to skip certain delivery method.

Definition at line 299 of file CrashRpt.h.

#define CR_NONCONTINUABLE_EXCEPTION   32

Non continuable sofware exception.

Definition at line 1379 of file CrashRpt.h.

#define CR_SEH_EXCEPTION   0

SEH exception.

Definition at line 1188 of file CrashRpt.h.

#define CR_SMAPI   2

Send error report via simple MAPI (using default mail client).

Definition at line 296 of file CrashRpt.h.

#define CR_SMTP   1

Send error report via SMTP connection.

Definition at line 295 of file CrashRpt.h.

#define CR_THROW   33

Throw C++ typed exception.

Definition at line 1380 of file CrashRpt.h.

SEH exception (deprecated name, use CR_SEH_EXCEPTION instead).

Definition at line 1187 of file CrashRpt.h.

Definition at line 63 of file CrashRpt.h.

#define CRASHRPT_VER   1210

Current CrashRpt version.

Definition at line 69 of file CrashRpt.h.

#define CRASHRPTAPI (   rettype)    CRASHRPT_EXTERNC rettype WINAPI

Definition at line 66 of file CrashRpt.h.


Typedef Documentation

Definition at line 1282 of file CrashRpt.h.

Definition at line 589 of file CrashRpt.h.

Definition at line 579 of file CrashRpt.h.

Definition at line 548 of file CrashRpt.h.