VC版的SysErrorMessage

来源:互联网 发布:查域名到期 编辑:程序博客网 时间:2024/06/03 22:39

  Delphi很方便将system error code 转为错误信息, C++也可实现 :

bool SysErrorMessage(DWORD errCode, LPWSTR outBuffer, size_t& size) {LPVOID lpvMessageBuffer;DWORD lvSize=FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |FORMAT_MESSAGE_FROM_SYSTEM,NULL, errCode,MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),(LPWSTR)&lpvMessageBuffer, 0, NULL);bool lvRet = memcpy_s(outBuffer, size, lpvMessageBuffer, lvSize*sizeof(WCHAR)) == 0;size = lvSize;LocalFree(lpvMessageBuffer);return true;}


调用:

WCHAR    lvBuffer[256] = L"";

if (SysErrorMessage(5,lvBuffer lvSize)) {
OutputDebugString(lvBuffer);

原创粉丝点击