57 lines
1.8 KiB
C++
57 lines
1.8 KiB
C++
//----------------------------------------------------------------------------
|
|
//
|
|
// 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 <windows.h>
|
|
#include <stdio.h>
|
|
#include <atlbase.h>
|
|
#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 */ |