且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

从GetLastError()函数返回的错误代码中获取文本

更新时间:2023-02-16 20:17:06

我想你想要这样的:

DWORD   dwLastError = ::GetLastError();
TCHAR   lpBuffer[256] = _T("?");
if(dwLastError != 0)    // Don't want to see a "operation done successfully" error ;-)
    ::FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,                 // It´s a system error
                     NULL,                                      // No string to be formatted needed
                     dwLastError,                               // Hey Windows: Please explain this error!
                     MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),  // Do it in the standard language
                     lpBuffer,              // Put the message here
                     STR_ELEMS(lpBuffer)-1,                     // Number of bytes to store the message
                     NULL);

另请参阅:http://msdn.microsoft.com/en-us/library/ms679351(VS.85).aspx