//-------------------------------------------------------------------- // Copyright (c) 1999 Microsoft Corporation, All Rights Reserved // // eventlog.h // // Definitions and constants for writing event log events. // //-------------------------------------------------------------------- // // This is the event source for IR system events: // #define WS_EVENT_SOURCE L"irevents" // // Registry values for setting up the event logging for Irmon: // #define WS_EVENTLOG_KEY L"SYSTEM\\CurrentControlSet\\Services\\EventLog\\System" #define WS_CATALOG_PATH L"%SystemRoot%\\system32\\irmon.dll" #define WSZ_CATEGORY_COUNT L"CategoryCount" #define WSZ_CATEGORY_MESSAGE_FILE L"CategoryMessageFile" #define WSZ_EVENT_MESSAGE_FILE L"EventMessageFile" #define WSZ_TYPES_SUPPORTED L"TypesSupported" // // A simple log to write error and informational events to the // system event log. // class EVENT_LOG { public: EVENT_LOG( WCHAR *pwsEventSourceName, DWORD *pdwStatus ); ~EVENT_LOG(); static DWORD CheckConfiguration( WCHAR *pszsEventSourceName, WCHAR *pwszCatalogPath, DWORD dwCategoryCount, DWORD dwTypesSupported ); DWORD ReportError( WORD wCategoryId, DWORD dwEventId ); DWORD ReportError( WORD wCategoryId, DWORD dwEventId, DWORD dwValue1 ); DWORD ReportError( WORD wCategoryId, DWORD dwEventId, WCHAR *pwszString ); DWORD ReportError( WORD wCategoryId, DWORD dwEventId, WORD wNumStrings, WCHAR **ppwszStrings ); DWORD ReportError( WORD wCategoryId, DWORD dwEventId, WORD wNumStrings, WCHAR **ppwszStrings, DWORD dwDataSize, VOID *pvData ); DWORD ReportInfo( WORD wCategoryId, DWORD dwEventId ); private: HANDLE m_hEventLog; };