/******************************************************************** Copyright (c) 1995-2000 Microsoft Corporation Module Name: ntevents.h Abstract: Defines a generic class that can register an NT event source and log NT events on that evens source. Revision History: rsraghav created 03/10/95 DerekM modified 04/06/99 ********************************************************************/ #ifndef NTEVENTS_H #define NTEVENTS_H #include "util.h" ////////////////////////////////////////////////////////////////////// // CNTEvent - class definition class CNTEvent : public CPFGenericClassBase { private: // member data HANDLE m_hEventSource; public: CNTEvent(void); ~CNTEvent(void); HRESULT InitEventLog(LPCWSTR wszEventSourceName); HRESULT TerminateEventLog(void); HRESULT LogEvent(WORD wEventType, DWORD dwEventID, LPCWSTR wszParam1 = NULL, LPCWSTR wszParam2 = NULL, LPCWSTR wszParam3 = NULL, LPCWSTR wszParam4 = NULL, LPCWSTR wszParam5 = NULL, LPCWSTR wszParam6 = NULL, LPCWSTR wszParam7 = NULL, LPCWSTR wszParam8 = NULL, LPCWSTR wszParam9 = NULL); HRESULT LogError(DWORD dwEventID, LPCWSTR wszParam1 = NULL, LPCWSTR wszParam2 = NULL, LPCWSTR wszParam3 = NULL, LPCWSTR wszParam4 = NULL, LPCWSTR wszParam5 = NULL, LPCWSTR wszParam6 = NULL, LPCWSTR wszParam7 = NULL, LPCWSTR wszParam8 = NULL, LPCWSTR wszParam9 = NULL) { return LogEvent(EVENTLOG_ERROR_TYPE, dwEventID, wszParam1, wszParam2, wszParam3, wszParam4, wszParam5, wszParam6, wszParam7, wszParam8, wszParam9); } HRESULT LogWarning(DWORD dwEventID, LPCWSTR wszParam1 = NULL, LPCWSTR wszParam2 = NULL, LPCWSTR wszParam3 = NULL, LPCWSTR wszParam4 = NULL, LPCWSTR wszParam5 = NULL, LPCWSTR wszParam6 = NULL, LPCWSTR wszParam7 = NULL, LPCWSTR wszParam8 = NULL, LPCWSTR wszParam9 = NULL) { return LogEvent(EVENTLOG_WARNING_TYPE, dwEventID, wszParam1, wszParam2, wszParam3, wszParam4, wszParam5, wszParam6, wszParam7, wszParam8, wszParam9); } HRESULT LogInfo(DWORD dwEventID, LPCWSTR wszParam1 = NULL, LPCWSTR wszParam2 = NULL, LPCWSTR wszParam3 = NULL, LPCWSTR wszParam4 = NULL, LPCWSTR wszParam5 = NULL, LPCWSTR wszParam6 = NULL, LPCWSTR wszParam7 = NULL, LPCWSTR wszParam8 = NULL, LPCWSTR wszParam9 = NULL) { return LogEvent(EVENTLOG_INFORMATION_TYPE, dwEventID, wszParam1, wszParam2, wszParam3, wszParam4, wszParam5, wszParam6, wszParam7, wszParam8, wszParam9); } }; ////////////////////////////////////////////////////////////////////// // useful for converting numbers to insert strings #define USES_LOGEVENT_CONVERSIONS LPWSTR __szLgEvTmp__; // max size of DWORD string=12 #define USES_ERR_STR LPWSTR __szErrStr__; #define Str08x(dw) (__szLgEvTmp__=(LPWSTR)_alloca(12 * sizeof(WCHAR)), wsprintfW(__szLgEvTmp__, L"0x%08x", dw), __szLgEvTmp__) #define Str04x(dw) (__szLgEvTmp__=(LPWSTR)_alloca(12 * sizeof(WCHAR)), wsprintfW(__szLgEvTmp__, L"0x%04x", dw), __szLgEvTmp__) #define Strx(dw) (__szLgEvTmp__=(LPWSTR)_alloca(12 * sizeof(WCHAR)), wsprintfW(__szLgEvTmp__, L"0x%x", dw) , __szLgEvTmp__) #define Strd(dw) (__szLgEvTmp__=(LPWSTR)_alloca(12 * sizeof(WCHAR)), wsprintfW(__szLgEvTmp__, L"%d", dw) , __szLgEvTmp__) #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__) #endif // NTEVENTS_H