Dziennik Zdarzeń

0

Mój problem tyczy się systemowego dziennika zdarzeń. W Rejestrze dodałem klucz HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\System\MyApp i wartościach:
EventMessageFile=D:\Testy\EventLog\MsgFile\MsgFile.dll
TypesSupported=7

Do pliku MsgFile.dll dołączem zasób:

1 MESSAGETABLE
BEGIN
  0, "Pierwszy element: %1 Drugi element: %2"
  1, "Drugi element: %2 Pierwszy element: %1"
END

Teraz w programie mam taki kod:

procedure TForm2.Button1Click(Sender: TObject);
var
  log:THandle;
  str:array [0..1] of string;
begin
  str[0]:='aaa';
  str[1]:='bbb';    log:=RegisterEventSource(nil,'MyApp');
  ReportEvent(log,EVENTLOG_ERROR_TYPE,0,0,nil,3,0,@str,nil);
  DeregisterEventSource(log);
end;

Wtedy w dzienniku zdarzeń pojawia się komunikat: "erwszy element: aaa Drugi element: bbb"
Gdy 4 parametr funkcji ReportEvent (Identyfikator zdarzenia) zmienię na 1 to przy próbie otwarcia tewgo komunikatu w dzienniku zdarzeń pojawia się komunikat o błędzie w mmc.exe(moduł:ntdll.dll).

Bardzo prosze o pomoc w rozwiązanie tego problemu. ;-(

0
MSDN napisał(a)

The event identifier specifies the entry in the message file associated with the event source.

Masz taki plik z komunikatami? (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/eventlog/base/event_identifiers.asp)

0

U mnie tę rolę spełnia plik MsgFile.dll

1 użytkowników online, w tym zalogowanych: 0, gości: 1