View Issue Details

IDProjectCategoryView StatusLast Update
0006160JEDI VCL00 JVCL Componentspublic2017-04-20 11:19
ReporterDelphi86Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status confirmedResolutionopen 
Product Version3.47 
Target VersionFixed in Version 
Summary0006160: JvNTEventLog shows wrong properties
DescriptionHello,
I'm new to this and not an Delphi expert, but I have found an Issue. This is some kind of unprofessional code, but shows the issue:

--- Delphi Code ---
  JvLog.Server := 'localhost';
  JvLog.Source := 'Security'; // System, Application
  JvLog.Open;
  JvLog.Last;
  ShowMessage(IntToStr(JvLog.EventRecord.ID) + ' | ' +
    JvLog.EventRecord.EventType + ' | ' + JvLog.EventRecord.Source + ' | ' +
    JvLog.EventRecord.Computer + ' | ' +
    IntToStr(JvLog.EventRecord.RecordNumber) + ' | ' +
    DateTimeToStr(JvLog.EventRecord.DateTime));
--- Delphi Code End ---

I just wanted to show some properties of the EventLog in a ShowMessage, but for the 3 logs Application, System and Security I got different properties. For Example "JvLog.EventRecord.Computer" shows the Computer name only in the Security log. In the other Logs the Source propertie holds my Computer name and in the System Log the name is cut off (Lukas-PC --> s-PC).It's hard to describe but I added a picture which should underline what I mean.

Thank you,
Lukas
Additional InformationI don't know if there is an issue, but I had to covert the ID of the System and Application Log into hey code to cut off the flag and than convert it back to become the real ID. But sometimes the ID comes without a flag. So if I watch the EventLog and get the Event ID 1014 everything is okay. But when I get 1073748860 I have to convert it into hey code 40001B7C, cut off the flag (4000) and then convert it back 1B7C --> 7036. But how to make a difference between them, so Delphi knows which ID has a flag and which not. My first thought was to use the amount of digits but that's unsafe and I don't know how many flags exists and how long they are.
TagsNo tags attached.

Relationships

parent of 0006209 resolvedobones Package Generator (and JVCL Installer) treats win64 as win32 

Activities

2013-07-06 16:54

 

Issues.bmp (455,382 bytes)

Arioch

2013-08-31 04:16

developer   ~0020614

Attach demo project please

Also, there is no such version as "Delphi86" - that is something bogus

PS. to post screenshots, better use PNG or GIF formats

> to cut off the flag and than convert it back to become the real ID

why do you think those were some flags (which flags? what do they mean, what do they describe?) and not real IDs (large ? yes, there are large numbers in computers...)

> first thought was to use the amount of digits but that's unsafe

True. You'd better read about binary operations.

For example you can use something like IntToStr(ID and not $F0000000) - but i also don't have a clue if that is correct or how many flags or if there are any flags at all.

See bitwise operators at http://docwiki.embarcadero.com/RADStudio/XE4/en/Expressions_(Delphi)#Logical_.28Bitwise.29_Operators

See also http://en.wikipedia.org/wiki/Binary_number
That is the basis of programming, unless some exotic ternary computers used

Delphi86

2013-09-01 00:19

reporter   ~0020618

> Attach demo project please

Done!

> Also, there is no such version as "Delphi86" - that is something bogus

Ops, where have I mentioned "Delphi86" as version? It's my username here, my Delphi Version is Rad Studio XE2, JVCL Version mentioned above.

> For example you can use something like IntToStr(ID and not $F0000000) - but i also don't have a clue if that is correct or how many flags or if there are any flags at all.

Works, thanks, my fault!



Still UserName/Computername does not work properly.

2013-09-01 00:19

 

JvNTEventLog Demo.rar (632,239 bytes)

Delphi86

2013-09-01 00:24

reporter   ~0020619

Btw: OS: Win7 Prof. 64bit

Arioch

2013-09-01 12:52

developer   ~0020620

Last edited: 2013-09-01 12:53

Well, at work i also use w7x64 and xe2u4hf1
I also try to keep JVCL at git-master, so it maybe somewhat more recent than 3.47

OTOH this month would be very busy for me, so i cannot promise anything, but trying your demo project on my box

Arioch

2013-09-01 12:58

developer   ~0020621

A bit of offtopic:

ShowMessage(IntToStr(JvLog.EventRecord.ID) + ' | ' +
     JvLog.EventRecord.EventType + ' | ' + JvLog.EventRecord.Source + ' | ' +
     JvLog.EventRecord.Computer + ' | ' +
     IntToStr(JvLog.EventRecord.RecordNumber) + ' | ' +
     DateTimeToStr(JvLog.EventRecord.DateTime));

i wonder if this would do the same but with easier to read (IMHO) code :-)

ShowMessage(
  JclStringsList.Add( [
     JvLog.EventRecord.ID, JvLog.EventRecord.EventType, JvLog.EventRecord.Source,
     JvLog.EventRecord.Computer, JvLog.EventRecord.RecordNumber, JvLog.EventRecord.DateTime
  ]).Join(' | ')
);

jfudickar

2013-09-01 21:46

developer   ~0020625

Looks better!
Interesting type of code, The option would be to use Format

Arioch

2013-09-02 14:07

developer   ~0020626

Last edited: 2013-09-02 14:50

This god-forgotten component could easily blow the stack ever since Delphi 2009

It does not support new rich event sources introduce by Vista and Win2008 Server

It only partially supports classic Win2K/XP event messages.

Messages are not supported on Win64

Should rather it be just removed from JVCL ? This component is a kind of whit elephant (a little one, but still). Or perhaps "handle-less suitcase".

Arioch

2013-09-02 14:11

developer   ~0020627

Last edited: 2013-09-02 14:51

Delphi86 - try new code.

And yes, those were not flags but an integral part of IDs.
Event ID is not a plain integer but a structure.

So "ID and not $F0000000:" that you show is not ID at all.

http://msdn.microsoft.com/en-us/library/aa363651(v=vs.85).aspx

Arioch

2013-09-02 14:16

developer   ~0020628

Cannot make pull request due to Git CR/LF issues.
Please, someone, apply the patch.

