error.cpp
上传用户:bjlvip
上传日期:2010-02-08
资源大小:744k
文件大小:1k
源码类别:

Windows编程

开发平台:

Visual C++

  1. // error.cpp
  2. #include <windows.h>
  3. #include <stdio.h>
  4. void ErrorMessage(char* szMessage, HRESULT hr)
  5. {
  6.     if(HRESULT_FACILITY(hr) == FACILITY_WINDOWS)
  7. hr = HRESULT_CODE(hr);
  8. char* szError;
  9. if(FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM, NULL, hr, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&szError, 0, NULL) != 0)
  10. {
  11. printf("%s: %s", szMessage, szError);
  12. LocalFree(szError);
  13. }
  14. else
  15. printf("Error number not foundn");
  16. }
  17. void main(int argc, char** argv)
  18. {
  19. if(argc == 2)
  20. {
  21. HRESULT hr;
  22. sscanf(argv[1], "%x", &hr);
  23. printf("HRESULT = %xn", hr);
  24. ErrorMessage("Error message", hr);
  25. }
  26. else
  27. printf("Sample usage:nerror 80070057n");
  28. }