Re: easy event log

From
Anton Batenev ()
To
Maxim Volkonovsky
Date
2002-07-02T10:50:40Z
Area
SU.WINDOWS.NT.PROG
From: "Anton Batenev" <abbat@ngts.kuzbass.net>

> Есть ли простой способ программе записать cвое сообщение в event
log? Т.е. без
> прописывания путей в registry, без возни с компиляцией и линковкой
message
> table etc... Может есть какой системный event, который в качестве
диагностики
> просто записывает в event log переданную строку, и его можно как-то
> использовать?

#ifndef EventRegH
#define EventRegH
//--------------------------------------------------------------------
-------
#include <winbase.h>
//--------------------------------------------------------------------
-------
typedef enum
{
    etInformation = EVENTLOG_INFORMATION_TYPE,
    etWarning     = EVENTLOG_WARNING_TYPE,
    etError       = EVENTLOG_ERROR_TYPE,
} EventType;
//--------------------------------------------------------------------
-------
void __stdcall RegisterEvent (char* App, EventType T, char* Msg)
{
    OSVERSIONINFO OVI;
    OVI.dwOSVersionInfoSize = sizeof(OVI);
    if (!GetVersionEx(&OVI))
        return;
    if (OVI.dwPlatformId!=VER_PLATFORM_WIN32_NT)
        return;
    HANDLE H = RegisterEventSource(NULL, App);
    if (!H)
        return;
    ReportEvent(H, T, 0, 0, 0, 1, 0, &((const char*)Msg), 0);
    DeregisterEventSource(H);
}
//--------------------------------------------------------------------
-------
#endif



--- ifmail v.2.15dev5
 * Origin: NGTS, OTE (2:5020/400)