2013-09-02 14:16

 

0001-6160-TJvNTEventLog.patch (140,770 bytes)
From b6f435a45f7d93cb086f3cf2a10ebccc56e2b364 Mon Sep 17 00:00:00 2001
From: the-Arioch <the_Arioch@nm.ru>
Date: Mon, 2 Sep 2013 15:52:11 +0400
Subject: [PATCH] #6160 TJvNTEventLog:  * fixed Delphi2009+ potential stack
 blowing,  * added Raw EventID parsing,  * fixed some text properties for
 events.  * added working simplistic demo, based on the bug-report.

Note: stock demo seems to be either corrupt or left half-baked. It doesn't even try to load events.
---
 .../JvNTEventLog/Simple Demo/JvNTEventLog_Demo.dpr |  14 +
 .../JvNTEventLog/Simple Demo/JvNTEventLog_Demo.res | Bin 0 -> 298600 bytes
 jvcl/examples/JvNTEventLog/Simple Demo/UMain.dfm   |  89 ++++++
 jvcl/examples/JvNTEventLog/Simple Demo/UMain.pas   | 102 ++++++
 jvcl/run/JvNTEventLog.pas                          | 352 ++++++++++++++-------
 jvcl/run/JvResources.pas                           |   3 +
 6 files changed, 445 insertions(+), 115 deletions(-)
 create mode 100644 jvcl/examples/JvNTEventLog/Simple Demo/JvNTEventLog_Demo.dpr
 create mode 100644 jvcl/examples/JvNTEventLog/Simple Demo/JvNTEventLog_Demo.res
 create mode 100644 jvcl/examples/JvNTEventLog/Simple Demo/UMain.dfm
 create mode 100644 jvcl/examples/JvNTEventLog/Simple Demo/UMain.pas

diff --git a/jvcl/examples/JvNTEventLog/Simple Demo/JvNTEventLog_Demo.dpr b/jvcl/examples/JvNTEventLog/Simple Demo/JvNTEventLog_Demo.dpr
new file mode 100644
index 0000000..b8f0fe4
--- /dev/null
+++ b/jvcl/examples/JvNTEventLog/Simple Demo/JvNTEventLog_Demo.dpr	
@@ -0,0 +1,14 @@
+program JvNTEventLog_Demo;
+
+uses
+  Vcl.Forms,
+  UMain in 'UMain.pas' {frmMain};
+
+{$R *.res}
+
+begin
+  Application.Initialize;
+  Application.MainFormOnTaskbar := True;
+  Application.CreateForm(TfrmMain, frmMain);
+  Application.Run;
+end.
diff --git a/jvcl/examples/JvNTEventLog/Simple Demo/JvNTEventLog_Demo.res b/jvcl/examples/JvNTEventLog/Simple Demo/JvNTEventLog_Demo.res
new file mode 100644
index 0000000000000000000000000000000000000000..c287ee9863dccfc9aa3b7e6b7563332879c2b5b1
GIT binary patch
literal 298600
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

literal 0
HcmV?d00001

