|
|
/********************************************************************
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
|