CommonFuncs: Add GetWin32ErrorString().

This commit is contained in:
Admiral H. Curtiss 2023-07-28 08:10:01 +02:00
parent 17fa9dfc4e
commit cd923718c3
No known key found for this signature in database
GPG Key ID: F051B4C4044F33FB
2 changed files with 10 additions and 1 deletions

View File

@ -52,10 +52,16 @@ std::string LastStrerrorString()
// Wrapper function to get GetLastError() string.
// This function might change the error code.
std::string GetLastErrorString()
{
return GetWin32ErrorString(GetLastError());
}
// Like GetLastErrorString() but if you have already queried the error code.
std::string GetWin32ErrorString(DWORD error_code)
{
char error_message[BUFFER_SIZE];
FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, nullptr, GetLastError(),
FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, nullptr, error_code,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), error_message, BUFFER_SIZE, nullptr);
return std::string(error_message);
}

View File

@ -53,6 +53,9 @@ std::string LastStrerrorString();
// This function might change the error code.
std::string GetLastErrorString();
// Like GetLastErrorString() but if you have already queried the error code.
std::string GetWin32ErrorString(unsigned long error_code);
// Obtains a full path to the specified module.
std::optional<std::wstring> GetModuleName(void* hInstance);
#endif