diff --git a/jvcl/examples/JvNTEventLog/Simple Demo/UMain.dfm b/jvcl/examples/JvNTEventLog/Simple Demo/UMain.dfm
new file mode 100644
index 0000000..1a7c0e7
--- /dev/null
+++ b/jvcl/examples/JvNTEventLog/Simple Demo/UMain.dfm	
@@ -0,0 +1,89 @@
+object frmMain: TfrmMain
+  Left = 0
+  Top = 0
+  Caption = 'JvNTEventLog Demo'
+  ClientHeight = 287
+  ClientWidth = 608
+  Color = clBtnFace
+  Font.Charset = DEFAULT_CHARSET
+  Font.Color = clWindowText
+  Font.Height = -14
+  Font.Name = 'Tahoma'
+  Font.Style = []
+  OldCreateOrder = False
+  DesignSize = (
+    608
+    287)
+  PixelsPerInch = 120
+  TextHeight = 17
+  object MLog: TMemo
+    Left = 0
+    Top = 0
+    Width = 430
+    Height = 287
+    Anchors = [akLeft, akTop, akRight, akBottom]
+    ReadOnly = True
+    ScrollBars = ssVertical
+    TabOrder = 0
+  end
+  object CLogfile: TRadioGroup
+    Left = 438
+    Top = 113
+    Width = 160
+    Height = 121
+    Anchors = [akRight, akBottom]
+    Items.Strings = (
+      'Application'
+      'Security'
+      'System')
+    TabOrder = 1
+    OnClick = CLogfileClick
+  end
+  object BtnLog: TButton
+    Left = 438
+    Top = 245
+    Width = 160
+    Height = 32
+    Anchors = [akRight, akBottom]
+    Caption = 'Log latest event'
+    Enabled = False
+    TabOrder = 2
+    OnClick = BtnLogClick
+  end
+  object btnISAM: TSpinButton
+    Left = 496
+    Top = 24
+    Width = 33
+    Height = 41
+    Anchors = [akTop, akRight]
+    DownGlyph.Data = {
+      0E010000424D0E01000000000000360000002800000009000000060000000100
+      200000000000D800000000000000000000000000000000000000008080000080
+      8000008080000080800000808000008080000080800000808000008080000080
+      8000008080000080800000808000000000000080800000808000008080000080
+      8000008080000080800000808000000000000000000000000000008080000080
+      8000008080000080800000808000000000000000000000000000000000000000
+      0000008080000080800000808000000000000000000000000000000000000000
+      0000000000000000000000808000008080000080800000808000008080000080
+      800000808000008080000080800000808000}
+    Enabled = False
+    TabOrder = 3
+    UpGlyph.Data = {
+      0E010000424D0E01000000000000360000002800000009000000060000000100
+      200000000000D800000000000000000000000000000000000000008080000080
+      8000008080000080800000808000008080000080800000808000008080000080
+      8000000000000000000000000000000000000000000000000000000000000080
+      8000008080000080800000000000000000000000000000000000000000000080
+      8000008080000080800000808000008080000000000000000000000000000080
+      8000008080000080800000808000008080000080800000808000000000000080
+      8000008080000080800000808000008080000080800000808000008080000080
+      800000808000008080000080800000808000}
+    OnDownClick = btnISAMDownClick
+    OnUpClick = btnISAMUpClick
+  end
+  object JvNTEventLog1: TJvNTEventLog
+    Active = False
+    Left = 376
+    Top = 8
+  end
+end
diff --git a/jvcl/examples/JvNTEventLog/Simple Demo/UMain.pas b/jvcl/examples/JvNTEventLog/Simple Demo/UMain.pas
new file mode 100644
index 0000000..eff5b81
--- /dev/null
+++ b/jvcl/examples/JvNTEventLog/Simple Demo/UMain.pas	
@@ -0,0 +1,102 @@
+unit UMain;
+
+interface
+
+uses
+  Windows, Messages, SysUtils, Classes, Graphics,
+  Controls, Forms, Dialogs, JvComponentBase, JvNTEventLog,
+  StdCtrls, ExtCtrls, Vcl.Samples.Spin;
+
+type
+  TfrmMain = class(TForm)
+    MLog: TMemo;
+    CLogfile: TRadioGroup;
+    BtnLog: TButton;
+    JvNTEventLog1: TJvNTEventLog;
+    btnISAM: TSpinButton;
+    procedure BtnLogClick(Sender: TObject);
+    procedure btnISAMUpClick(Sender: TObject);
+    procedure btnISAMDownClick(Sender: TObject);
+    procedure CLogfileClick(Sender: TObject);
+  private
+    { Private-Deklarationen }
+    procedure DumpEvent;
+  public
+    { Public-Deklarationen }
+  end;
+
+var
+  frmMain: TfrmMain;
+
+implementation uses StrUtils;
+
+{$R *.dfm}
+
+procedure TfrmMain.btnISAMDownClick(Sender: TObject);
+begin
+  JvNTEventLog1.Next;
+
+  DumpEvent;
+end;
+
+procedure TfrmMain.btnISAMUpClick(Sender: TObject);
+begin
+  JvNTEventLog1.Prior;
+
+  DumpEvent;
+end;
+
+procedure TfrmMain.BtnLogClick(Sender: TObject);
+begin
+  JvNTEventLog1.Last;
+
+  DumpEvent;
+end;
+
+procedure TfrmMain.DumpEvent;
+var i: integer;
+begin
+  with MLog.Lines do begin
+    BeginUpdate;
+    try
+      Add('--');
+      Add('RecordNumber: ' + IntToStr(JvNTEventLog1.EventRecord.RecordNumber));
+      Add('DateTime: ' + DateTimeToStr(JvNTEventLog1.EventRecord.DateTime));
+      Add('EventType: ' + JvNTEventLog1.EventRecord.EventType);
+      Add('EventID: ' + IntToStr(JvNTEventLog1.EventRecord.ID) + ' == ' +IntToHex(JvNTEventLog1.EventRecord.ID, 8));
+      Add(Format('    Code: %d Facility %d  %s  %s-defined', [
+            JvNTEventLog1.EventRecord.Code, JvNTEventLog1.EventRecord.Facility,
+            JvNTEventLog1.EventRecord.SeverityAsText,
+            IfThen( JvNTEventLog1.EventRecord.CustomCode, 'Application', 'Windows')]));
+      Add('Category: ' + IntToStr(JvNTEventLog1.EventRecord.Category));
+
+      i := JvNTEventLog1.EventRecord.StringCount;
+      Add('Has '+IntToStr(i)+' string'+IfThen(i<>1,'s')+IfThen(i>0, ':', '.'));
+      for i := 1 to i do
+          Add(Format('%8d: %s', [i, JvNTEventLog1.EventRecord.EventString[i-1]]));
+      Add('MessageText: ' + JvNTEventLog1.EventRecord.MessageText);
+      // How the get the content of the message, this one doesn't work!
+      Add('UserName: ' + JvNTEventLog1.EventRecord.UserName); // Doesn't work ?!
+      Add('ComputerName: ' + JvNTEventLog1.EventRecord.Computer);
+      Add('Application: ' + JvNTEventLog1.EventRecord.Source);
+    finally
+      EndUpdate;
+      Add('');   // after .EU - to make TMemo scroll down
+    end;
+  end;
+end;
+
+
+
+procedure TfrmMain.CLogfileClick(Sender: TObject);
+begin
+  // JvNTEventLog1.Server := 'localhost'; // or leave blank
+  JvNTEventLog1.Source := CLogfile.Items[CLogFile.ItemIndex];
+
+  JvNTEventLog1.Open;
+
+  btnISAM.Enabled := JvNTEventLog1.Active;
+  BtnLog.Enabled  := JvNTEventLog1.Active;
+end;
+
+end.
diff --git a/jvcl/run/JvNTEventLog.pas b/jvcl/run/JvNTEventLog.pas
index 95d49d4..8da1b7a 100644
--- a/jvcl/run/JvNTEventLog.pas
+++ b/jvcl/run/JvNTEventLog.pas
@@ -63,6 +63,7 @@ type
     procedure SetSource(const Value: string);
     procedure SetLog(const Value: string);
     function GetEventCount: Cardinal;
+    function DoReadRecord(const Direction: ShortInt; const RecNo: Cardinal = 0): boolean;
     procedure SeekRecord(N: Cardinal);
   public
     constructor Create(AOwner: TComponent); override;
@@ -73,6 +74,7 @@ type
     procedure Last;
     function Eof: Boolean;
     procedure Next;
+    procedure Prior;
     procedure Seek(N: Cardinal);
     procedure ReadEventLogs(AStrings: TStrings);
     property EventCount: Cardinal read GetEventCount;
@@ -80,7 +82,7 @@ type
   published
     property Server: string read FServer write SetServer;
     property Source: string read FSource write SetSource;
-    property Log: string read FLog write SetLog;
+    property Log: string read FLog write SetLog; // Remove ? Seems to be a proper name for Source but never been actually used
     property Active: Boolean read FActive write SetActive;
     property OnChange: TNotifyEvent read FOnChange write FOnChange;
   end;
@@ -96,23 +98,32 @@ type
     constructor Create(AOwner: TComponent);
   end;
 
+  TEventSeverity = (evsSuccess, evsInfo, evsWarning, evsError );
+
   TJvNTEventLogRecord = class(TObject)
   private
     FEventLog: TJvNTEventLog;
     FCurrentRecord: Pointer;
     FOwner: TComponent;
-    function GetRecordNumber: Cardinal;
+    FRecordBytesSize: Cardinal;
+    FNonParsed: boolean;
+    FEventArgs: array of string;
+    FComputerName, FEventSource: string;
+    function GetRecordNumber: Cardinal;  {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF}
     function GetDateTime: TDateTime;
-    function GetID: DWORD;
+    function GetRawID: DWORD;            {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF}
     function GetType: string;
-    function GetStringCount: DWORD;
-    function GetCategory: Cardinal;
+    function GetStringCount: DWORD;      {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF}
+    function GetCategory: Cardinal;      {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF}
     function GetSource: string;
     function GetComputer: string;
     function GetSID: PSID;
     function GetString(Index: Cardinal): string;
     function GetMessageText: string;
     function GetUsername: string;
+    procedure SetRecordBytesSize(const Value: Cardinal);
+    property RecordBytesSize: Cardinal read FRecordBytesSize write SetRecordBytesSize;
+    function TryParseRecord(BytesRead: Cardinal = 0): boolean;
   public
     constructor Create(AOwner: TComponent);
     property RecordNumber: Cardinal read GetRecordNumber;
@@ -121,7 +132,12 @@ type
     property Category: Cardinal read GetCategory;
     property Source: string read GetSource;
     property Computer: string read GetComputer;
-    property ID: DWORD read GetID;
+    property ID: DWORD read GetRawID;
+    function Code: Word;                {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF}
+    function CustomCode: boolean;       {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF}
+    function Facility: Word;
+    function Severity: TEventSeverity;
+    function SeverityAsText: string;
     property StringCount: DWORD read GetStringCount;
     property SID: PSID read GetSID;
     property EventString[Index: Cardinal]: string read GetString;
@@ -130,6 +146,27 @@ type
     property Owner: TComponent read FOwner;
   end;
 
