|A crash reporting system for Windows applications|
|Size of this structure in bytes; should be initialized before using. |
|Exception pointers. |
|Exception type. |
|Code of SEH exception. |
|Floating point exception subcode. |
|const wchar_t *||expression|
|Assertion expression. |
|const wchar_t *||function|
|Function in which assertion happened. |
|const wchar_t *||file|
|File in which assertion happened. |
|Line number. |
|Flag telling if the error report is generated manually or not. |
|Handle to the CrashSender.exe process. |
The information provided by this structure includes the exception type, exception code, exception pointers and so on. These are needed to generate crash minidump file and provide the developer with other information about the error. This structure is used by the crGenerateErrorReport() function. Pointer to this structure is also passed to the crash callback function (see the PFNCRASHCALLBACK() function prototype).
Structure members details are provided below:
This must contain the size of this structure in bytes.
pexcptrs [in, optional]
Should contain the exception pointers. If this parameter is NULL, the current CPU state is used to generate exception pointers.
The type of exception. This parameter may be one of the following:
code [in, optional]
Used if exctype is CR_SEH_EXCEPTION and represents the SEH exception code. If pexptrs is NULL, this value is used when generating exception information for initializing
pexptrs->ExceptionRecord->ExceptionCode member, otherwise it is ignored.
fpe_subcode [in, optional]
Used if exctype is equal to CR_CPP_SIGFPE. It defines the floating point exception subcode (see
signal() function ducumentation in MSDN).
expression, function, file and line [in, optional]
These parameters are used when exctype is CR_CPP_INVALID_PARAMETER. These members are typically non-zero when using debug version of CRT.
Since v.1.2.4, bManual parameter should be equal to TRUE if the report is generated manually. The value of bManual parameter affects the automatic application restart behavior. If the application restart is requested by the CR_INST_APP_RESTART flag of CR_INSTALL_INFO::dwFlags structure member, and if bManual is FALSE, the application will be restarted after error report generation. If bManual is TRUE, the application won't be restarted.
As of v.1.2.8, hSenderProcess parameter will contain the handle to the CrashSender.exe process when crGenerateErrorReport function returns. The caller may use this handle to wait until CrashSender.exe process exits and check the exit code. When the handle is not needed anymore, release it with the CloseHandle() function.