#pragma once #include #include #include #include inline std::optional get_last_error_message(const DWORD dw) { std::optional message; try { const auto msg = std::system_category().message(dw); message.emplace(begin(msg), end(msg)); } catch (...) { } return message; } inline std::wstring get_last_error_or_default(const DWORD dw) { auto message = get_last_error_message(dw); return message.has_value() ? message.value() : L""; }