+  PEventLogRecord = ^TEventLogRecord;
+  TEventLogRecord = packed record
+    Length: DWORD; // Length of full record
+    Reserved: DWORD; // Used by the service
+    RecordNumber: DWORD; // Absolute record number
+    TimeGenerated: DWORD; // Seconds since 1-1-1970
+    TimeWritten: DWORD; // Seconds since 1-1-1970
+    EventID: DWORD;
+    EventType: WORD;
+    NumStrings: WORD;
+    EventCategory: WORD;
+    ReservedFlags: WORD; // For Use with paired events (auditing)
+    ClosingRecordNumber: DWORD; // For Use with paired events (auditing)
+    StringOffset: DWORD; // Offset from beginning of record
+    UserSidLength: DWORD;
+    UserSidOffset: DWORD;
+    DataLength: DWORD;
+    DataOffset: DWORD; // Offset from beginning of record
+  end;
+
+
 {$IFDEF UNITVERSIONING}
 const
   UnitVersioning: TUnitVersionInfo = (
@@ -144,6 +181,7 @@ implementation
 
 uses
   Registry,
+  JclStringLists,
   JvResources;
 
 const
@@ -154,27 +192,6 @@ const
 
   cEventLogBaseKey = 'SYSTEM\CurrentControlSet\Services\EventLog';
 
-type
-  PEventLogRecord = ^TEventLogRecord;
-  TEventLogRecord = record
-    Length: DWORD; // Length of full record
-    Reserved: DWORD; // Used by the service
-    RecordNumber: DWORD; // Absolute record number
-    TimeGenerated: DWORD; // Seconds since 1-1-1970
-    TimeWritten: DWORD; // Seconds since 1-1-1970
-    EventID: DWORD;
-    EventType: WORD;
-    NumStrings: WORD;
-    EventCategory: WORD;
-    ReservedFlags: WORD; // For Use with paired events (auditing)
-    ClosingRecordNumber: DWORD; // For Use with paired events (auditing)
-    StringOffset: DWORD; // Offset from beginning of record
-    UserSidLength: DWORD;
-    UserSidOffset: DWORD;
-    DataLength: DWORD;
-    DataOffset: DWORD; // Offset from beginning of record
-  end;
-
 //=== { TJvNTEventLog } ======================================================
 
 constructor TJvNTEventLog.Create(AOwner: TComponent);
@@ -194,6 +211,7 @@ begin
   inherited Destroy;
 end;
 
+
 procedure TJvNTEventLog.SetActive(Value: Boolean);
 begin
   if Value <> FActive then
@@ -250,7 +268,7 @@ end;
 function TJvNTEventLog.GetEventCount: Cardinal;
 begin
   if Active then
-    GetNumberOfEventLogRecords(FLogHandle, Result)
+    Win32Check( GetNumberOfEventLogRecords(FLogHandle, Result) )
   else
     Result := 0;
 end;
@@ -299,51 +317,56 @@ begin
     (FLastError = ERROR_HANDLE_EOF);
 end;
 
-procedure TJvNTEventLog.Next;
+function TJvNTEventLog.DoReadRecord(const Direction: ShortInt;
+  const RecNo: Cardinal): boolean;
 var
-  BytesRead, BytesNeeded, Flags: DWORD;
+  Flags: DWORD;
+  BytesRead, BytesNeeded: Cardinal;
   Dummy: Char;
 begin
-  Flags := EVENTLOG_SEQUENTIAL_READ;
-  Flags := Flags or EVENTLOG_FORWARDS_READ;
+  if Direction = 0
+     then Flags := EVENTLOG_SEEK_READ
+     else Flags := EVENTLOG_SEQUENTIAL_READ;
+  if Direction < 0
+     then Flags := Flags or EVENTLOG_BACKWARDS_READ
+     else Flags := Flags or EVENTLOG_FORWARDS_READ;
 
-  ReadEventLog(FLogHandle, Flags, 0, @Dummy, 0, BytesRead, BytesNeeded);
+  Result := False;
+  ReadEventLog(FLogHandle, Flags, RecNo, @Dummy, 0, BytesRead, BytesNeeded);
   FLastError := GetLastError;
   if FLastError = ERROR_INSUFFICIENT_BUFFER then
   begin
-    ReallocMem(FEventRecord.FCurrentRecord, BytesNeeded);
-    if not ReadEventLog(FLogHandle, Flags, 0, FEventRecord.FCurrentRecord, BytesNeeded, BytesRead, BytesNeeded) then
+    FEventRecord.RecordBytesSize := BytesNeeded;
+    if not ReadEventLog(FLogHandle, Flags, RecNo, FEventRecord.FCurrentRecord, BytesNeeded, BytesRead, BytesNeeded) then
       RaiseLastOSError;
+    Result := FEventRecord.TryParseRecord(BytesRead);
+//    if not FEventRecord.IsRecordValid(BytesRead) then
+//      Raise EIntError.Create(ClassName + ': Invalid WinNT Event structure.');
   end
   else
   if FLastError <> ERROR_HANDLE_EOF then
     RaiseLastOSError;
 end;
 
+procedure TJvNTEventLog.Next;
+begin
+  DoReadRecord(+1);
+end;
+
+procedure TJvNTEventLog.Prior;
+begin
+  DoReadRecord(-1);
+end;
+
 procedure TJvNTEventLog.SeekRecord(N: Cardinal);
 var
-  Offset, Flags: DWORD;
-  BytesRead, BytesNeeded: Cardinal;
-  Dummy: Char;
-  RecNo: Integer;
+  Offset: DWORD;
+  RecNo: Cardinal;
 begin
-  GetOldestEventLogRecord(FLogHandle, Offset);
+  Win32Check( GetOldestEventLogRecord(FLogHandle, Offset) );
   RecNo := N + Offset;
 
-  Flags := EVENTLOG_SEEK_READ;
-  Flags := Flags or EVENTLOG_FORWARDS_READ;
-
-  ReadEventLog(FLogHandle, Flags, RecNo, @Dummy, 0, BytesRead, BytesNeeded);
-  FLastError := GetLastError;
-  if FLastError = ERROR_INSUFFICIENT_BUFFER then
-  begin
-    ReallocMem(FEventRecord.FCurrentRecord, BytesNeeded);
-    if not ReadEventLog(FLogHandle, Flags, RecNo, FEventRecord.FCurrentRecord, BytesNeeded, BytesRead, BytesNeeded) then
-      RaiseLastOSError;
-  end
-  else
-  if FLastError <> ERROR_HANDLE_EOF then
-    RaiseLastOSError;
+  DoReadRecord(0, RecNo);
 end;
 
 procedure TJvNTEventLog.Seek(N: Cardinal);
@@ -421,6 +444,70 @@ begin
   FOwner := AOwner;
 end;
 
+function TJvNTEventLogRecord.TryParseRecord(BytesRead: Cardinal): boolean;
+Var CR: PEventLogRecord;
+    PLen2: PCardinal; LastDataOffs: Cardinal;
+    i: integer;
+
+  ParsingStringPtr: PChar;
+  function ParseString(const InitOffset: Cardinal = 0): string;
+  begin
+    if InitOffset <> 0 then
+       Cardinal(ParsingStringPtr) := Cardinal(CR) + InitOffset;
+
+    Result := ParsingStringPtr;
+    Inc(ParsingStringPtr, Length(Result) + 1);
+  end;
+begin
+  if BytesRead = 0 then BytesRead := RecordBytesSize;
+
+  Result := False;
+  if BytesRead < RecordBytesSize then exit;
+  if FCurrentRecord = nil then exit;
+
+  CR := FCurrentRecord;
+  if RecordBytesSize < SizeOf(CR^) then exit;
+  if RecordBytesSize < CR^.Length then exit;
+
+  LastDataOffs := RecordBytesSize - SizeOf(PLen2^);
+  Cardinal(PLen2) := Cardinal(CR) + LastDataOffs;
+  if PLen2^ <> CR^.Length then exit;
+
+  if CR^.Reserved <> $654c664c then exit;
+
+  if (CR^.UserSidOffset <> 0) and (CR^.UserSidLength <> 0) then
+     if CR^.UserSidOffset + CR^.UserSidLength > LastDataOffs then exit;
+
+  if (CR^.DataOffset <> 0) and (CR^.DataLength <> 0) then
+     if CR^.DataOffset + CR^.DataLength > LastDataOffs then exit;
+
+  if CR^.StringOffset > LastDataOffs then exit;
+
+  FEventSource := ParseString( SizeOf(TEventLogRecord) );
+  FComputerName := ParseString();
+
+  SetLength(FEventArgs, CR^.NumStrings);
+  if Length(FEventArgs) > 0 then begin
+     i := 0;
+     FEventArgs[i] := ParseString(CR^.StringOffset);
+     While True do begin
+        Inc(i);
+        if i > High(FEventArgs) then break;
+        FEventArgs[i] := ParseString();
+     end;
+  end;
+
+  Result := True;
+  FNonParsed := False;
+end;
+
+procedure TJvNTEventLogRecord.SetRecordBytesSize(const Value: Cardinal);
+begin
+  ReallocMem(FCurrentRecord, Value);
+  FRecordBytesSize := Value;
+  FNonParsed := True;
+end;
+
 function TJvNTEventLogRecord.GetRecordNumber: Cardinal;
 begin
   Result := PEventLogRecord(FCurrentRecord)^.RecordNumber;
@@ -429,11 +516,13 @@ end;
 function TJvNTEventLogRecord.GetMessageText: string;
 var
   MessagePath: string;
-  Count, I: Integer;
-  P: PChar;
-  Args, PArgs: ^PChar;
+  {Count,} I: Integer;
+//  P: PChar;
+  Args: array of PChar;
+//  iArgs: Integer;
   St: string;
   reg: TRegistry;
+  jsl: IJclStringList;
 
   function FormatMessageFrom(const DllName: string): Boolean;
   var
@@ -442,64 +531,66 @@ var
     FullDLLName: array [0..MAX_PATH] of Char;
   begin
     Result := False;
-    ExpandEnvironmentStrings(PChar(DllName), FullDLLName, MAX_PATH);
-    DllModule := LoadLibraryEx(FullDLLName, 0, LOAD_LIBRARY_AS_DATAFILE);
+
+    DllModule := 0;
+    if DllName > '' then begin
+       ExpandEnvironmentStrings(PChar(DllName), FullDLLName, MAX_PATH);
+       DllModule := LoadLibraryEx(FullDLLName, 0, LOAD_LIBRARY_AS_DATAFILE);
+    end;
     if DllModule <> 0 then
     try
-      // (rom) memory leak fixed
       if FormatMessage(
-        FORMAT_MESSAGE_FROM_HMODULE or FORMAT_MESSAGE_ARGUMENT_ARRAY,
-        Pointer(DllModule), ID, 0, Buffer, SizeOf(Buffer), Args) > 0 then
+        FORMAT_MESSAGE_FROM_SYSTEM or FORMAT_MESSAGE_FROM_HMODULE or FORMAT_MESSAGE_ARGUMENT_ARRAY,
+        Pointer(DllModule), ID, 0, Buffer, Length(Buffer), @Args[Low(Args)]) > 0 then
       begin
         Buffer[StrLen(Buffer) - 2] := #0;
         St := Buffer;
         Result := True;
