说,如果我的WinAPI失败并带有HRESULT
代码。有没有办法将其转换为错误描述字符串?
答案 0 :(得分:2)
这是我们内部使用的帮助函数,用于从HRESULT中提取Win32错误代码:
DWORD Win32FromHResult(HRESULT hr)
{
if ((hr & 0xFFFF0000) == MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, 0))
{
return HRESULT_CODE(hr);
}
if (hr == S_OK)
{
return ERROR_SUCCESS;
}
// Not a Win32 HRESULT so return a generic error code.
return ERROR_CAN_NOT_COMPLETE;
}
然后,您可以使用FormatMessage
将其转换为字符串形式。