MiniDumpWriteDump не работает с MiniDumpNormal, но работает с MiniDumpWithFullMemory
Я вызываю MiniDumpWriteDump API из обработчика исключений верхнего уровня из локального приложения-службы, работающего в Windows XP SP3, примерно так:
_MINIDUMP_EXCEPTION_INFORMATION ExInfo;
DWORD dwProcID = ::GetCurrentProcessId();
DWORD dwThreadID = ::GetCurrentThreadId();
ExInfo.ThreadId = dwThreadID;
ExInfo.ExceptionPointers = pExceptionInfo; //Receive it from the exception handler
ExInfo.ClientPointers = NULL;
if(!pfnMiniDumpWriteDump(GetCurrentProcess(), dwProcID, hFile, MiniDumpNormal, &ExInfo, NULL, NULL))
{
int nOSError = ::GetLastError(); //I receive 0x80070057
}
Вышеперечисленное завершается ошибкой с кодом ошибки 0x80070057, но если я изменяю тип дампа на MiniDumpWithFullMemory, он работает просто отлично. Есть идеи почему?