-      end
+      end else
+        RaiseLastOSError;
     finally
       FreeLibrary(DllModule);
     end
   end;
 
 begin
-  St := '';
-  Count := StringCount;
-  GetMem(Args, Count * SizeOf(PChar));
+  Result := '';
+
+  if FNonParsed then
+     if not TryParseRecord() then
+        Exit;
+
+  SetLength(Args, Length(FEventArgs));
+  for I := Low(Args) to High(Args) do
+      Args[I] := PChar( FEventArgs[I] );
+
+  reg := TRegistry.Create;
   try
-    PArgs := Args;
-    P := PEventLogRecord(FCurrentRecord)^.StringOffset + PChar(FCurrentRecord);
-    for I := 0 to Count - 1 do
-    begin
-      PArgs^ := P;
-      Inc(P, lstrlen(P) + 1);
-      Inc(PArgs);
+    reg.RootKey := HKEY_LOCAL_MACHINE;
+    reg.OpenKeyReadOnly(Format('%s\%s\%s', [cEventLogBaseKey, FEventLog.Source, Self.Source]));
+    if reg.ReadString('ParameterMessageFile') <> '' then begin
+       Result := RsLogNotImplParamsFile; // http://delphimaster.net/view/4-65276
+       exit;
     end;
-
-    reg := TRegistry.Create;
-    try
-      reg.RootKey := HKEY_LOCAL_MACHINE;
-      reg.OpenKey(Format('%s\%s\%s', [cEventLogBaseKey, FEventLog.Log, Source]), False); {rw}
-//      OpenKey(Format('SYSTEM\CurrentControlSet\Services\EventLog\%s\%s', [FEventLog.Log, FEventLog.Source]), False);
-      MessagePath := reg.ReadString('EventMessageFile');
-    finally
-      reg.Free;
+    MessagePath := reg.ReadString('EventMessageFile');
+    if (MessagePath = '') and (reg.ReadString('ProviderGuid') <> '') then begin
+       Result := RsLogNotImplVista;
+       exit;  // Vista+ Evt***  new API - someone's welcome to implement
     end;
-
-    repeat
-      I := Pos(';', MessagePath);
-      if I <> 0 then
-      begin
-        if FormatMessageFrom(Copy(MessagePath, 1, I - 1 )) then {rw}
-//          if FormatMessageFrom(Copy(MessagePath, 1, I)) then
-          Break;
-        MessagePath := Copy(MessagePath, I + 1, MaxInt); {rw}
-//          MessagePath := Copy(MessagePath, I, MaxInt);
-      end
-      else
-        FormatMessageFrom(MessagePath);
-    until I = 0;
   finally
-    FreeMem(Args)
+    reg.Free;
   end;
+
+  St := '';
+  jsl := JclStringList.Split(MessagePath,';').Trim;
+
+  if jsl.Count > 0 then begin
+    I := 0;
+    while (I < jsl.Count) and (not FormatMessageFrom(jsl[I]))
+      do Inc(I);
+  end else
+    FormatMessageFrom(''); // last resort: try OS-wide message tables
+
   Result := St;
 end;
 
@@ -549,22 +640,59 @@ end;
 
 function TJvNTEventLogRecord.GetSource: string;
 begin
-  Result := PChar(FCurrentRecord) + SizeOf(TEventLogRecord);
+  Result := '';
+  if FNonParsed then
+     if not TryParseRecord() then
+        Exit;
+
+  Result := FEventSource;
 end;
 
 function TJvNTEventLogRecord.GetComputer: string;
-var
-  P: PChar;
 begin
-  P := PChar(FCurrentRecord) + SizeOf(TEventLogRecord);
-  Result := P + StrLen(P) + 1;
+  Result := '';
+  if FNonParsed then
+     if not TryParseRecord() then
+        Exit;
+
+  Result := FComputerName;
 end;
 
-function TJvNTEventLogRecord.GetID: DWORD;
+function TJvNTEventLogRecord.GetRawID: DWORD;
 begin
+  // Raw Event ID, see MSDN for its internal format
   Result := PEventLogRecord(FCurrentRecord)^.EventID;
 end;
 
+function TJvNTEventLogRecord.Code: Word;
+begin
+  Result := ID and $0000FFFF;
+end;
+
+function TJvNTEventLogRecord.Facility: Word;
+begin
+  Result := (ID shr 16) and $00000FFF;
+end;
+
+function TJvNTEventLogRecord.CustomCode: boolean;
+begin
+  Result := (ID and $20000000 ) <> 0;
+end;
+
+function TJvNTEventLogRecord.Severity: TEventSeverity;
+begin
+  Byte(Result) := (ID shr 30) and $03;
+end;
+
+const SeverityDescriptions: array [ TEventSeverity] of string =
+ ( RsLogSuccess, RsLogInformation, RsLogWarning, RsLogERROR);
+
+function TJvNTEventLogRecord.SeverityAsText: string;
+begin
+  Result := SeverityDescriptions[Severity];
+end;
+
+
 function TJvNTEventLogRecord.GetStringCount: DWORD;
 begin
   Result := PEventLogRecord(FCurrentRecord)^.NumStrings;
