windows-nt/Source/XPSP1/NT/admin/pchealth/client/include/ntevents.h
2020-09-26 16:20:57 +08:00

94 lines
4 KiB
C++

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