Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
4.0 KiB

  1. /********************************************************************
  2. Copyright (c) 1995-2000 Microsoft Corporation
  3. Module Name:
  4. ntevents.h
  5. Abstract:
  6. Defines a generic class that can register an NT
  7. event source and log NT events on that evens source.
  8. Revision History:
  9. rsraghav created 03/10/95
  10. DerekM modified 04/06/99
  11. ********************************************************************/
  12. #ifndef NTEVENTS_H
  13. #define NTEVENTS_H
  14. #include "util.h"
  15. //////////////////////////////////////////////////////////////////////
  16. // CNTEvent - class definition
  17. class CNTEvent : public CPFGenericClassBase
  18. {
  19. private:
  20. // member data
  21. HANDLE m_hEventSource;
  22. public:
  23. CNTEvent(void);
  24. ~CNTEvent(void);
  25. HRESULT InitEventLog(LPCWSTR wszEventSourceName);
  26. HRESULT TerminateEventLog(void);
  27. HRESULT LogEvent(WORD wEventType, DWORD dwEventID,
  28. LPCWSTR wszParam1 = NULL, LPCWSTR wszParam2 = NULL,
  29. LPCWSTR wszParam3 = NULL, LPCWSTR wszParam4 = NULL,
  30. LPCWSTR wszParam5 = NULL, LPCWSTR wszParam6 = NULL,
  31. LPCWSTR wszParam7 = NULL, LPCWSTR wszParam8 = NULL,
  32. LPCWSTR wszParam9 = NULL);
  33. HRESULT LogError(DWORD dwEventID, LPCWSTR wszParam1 = NULL,
  34. LPCWSTR wszParam2 = NULL, LPCWSTR wszParam3 = NULL,
  35. LPCWSTR wszParam4 = NULL, LPCWSTR wszParam5 = NULL,
  36. LPCWSTR wszParam6 = NULL, LPCWSTR wszParam7 = NULL,
  37. LPCWSTR wszParam8 = NULL, LPCWSTR wszParam9 = NULL)
  38. {
  39. return LogEvent(EVENTLOG_ERROR_TYPE, dwEventID, wszParam1,
  40. wszParam2, wszParam3, wszParam4, wszParam5,
  41. wszParam6, wszParam7, wszParam8, wszParam9);
  42. }
  43. HRESULT LogWarning(DWORD dwEventID, LPCWSTR wszParam1 = NULL,
  44. LPCWSTR wszParam2 = NULL, LPCWSTR wszParam3 = NULL,
  45. LPCWSTR wszParam4 = NULL, LPCWSTR wszParam5 = NULL,
  46. LPCWSTR wszParam6 = NULL, LPCWSTR wszParam7 = NULL,
  47. LPCWSTR wszParam8 = NULL, LPCWSTR wszParam9 = NULL)
  48. {
  49. return LogEvent(EVENTLOG_WARNING_TYPE, dwEventID, wszParam1,
  50. wszParam2, wszParam3, wszParam4, wszParam5,
  51. wszParam6, wszParam7, wszParam8, wszParam9);
  52. }
  53. HRESULT LogInfo(DWORD dwEventID, LPCWSTR wszParam1 = NULL,
  54. LPCWSTR wszParam2 = NULL, LPCWSTR wszParam3 = NULL,
  55. LPCWSTR wszParam4 = NULL, LPCWSTR wszParam5 = NULL,
  56. LPCWSTR wszParam6 = NULL, LPCWSTR wszParam7 = NULL,
  57. LPCWSTR wszParam8 = NULL, LPCWSTR wszParam9 = NULL)
  58. {
  59. return LogEvent(EVENTLOG_INFORMATION_TYPE, dwEventID, wszParam1,
  60. wszParam2, wszParam3, wszParam4, wszParam5,
  61. wszParam6, wszParam7, wszParam8, wszParam9);
  62. }
  63. };
  64. //////////////////////////////////////////////////////////////////////
  65. // useful for converting numbers to insert strings
  66. #define USES_LOGEVENT_CONVERSIONS LPWSTR __szLgEvTmp__; // max size of DWORD string=12
  67. #define USES_ERR_STR LPWSTR __szErrStr__;
  68. #define Str08x(dw) (__szLgEvTmp__=(LPWSTR)_alloca(12 * sizeof(WCHAR)), wsprintfW(__szLgEvTmp__, L"0x%08x", dw), __szLgEvTmp__)
  69. #define Str04x(dw) (__szLgEvTmp__=(LPWSTR)_alloca(12 * sizeof(WCHAR)), wsprintfW(__szLgEvTmp__, L"0x%04x", dw), __szLgEvTmp__)
  70. #define Strx(dw) (__szLgEvTmp__=(LPWSTR)_alloca(12 * sizeof(WCHAR)), wsprintfW(__szLgEvTmp__, L"0x%x", dw) , __szLgEvTmp__)
  71. #define Strd(dw) (__szLgEvTmp__=(LPWSTR)_alloca(12 * sizeof(WCHAR)), wsprintfW(__szLgEvTmp__, L"%d", dw) , __szLgEvTmp__)
  72. #define StrFromErr(dwErr) (__szErrStr__ =(LPWSTR)_alloca(256 * sizeof(WCHAR)), FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM | 80, NULL, dwErr, MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), __szErrStr__, 256, NULL), __szErrStr__)
  73. #endif // NTEVENTS_H