@@ -583,20 +711,14 @@ begin
 end;
 
 function TJvNTEventLogRecord.GetString(Index: Cardinal): string;
-var
-  P: PChar;
 begin
   Result := '';
-  if Index < StringCount then
-  begin
-    P := PChar(FCurrentRecord) + PEventLogRecord(FCurrentRecord)^.StringOffset;
-    while Index > 0 do
-    begin
-      Inc(P, StrLen(P) + 1);
-      Dec(Index);
-    end;
-    Result := StrPas(P);
-  end;
+
+  if FNonParsed then
+     if not TryParseRecord() then
+        Exit;
+
+  Result := FEventArgs[Index];
 end;
 
 function TJvNTEventLogRecord.GetDateTime: TDateTime;
diff --git a/jvcl/run/JvResources.pas b/jvcl/run/JvResources.pas
index 9ec152a..1d35818 100644
--- a/jvcl/run/JvResources.pas
+++ b/jvcl/run/JvResources.pas
@@ -1529,9 +1529,12 @@ resourcestring
   RsLogError = 'Error';
   RsLogWarning = 'Warning';
   RsLogInformation = 'Information';
+  RsLogSuccess     = 'Success';
   RsLogSuccessAudit = 'Success Audit';
   RsLogFailureAudit = 'Failure Audit';
   RsLogUserSIDNotFound = 'User SID not found';
+  RsLogNotImplVista = 'Not implemented: Vista/Server2008 new API ("Evt***" functions).';
+  RsLogNotImplParamsFile = 'Not implemented: custom parameters file parsing.';
 
 //=== JvObjectPickerDialog.pas ===============================================
 resourcestring
-- 
1.8.3.msysgit.0

2013-09-02 14:47

 

0002-6160-fixed-obtaining-user-name-and-SID.patch (1,749 bytes)
From c3fb14a4f7c5fd76cc3b73109b5cb5e0137350f4 Mon Sep 17 00:00:00 2001
From: the-Arioch <the_Arioch@nm.ru>
Date: Mon, 2 Sep 2013 16:35:14 +0400
Subject: [PATCH] #6160 fixed obtaining user name and SID

---
 jvcl/run/JvNTEventLog.pas | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/jvcl/run/JvNTEventLog.pas b/jvcl/run/JvNTEventLog.pas
index 8da1b7a..8b8cf0b 100644
--- a/jvcl/run/JvNTEventLog.pas
+++ b/jvcl/run/JvNTEventLog.pas
@@ -27,6 +27,12 @@ unit JvNTEventLog;
 
 {$I jvcl.inc}
 {$I windowsonly.inc}
+{$IfNDef CPU386} According to MSDN Win64 requires va_list usage in FormatMessage, so it would deny this component calls. {$EndIf}
+
+//TODO: Make Win64 compatible ( va_* arguments for FormatMessage(...), Pointers math (same datatypes in Delphi 7 and XE2/x64)
+//TODO: Make Vista+ compatible ( New GUID-based Events API, codename "Crimson", Evt**** WinAPI functions )
+//TODO: Make Win2000/XP compatible: ( Parameters Substitution files loading and parsing )
+// ...someone who cares is welcome to implement.
 
 interface
 
@@ -45,7 +51,7 @@ type
   TJvNTEventLogRecord = class;
 
   {$IFDEF RTL230_UP}
-  [ComponentPlatformsAttribute(pidWin32 or pidWin64)]
+  [ComponentPlatformsAttribute(pidWin32)]
   {$ENDIF RTL230_UP}
   TJvNTEventLog = class(TJvComponent)
   private
@@ -707,7 +713,7 @@ function TJvNTEventLogRecord.GetSID: PSID;
 begin
   Result := nil;
   if PEventLogRecord(FCurrentRecord)^.UserSidLength > 0 then
-    Result := PSID(PChar(FCurrentRecord) + PEventLogRecord(FCurrentRecord)^.UserSidOffset);
+     Cardinal(Result) := Cardinal(FCurrentRecord) + PEventLogRecord(FCurrentRecord)^.UserSidOffset;
 end;
 
 function TJvNTEventLogRecord.GetString(Index: Cardinal): string;
-- 
1.8.3.msysgit.0

2013-09-02 14:49

 

JvNTEventLog Updated.7z (93,350 bytes)

Arioch

2013-10-08 16:46

developer   ~0020656

Delphi86, did you tried this ? Do you still have problems ?

2013-10-08 17:11

 

0003-jvcl_NTEventLog_Win32-only.patch (2,432 bytes)
---
 jvcl/design/JvSystemReg.pas      | 6 ++++--
 jvcl/packages/xml/JvSystem-R.xml | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/jvcl/design/JvSystemReg.pas b/jvcl/design/JvSystemReg.pas
index 7581eef..97260f0 100644
--- a/jvcl/design/JvSystemReg.pas
+++ b/jvcl/design/JvSystemReg.pas
@@ -38,10 +38,11 @@ uses
   Controls,
   FiltEdit, DesignEditors, DesignIntf,
   JvDsgnConsts,
+  {$IfDef CPU386}JvNTEventLog, {$EndIf}
   JvClipboardMonitor, JvClipboardViewer, JvHidControllerClass,
   JvDragDrop, JvDdeCmd, JvAppCommand, JvScreenSaveSuppress, JvWndProcHook, JvSysRequirements,
   JvMRUList, JvMRUManager, JvCommStatus, JvJoystick,
-  JvNTEventLog, JvRas32, JvAppInst, JvScreenSaver,
+  JvRas32, JvAppInst, JvScreenSaver,
   JvShellHook, JvSHFileOperation, JvSoundControl, JvChangeNotify, JvSearchFiles,
   JvPerfMon95, JvComputerInfoEx,
   JvChangeNotifyEditor, JvPerfStatEditor, JvTimerList, JvTimerListEditor,
