AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Subscribing to Windows Events / winevt.h API
Thema durchsuchen
Ansicht
Themen-Optionen

Subscribing to Windows Events / winevt.h API

Ein Thema von SirTwist · begonnen am 16. Dez 2008 · letzter Beitrag vom 16. Dez 2008
Antwort Antwort
SirTwist

Registriert seit: 28. Sep 2006
196 Beiträge
 
Delphi XE Professional
 
#1

Subscribing to Windows Events / winevt.h API

  Alt 16. Dez 2008, 09:47
Hallo zusammen,

im MSDN habe ich die Möglichkeit gefunden, sich auf ein EventLog aufzuschalten, um sofort über neue Ereignisse informiert zu werden: MSDN: Subscribing to Windows Events

Ich möchte regelmäßig die neuen Events auslesen und in eine SQL-Datenbank schreiben. Ein regelmäßiges Polling mit GetNumberOfEventLogRecords und Co halte für ungeeignet, deshalb wollte ich über dieses Subscribing gehen.

Ich finde aber keine .dcu oder ähnliches, um z.B. die API-Funtkion EvtSubscribe einzubinden.

In der SuFu habe ich jede Menge Treffer zum Schreiben und Lesen des EventLogs gefunden, aber nichts, was sich direkt mit der Windows Event API beschäftigt. Auch Google schweigt sich in Zusammenhang mit Delphi darüber aus.

Hat sich schonmal jemand damit beschäftigt und weiß evtl. weiter? Vielen Dank schonmal!

Gruß,
SirTwist
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: Subscribing to Windows Events / winevt.h API

  Alt 16. Dez 2008, 09:49
Du kannst die Funktion doch einfach selber einbinden oder nicht?

Wenn du aber WinXP unterstützen möchtest, musst du die dll dynamisch einbinden, das ist etwas mehr Schreibarbeit ...

Kurz zusammenkopiert:
Delphi-Quellcode:
function EvtSubscribe(
    Session: Handle;
    SignalEvent: Handle;
    ChannelPath: PAnsiChar;
    Query: PAnsiChar;
    Bookmark: Handle;
    context: Pointer;
    Callback: Pointer;
    Flags: DWORD
  ): Handle; stdcall; external 'Wevtapi.dllname 'EvtSubscribe';
Ohne Gewähr
  Mit Zitat antworten Zitat
Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Subscribing to Windows Events / winevt.h API

  Alt 16. Dez 2008, 11:12
Zitat von SirTwist:
Hat sich schonmal jemand damit beschäftigt und weiß evtl. weiter?
Nö, aber ich habe mal schnell den Anfang des aktuellen Headers "übersetzt".
Angehängte Dateien
Dateityp: zip winevt_118.zip (4,4 KB, 64x aufgerufen)
  Mit Zitat antworten Zitat
SirTwist

Registriert seit: 28. Sep 2006
196 Beiträge
 
Delphi XE Professional
 
#4

Re: Subscribing to Windows Events / winevt.h API

  Alt 16. Dez 2008, 12:04
Zitat von nicodex:
Nö, aber ich habe mal schnell den Anfang des aktuellen Headers "übersetzt".
Klasse! Vielen Dank, ich bastel damit mal weiter.

An einer Stelle verwendest Du einen Typ ULONGLONG, der bei mir aber undefiniert ist. Ich habe einen type ULONGLONG = UInt64; gemacht, damit geht es dann.

Ich bin jetzt gerade daran, den Beispielcode von der MSDN-Seite zu übersetzen. Mal gucken, wie weit ich komme. Wenn alles klappt, häng ich das Ergebnis mal hier ran.

Gruß,
SirTwist
  Mit Zitat antworten Zitat
Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Subscribing to Windows Events / winevt.h API

  Alt 16. Dez 2008, 12:16
Zitat von SirTwist:
An einer Stelle verwendest Du einen Typ ULONGLONG, der bei mir aber undefiniert ist. Ich habe einen type ULONGLONG = UInt64; gemacht, damit geht es dann.
Wurde mit Delphi 2007 übersetzt

Ich musste die Unit vorhin aktualisieren, da ich TEvtVariant falsch übersetzt hatte (Kommentar "//NOTE:" am Ende von TEvtVariant).
Grundsätzlich ist die Übersetzung sehr strikt/typsicher, was man bei Bedarf anpassen kann/muss (TFoo = type Bar -> TFoo = Bar).
  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 22:47 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