Leaked source code of windows server 2003

63 lines
1.4 KiB

  1. #include <stdafx.h>
  2. #include "Errors.h"
  3. #include "EventCmd.h"
  4. DWORD _E(DWORD dwErrCode,
  5. DWORD dwMsgId,
  6. ...)
  7. {
  8. va_list arglist;
  9. LPSTR pBuffer;
  10. gStrMessage.LoadString(dwMsgId);
  11. pBuffer = NULL;
  12. va_start(arglist, dwMsgId);
  13. if (FormatMessageA(
  14. FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING,
  15. gStrMessage,
  16. 0,
  17. 0,
  18. (LPSTR)(&pBuffer),
  19. 1,
  20. &arglist))
  21. {
  22. CharToOemA(pBuffer, pBuffer);
  23. printf("[Err%05u] %s", dwErrCode, pBuffer);
  24. fflush(stdout);
  25. LocalFree(pBuffer);
  26. }
  27. return dwErrCode;
  28. }
  29. DWORD _W(DWORD dwWarnLevel,
  30. DWORD dwMsgId,
  31. ...)
  32. {
  33. if (dwWarnLevel <= gCommandLine.GetVerboseLevel())
  34. {
  35. va_list arglist;
  36. LPSTR pBuffer;
  37. gStrMessage.LoadString(dwMsgId);
  38. pBuffer = NULL;
  39. va_start(arglist, dwMsgId);
  40. if (FormatMessageA(
  41. FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING,
  42. gStrMessage,
  43. 0,
  44. 0,
  45. (LPSTR)(&pBuffer),
  46. 1,
  47. &arglist))
  48. {
  49. CharToOemA(pBuffer, pBuffer);
  50. printf("[Wrn%02u] %s", dwWarnLevel, pBuffer);
  51. fflush(stdout);
  52. LocalFree(pBuffer);
  53. }
  54. }
  55. return dwWarnLevel;
  56. }