@@ -68,7 +69,8 @@ begin
     TJvAppDdeCmd, TJvHidDeviceController, TJvDropTarget, TJvDragDrop, TJvAppCommand,
     TJvScreenSaveSuppressor, TJvSysRequirements]);
   RegisterComponents(RsPaletteSystem, [{TJvComputerInfo, // - do not register this component as default}
-    TJvSHFileOperation, TJvChangeNotify, TJvAppInstances, TJvNTEventLog,
+    TJvSHFileOperation, TJvChangeNotify, TJvAppInstances, 
+	{$IfDef CPU386} TJvNTEventLog, {$EndIf}
     TJvMailSlotServer, TJvMailSlotClient,
     TJvScreenSaver, TJvJoystick, TJvSoundControl,
     TJvPerfStat95, TJvComputerInfoEx, TJvDebugHandler]);
diff --git a/jvcl/packages/xml/JvSystem-R.xml b/jvcl/packages/xml/JvSystem-R.xml
index 812885d..2e64431 100644
--- a/jvcl/packages/xml/JvSystem-R.xml
+++ b/jvcl/packages/xml/JvSystem-R.xml
@@ -38,7 +38,7 @@
     <File Name="..\..\run\JvJoystick.pas" Targets="all" Formname="" Condition=""/>
     <File Name="..\..\run\JvMRUList.pas" Targets="all" Formname="" Condition=""/>
     <File Name="..\..\run\JvMRUManager.pas" Targets="all" Formname="" Condition=""/>
-    <File Name="..\..\run\JvNTEventLog.pas" Targets="all" Formname="" Condition=""/>
+    <File Name="..\..\run\JvNTEventLog.pas" Targets="all_win32" Formname="" Condition=""/>
     <File Name="..\..\run\JvPerfMon95.pas" Targets="all" Formname="" Condition=""/>
     <File Name="..\..\run\JvRas32.pas" Targets="all" Formname="" Condition=""/>
     <File Name="..\..\run\JvScreenResolution.pas" Targets="all" Formname="" Condition=""/>

Delphi86

2013-10-09 21:35

reporter   ~0020658

No, I haven't tried this yet. I'm currently working on an exam over a longer period of time and had no time. I solved my problem using WMI. But I will try this in the next two weeks, WMI isn't a good solution.

Delphi86

2013-10-22 23:19

reporter   ~0020681

Finished my stuff. Can work on this problem. So... What shall I do exactly. Tried it with the latest development snapshot (3.48). Still the same issue. Sorry, but I haven't worked with Delphi in the last months. I'm totally out of practice :(

Arioch

2013-10-23 08:27

developer   ~0020682

This was not merged into trunk, at least not until something would really test it. Sincerely i don't know if jfudickar is part of the team. If not, then maybe none of the team read this yet.

There i think nothing changed in this regard in dailies. You can compare JvNTEvents.pas of this daily and your prior one. Or even easier, right-click on JvNTEvents.pas and go menu Tortoise Git -> history and see if any changes were made since day you registered this ticker.

Somewhat reworked module and demo are attached to this ticket, either in format of patches or as 7z blob. Take what suits you best and try them.

Delphi86

2013-10-23 19:15

reporter   ~0020683

Ah, I havent's seen that there have been added attachments. This is my first ticket, so I'm not familiar with this.

But yes, your updated JvNTEvents.pas worked for me. But how to use the patches? Neber worked with such files.

Arioch

2013-10-24 08:18

developer   ~0020685

Well, those patch-files were created by Git and contain references to Git history, so i don't actually know if you can apply them automatically without having Git installed. Maybe tools like KDiff3, WinMerge, DiffMerge and similar can be used to some extent. Or you just can read those patch files yourselves and see the changes, which then you'd manually apply.

Pannier

2017-04-20 11:19

reporter   ~0021424

Hello, I had the same problem. JvNTEventLog Updated.7z worked except the MessageText is wrong.
This changes are not in the latest repo. Is this right?

Issue History

Date Modified Username Field Change
2013-07-06 16:54 Delphi86 New Issue
2013-07-06 16:54 Delphi86 File Added: Issues.bmp
2013-08-31 04:16 Arioch Note Added: 0020614
2013-08-31 04:16 Arioch Status new => feedback
2013-09-01 00:19 Delphi86 Note Added: 0020618
2013-09-01 00:19 Delphi86 File Added: JvNTEventLog Demo.rar
2013-09-01 00:24 Delphi86 Note Added: 0020619
2013-09-01 12:52 Arioch Note Added: 0020620
2013-09-01 12:53 Arioch Note Edited: 0020620
2013-09-01 12:58 Arioch Note Added: 0020621
2013-09-01 21:46 jfudickar Note Added: 0020625
2013-09-02 14:07 Arioch Note Added: 0020626
2013-09-02 14:07 Arioch Status feedback => confirmed
2013-09-02 14:10 Arioch File Added: JvNTEventLog Updated.7z
2013-09-02 14:11 Arioch Note Added: 0020627
2013-09-02 14:16 Arioch Note Added: 0020628
2013-09-02 14:16 Arioch File Added: 0001-6160-TJvNTEventLog.patch
2013-09-02 14:18 Arioch Note Edited: 0020627
2013-09-02 14:47 Arioch File Added: 0002-6160-fixed-obtaining-user-name-and-SID.patch
2013-09-02 14:49 Arioch File Deleted: JvNTEventLog Updated.7z
2013-09-02 14:49 Arioch File Added: JvNTEventLog Updated.7z
2013-09-02 14:50 Arioch Note Edited: 0020626
2013-09-02 14:51 Arioch Note Edited: 0020627
2013-10-08 16:45 Arioch Relationship added parent of 0006209
2013-10-08 16:46 Arioch Note Added: 0020656
2013-10-08 17:11 Arioch File Added: 0003-jvcl_NTEventLog_Win32-only.patch
2013-10-09 21:35 Delphi86 Note Added: 0020658
2013-10-22 23:19 Delphi86 Note Added: 0020681
2013-10-23 08:27 Arioch Note Added: 0020682
2013-10-23 19:15 Delphi86 Note Added: 0020683
2013-10-24 08:18 Arioch Note Added: 0020685
2017-04-20 11:19 Pannier Note Added: 0021424