// Error handler bool Failed(HRESULT aResult, int errNr) { if (FAILED(aResult)) { LPTSTR buffer; FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, nullptr, (DWORD)aResult, LANG_USER_DEFAULT, (LPTSTR)&buffer, 0, nullptr); MessageBox(0, buffer, _T("Fatal error: Err nr. #"+errNr), MB_OK | MB_ICONERROR); LocalFree(buffer); releaseInterfaces(); return true; } return false; }