/
ne1ghost
/
nix
Обзор
Документация
Войти
/
ne1ghost
/
nix
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/libutil/windows/windows-error.cc
31 строка
1 KB
John Ericson
Start building the scheduler for Windows
11 май 2024, 03:23
11 май 2024, 03:23
39b2a39
Код
Авторство
О чём код?
#include "windows-error.hh" #include <error.h> #define WIN32_LEAN_AND_MEAN #include <windows.h> namespace nix::windows { std::string WinError::renderError(DWORD lastError) { LPSTR errorText = NULL; FormatMessageA( FORMAT_MESSAGE_FROM_SYSTEM // use system message tables to retrieve error text |FORMAT_MESSAGE_ALLOCATE_BUFFER // allocate buffer on local heap for error text |FORMAT_MESSAGE_IGNORE_INSERTS, // Important! will fail otherwise, since we're not (and CANNOT) pass insertion parameters NULL, // unused with FORMAT_MESSAGE_FROM_SYSTEM lastError, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&errorText, // output 0, // minimum size for output buffer NULL); // arguments - see note if (NULL != errorText ) { std::string s2 { errorText }; LocalFree(errorText); return s2; } return fmt("CODE=%d", lastError); } }