Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

85 lines
2.1 KiB

/*++
Copyright (c) 1996 Microsoft Corporation
Module Name :
eventlog.hxx
Abstract:
This file defines functions and types required for
logging events to the event logger.
Author:
Murali R. Krishnan ( MuraliK ) 27-Sept-1994
Revision History:
MuraliK 21-Nov-1994 Ported to common dll
--*/
# ifndef _EVENTLOG_HXX_
# define _EVENTLOG_HXX_
#include <windows.h>
# include "datetime.hxx" // for Win95 object
# include "irtlmisc.h"
/***********************************************************
* Type Definitions
************************************************************/
/*********************************************
* class EVENT_LOG
*
* Declares a event log object.
* This object provides an interface for logging messages
* to the System EventLog file globally for given program.
*
************************************************/
class IRTL_DLLEXP EVENT_LOG {
private:
DWORD m_ErrorCode; // error code for last operation
HANDLE m_hEventSource; // handle for reporting events
public:
EVENT_LOG( IN LPCTSTR lpszSourceName); // name of source for event log
~EVENT_LOG( VOID);
VOID
LogEvent(
IN DWORD idMessage, // id for log message
IN WORD cSubStrings, // count of substrings
IN const CHAR * apszSubStrings[], // substrings in the message
IN DWORD errCode = 0); // error code if any
BOOL Success( VOID) const
{ return ( m_ErrorCode == NO_ERROR); }
DWORD GetErrorCode( VOID) const
{ return ( m_ErrorCode); }
private:
VOID
LogEventPrivate(
IN DWORD idMessage,
IN WORD wEventType,
IN WORD cSubStrings,
IN const CHAR * apszSubStrings[],
IN DWORD errCode);
};
typedef EVENT_LOG * LPEVENT_LOG;
# endif // _EVENTLOG_HXX_