Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

Запись сообщений сервиса в EventLog.   Найти похожие ветки 

 
Edge   (2005-02-07 10:56) [0]

У меня из сервиса записываются сообщения:
LogMessage("Info", EVENTLOG_INFORMATION_TYPE, 0, 0);
В EventLog Кроме информации добавляется:
Не найдено описание для события с кодом ( 0 ) в источнике ( Service1 ). Возможно, на локальном компьютере нет нужных данных в реестре или файлов DLL сообщений для отображения сообщений удаленного компьютера. Попробуйте использовать ключ /AUXSOURCE= для получения этого описания, - дополнительные сведения об этом содержатся в справке. В записи события содержится следующая информация:
- в WinXP.
Как сделать чтобы этот тект не добавлялся?


 
Erik1 ©   (2005-02-07 13:16) [1]

Можно написать так, но это не все!
LogMessage(MyMessage,EVENTLOG_INFORMATION_TYPE,0,Message_ServiceStarted);

ConstMessages.pas:
const
 Message_ServiceStarted = $400003F8;
 Message_ServiceStopped = $400003F9;
 Msg_ServiceError = $C00003FF;
 Msg_ServiceStatictic = $800003FD;

Дальше самое интересное, надо создать message.h такого содержания:
//
//  Values are 32 bit values layed out as follows:
//
//   3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
//   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
//  +---+-+-+-----------------------+-------------------------------+
//  |Sev|C|R|     Facility          |               Code            |
//  +---+-+-+-----------------------+-------------------------------+
//
//  where
//
//      Sev - is the severity code
//
//          00 - Success
//          01 - Informational
//          10 - Warning
//          11 - Error
//
//      C - is the Customer code flag
//
//      R - is a reserved bit
//
//      Facility - is the facility code
//
//      Code - is the facility"s status code
//
//
// Define the facility codes
//

//
// Define the severity codes
//
#define STATUS_SEVERITY_WARNING          0x2
#define STATUS_SEVERITY_SUCCESS          0x0
#define STATUS_SEVERITY_INFORMATIONAL    0x1
#define STATUS_SEVERITY_ERROR            0x3

//
// MessageId: Msg_ServiceInfo
//
// MessageText:
//
//  Info %1!s!
//
#define Msg_ServiceInfo                  0x400003F7L

//
// MessageId: Message_ServiceStarted
//
// MessageText:
//
//  Service started
//
#define Message_ServiceStarted           0x400003F8L

//
// MessageId: Message_ServiceStopped
//
// MessageText:
//
//  Service shotdown
//
#define Message_ServiceStopped           0x400003F9L

//
// MessageId: Message_ServicePaused
//
// MessageText:
//
//  Service paused
//
#define Message_ServicePaused            0x400003FAL

//
// MessageId: Message_ServiceResumed
//
// MessageText:
//
//  Service resume
//
#define Message_ServiceResumed           0x400003FBL

//
// MessageId: Msg_ServiceStatictic
//
// MessageText:
//
//  Current status: %1!s!
//
#define Msg_ServiceStatictic             0x800003FDL

//
// MessageId: Msg_ServiceError
//
// MessageText:
//
//  Error : %1!s!
//
#define Msg_ServiceError                 0xC00003FFL

и Messages.mc
SeverityNames=(Success=0x0:STATUS_SEVERITY_SUCCESS
              Informational=0x1:STATUS_SEVERITY_INFORMATIONAL
              Warning=0x2:STATUS_SEVERITY_WARNING
              Error=0x3:STATUS_SEVERITY_ERROR
             )

MessageID=1015
Severity=Informational
SymbolicName=Msg_ServiceInfo
Language=English
Info %1!s!
.

MessageID=1016
Severity=Informational
SymbolicName=Message_ServiceStarted
Language=English
Service started
.
MessageID=1017
Severity=Informational
SymbolicName=Message_ServiceStopped
Language=English
Service shotdown
.
MessageID=1018
Severity=Informational
SymbolicName=Message_ServicePaused
Language=English
Service paused
.
MessageID=1019
Severity=Informational
SymbolicName=Message_ServiceResumed
Language=English
Service resume
.
MessageID=1021
Severity=Warning
SymbolicName=Msg_ServiceStatictic
Language=English
Current status: %1!s!
.
MessageID=1023
Severity=Error
SymbolicName=Msg_ServiceError
Language=English
Error : %1!s!
.
Далее Messages.rc
LANGUAGE 0x9,0x1
1 11 MSG00001.bin

MSG00001.bin получается при компиляции messages.mc "Microsoft (R) Message Compiler" mc.exe из комплекта VC++.

И после этого надо из Messages.rc создать dll:
library Mesages;
{$R "messages.res" "messages.rc"}
uses
 ConstMessages in "ConstMessages.pas";
begin
end.
И в завершении наших усилий надо рарегестрировать наш ресурс
Messages.reg:
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\fDJP]
"EventMessageFile"="c:\\Borland\\Delphi5\\Projects\\Starvara\\Messages\\Mesages.dll"
"TypesSupported"=dword:00000007


 
Erik1 ©   (2005-02-07 13:18) [2]

Тут конечно куча нюансов, но это мало кому нужно, чтобы писать статью. Добавлю, что fDJP название сервиса.



Страницы: 1 вся ветка

Текущий архив: 2005.02.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.052 c
6-1102876092
User_32
2004-12-12 21:28
2005.02.20
Локальная сеть


3-1106296706
Colci
2005-01-21 11:38
2005.02.20
Помогите раскодировать .dbf файл


14-1107197461
pika
2005-01-31 21:51
2005.02.20
медия форматы


14-1107155216
Cosinus
2005-01-31 10:06
2005.02.20
Посоветуйте программу для теста оперативки...


3-1106599767
Urvin
2005-01-24 23:49
2005.02.20
Фаербирд