AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) OpenEventLog: wie lpSourceName herausfinden?
Thema durchsuchen
Ansicht
Themen-Optionen

OpenEventLog: wie lpSourceName herausfinden?

Ein Thema von CCRDude · begonnen am 14. Jan 2022 · letzter Beitrag vom 18. Jan 2022
 
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#1

OpenEventLog: wie lpSourceName herausfinden?

  Alt 14. Jan 2022, 19:16
Ich möchte OpenEventLog benutzen, um das Windows Defender-Log zu durchstöbern. Dazu muss ich den Namen des Logs übergeben, den ich einfach nicht rausfinde. Kann mir jemand helfen?

Code:
HANDLE OpenEventLogA(
  [in] LPCSTR lpUNCServerName,
  [in] LPCSTR lpSourceName
);
Im Event Viewer findet sich das Log unter:
Event Viewer (Local) > Applications and Services Logs > Microsoft > Windows > Windows Defender > Operational
In den Log Properties findet sich der "Full Name" des Logs als:
Microsoft-Windows-Windows Defender/Operational
Als Source findet sich in den Events:
Windows Defender
Die Datei, die das Log beinhaltet, befindet sich in:
%SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-Windows Defender%4Operational.evtx
Und der zugehörige Registry-Eintrag findet sich unter):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\EventLog\System\WinDefend
Laut Doku wäre das passend, denn:
Zitat:
The source name must be a subkey of a logfile entry under the EventLog key in the registry.
Als Test habe ich einen kleinen Viewer gebaut, der andere Logs schon lesen kann. Das klappt je nach Log einfach bis gar nicht:

Code:
   // standard names seem to work easily:
   NewTabSheet('Application');
   NewTabSheet('System');

   // these have files with same name, and registry entries with name/name, and work:
   NewTabSheet('Veeam Agent');
   NewTabSheet('Spybot 3');

   // failing attempts to access the Windows Defender Log:
   //NewTabSheet('Microsoft-Windows-Windows Defender/Operational');
   //NewTabSheet('Microsoft\Windows\Windows Defender\Operational');
   //NewTabSheet('Microsoft-Windows-Windows Defender');
   //NewTabSheet('Microsoft\Windows\Windows Defender');
   //NewTabSheet('Windows Defender');
   //NewTabSheet('WinDefend');
Aus welchem Namen muss ich den Namen des lpSourceName-Parameters herleiten?
(und wie ist der mit dem Namen in der Registry verknüpft, die brauche ich ja, um die Dateinamen der Message-DLL(s) dazu zu bekommen)

Laut Doku wäre es ja WinDefend, aber dabei erhalte ich das übergeordnete "System"-Log, mit keinem einzigen Eintrag, der "passt" (also auch filtern nicht hilfreich).

Bin für jeden weiteren Tipp dankbar

Geändert von CCRDude (14. Jan 2022 um 19:44 Uhr)
  Mit Zitat antworten Zitat
 


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 14:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz