//---------------------------------------------------------------------------- // // Copyright (C) Intel Corporation, 2006 - 2007. // // File: WindowsEventLog.h // // Contents: The class WindowsEventLog provide methods to access the Windows // Event Log (Application partition). // // Notes: //---------------------------------------------------------------------------- #ifndef _WINDOWS_EVENT_LOGGER_H #define _WINDOWS_EVENT_LOGGER_H #include #include #include #include "BaseEventLog.h" class WindowsEventLog : public BaseEventLog { private: // Data member which contain handle to registry. HANDLE _hEventLinker; // Registry key for adding the event source name. CRegKey _RegistryKey; public: WindowsEventLog( const char * pszLogName, const char * pszSrcName, unsigned long dwNum, const char * pszModuleName = NULL); // Ctor. virtual ~WindowsEventLog(); // Dtor. // Wrapper for ReportEvent that take care of Handle and EventType void LogEvent( unsigned short CategoryID, unsigned long EventType, unsigned long EventID); void LogEvent( unsigned short CategoryID, unsigned long EventID, unsigned long EventType, const char * ArrayOfStrings[], unsigned int NumOfArrayStr, void * RawData = NULL , unsigned long RawDataSize = 0); // Add a new source name to the registry by opening a new registry subkey under // the Application key, adds a message-file name and a bitmask of supported types. void AddEventSource(const char * pszLogName, // Application log or a custom log (e.g. "Application") const char * pszSrcName, // event source name (e.g. "Intel (R) AMT"). const char * pszMsgDLL , // path for message DLL unsigned long dwNum); // number of categories }; #endif /* _WINDOWS_EVENT_LOGGER_H */