Как запретить запись событий из ATL EXE Service?
От: Lonely Dog Россия  
Дата: 09.06.09 17:16
Оценка:
Привет!

Есть ATL EXE service. При старте он пишет события "Service started", "Service stopped" и пр.
Проблема в том, что эти тексты зашиты в код, а значит, не локализуемы.
Кроме того, в качестве имени источника событий там используется имя сервиса.
В общем, эти моменты меня категорически не устраивают.

Соответственно, встал вопрос о запрете на логирование этих событий.
Как это можно сделать?

Пока вижу только вариант с переопределением через #define функции ReportEvent.
Грубо говоря, вот так работает (кусок из stdafx.h):
#include <Windows.h>


#undef ReportEvent
#define ReportEvent
#include <atlbase.h>
#undef ReportEvent
#ifdef UNICODE
#define ReportEvent  ReportEventW
#else
#define ReportEvent  ReportEventA
#endif // !UNICODE


Есть ли какие-нибудь другие способы добиться желаемого результата?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.