AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Ereigniseinträge anzeigen lassen
Thema durchsuchen
Ansicht
Themen-Optionen

Ereigniseinträge anzeigen lassen

Ein Thema von Captnemo · begonnen am 27. Feb 2004 · letzter Beitrag vom 27. Feb 2004
Antwort Antwort
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#1

Ereigniseinträge anzeigen lassen

  Alt 27. Feb 2004, 17:11
Hi,

ich versuche mich gerade mehr oder weniger erfolgreich an der Ereignisanzeige

Klappt auch soweit, ich kann den EventLogRecord auslesen. Darin enthalten sind ja auch
- StringOffset
- UserSidLength
- UserSidOffset
- DataLength
- DataOffset
Auch die Auszulesen bekommen ich problemlos hin.
Aber ich will auch an:
- SourceName
- ComputerName
- UserSid
- Strings
- Data

Ich finde jetzt aber irgendwie keinen Hinweis, wie ich darauf zugreifen soll. Im EventLogRecord sind ja nur die Offsets und die Längen definiert.

Kann mir mal einer auf die Sprünge helfen, ich raffs nich.

mfg
captnemo
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Ereigniseinträge anzeigen lassen

  Alt 27. Feb 2004, 17:14
Ein Teil steckt doch in dem Record drin. Lies dir mal die Seite im PSDK durch, falls du das noch nicht getan haben solltest.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#3

Re: Ereigniseinträge anzeigen lassen

  Alt 27. Feb 2004, 17:51
Hab ich
Aber dass das in dem Record mit drin ist, hab ich gar nicht so rausgelesen. Aber jetzt wo du's sagst, macht natürlich sinn

Aber wie greife ich zu? Schließlich habe ich z.B. SourceName in der meinem Record-Type gar nicht drin?
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Ereigniseinträge anzeigen lassen

  Alt 27. Feb 2004, 18:10
Wenn Borland den Record so nicht übersetzt hat, dann wirst du ihn wohl ausgehende vom Aufbau im PSDK übersetzen müssen.

Ach so, zu SourceName steht was in den Anmerkungen.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#5

Re: Ereigniseinträge anzeigen lassen

  Alt 27. Feb 2004, 20:09
@chewie:
Is klar, aber genau das ist mein Problem. Den Text vom SDK hab ich mir schon durch gelesen.
Ich hab aber nicht verstanden, wie ich jetzt SourceName oder Data auslesen soll.

Muß ich das in der Typendeklaration erst definieren? Geht ja eigentlich gar nicht anders. Aber ich weiß nicht genau wie ich diese Type deklarieren soll, bzw. wie ich die dann auslesen kann?
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Ereigniseinträge anzeigen lassen

  Alt 27. Feb 2004, 20:29
SourceName steht nicht direkt drin, aber Data schon. Du hast die Länge des Data-Blocks (DataLength) und die Speicherposition (DataOffset). Ich weiß jetzt nur nicht, ob diese Adresse absolut ist oder relativ zum Beginn des Records. Herausfinden könnt man es, indem man diese Adresse mit der Adresse des Records vergleicht. Ist erstere Adresse sehr klein (kleiner 100 oder so), handelt es sich wohl um eine relative Adresse. Ansonsten handelt es sich wohl um eine absolute. Evtl. ein paar mal probieren, um Sicherheit zu erhalten.
Wenn du die Adresse hast, brauchst du ne Variable, der du den Kram zuweisen kannst, möglicherweise ein Array of Byte. Dessen Startadresse setzt du auf die oben herausgefundene Speicherposition - et voilà, du hast den Datenblock als Array.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz