相关疑难解决方法(0)

我怎样才能(有办法)将HRESULT转换为特定于系统的错误消息?

根据这个,没有办法到HRESULT错误代码转换为Win32错误代码.因此(至少对我的理解),我使用FormatMessage来生成错误消息(即

std::wstring Exception::GetWideMessage() const
{
    using std::tr1::shared_ptr;
    shared_ptr<void> buff;
    LPWSTR buffPtr;
    DWORD bufferLength = FormatMessageW(
        FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS,
        NULL,
        GetErrorCode(),
        0,
        reinterpret_cast<LPWSTR>(&buffPtr),
        0,
        NULL);
    buff.reset(buffPtr, LocalFreeHelper());
    return std::wstring(buffPtr, bufferLength);
}
Run Code Online (Sandbox Code Playgroud)

)不适用于HRESULTs.

如何为HRESULT生成这些特定于系统的错误字符串?

c++ windows winapi

9
推荐指数
1
解决办法
6113
查看次数

标签 统计

c++ ×1

winapi ×1

windows ×1