LONG __stdcall MyCustomFilter( EXCEPTION_POINTERS* pep ); void CreateMiniDump( EXCEPTION_POINTERS* pep ); LONG __stdcall MyCustomFilter( EXCEPTION_POINTERS* pep ) { CreateMiniDump( pep ); return EXCEPTION_EXECUTE_HANDLER; }; void CreateMiniDump( EXCEPTION_POINTERS* pep ) { // Open the file HANDLE hFile = CreateFile( TEXT("C:\\MiniDump.dmp"), GENERIC_READ | GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); if( ( hFile != NULL ) && ( hFile != INVALID_HANDLE_VALUE ) ) { // Create the minidump MINIDUMP_EXCEPTION_INFORMATION mdei; mdei.ThreadId = GetCurrentThreadId(); mdei.ExceptionPointers = pep; mdei.ClientPointers = FALSE; MINIDUMP_TYPE mdt = MiniDumpNormal; BOOL rv = MiniDumpWriteDump( GetCurrentProcess(), GetCurrentProcessId(), hFile, mdt, (pep != 0) ? &mdei : 0, 0, 0 ); // Close the file CloseHandle( hFile ); } }
case IDC_BUTTON3: void CreateMiniDump();
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)