Protokolle der Ereignisanzeige mit win api in c ++ Get
-
04-10-2019 - |
Frage
Meine Anwendung Notwendigkeit Ereignisanzeige-Protokolle in einem bestimmten Verzeichnis und sie zu speichern hat mit Gewinn api zu tun. Anwendungs- und Systemprotokolle erforderlich sind.
EDIT: EvtExportLog - fand ich heraus, dass ich diese Funktion nicht verwenden kann, weil minimale Anforderungen Win Server 2008 sind, und ich brauche dies funktioniert auf Windows Server 2000 und Windows Server 2003
.Irgendwelche Vorschläge, was zu verwenden, wie es zu benutzen?
Und es gibt Lösung dank Richard Cook.
int getEventLogs()
{
HANDLE h = OpenEventLog(NULL,"System");
if(!BackupEventLog(h,"backup.evt"))
{
wprintf(L"BackupEventLog failed for initial export with %lu.\n", GetLastError());
}
return 1;
}
Lösung
Sie können die verfügbaren Kanäle auf dem System EvtOpenChannelEnum
, EvtNextChannelPath
und EvtClose
( Dokumentation ). Diese APIs (EvtNextChannelPath
speziell) kehren Pfade in einem geeigneten Format für EvtExportLog
.