Obtener los registros del Visor de sucesos con Win API en C ++
-
04-10-2019 - |
Pregunta
Mi necesidad de aplicación para guardar los registros del Visor de sucesos en un directorio especificado y que se tiene que hacer con la victoria API. se requieren registros de aplicación y del sistema.
EDIT: EvtExportLog - descubrí que no puedo utilizar esta función porque los requisitos mínimos son Windows Server 2008, y necesito que esto funcione en Windows Server 2000 y Windows Server 2003
.Cualquier sugerencia qué usar y cómo usarlo?
Y no hay solución gracias a 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;
}
Solución
Puede enumerar los canales disponibles en el sistema usando EvtOpenChannelEnum
, EvtNextChannelPath
y EvtClose
( documentación ). Estas API (EvtNextChannelPath
específicamente) volverán caminos en un formato apropiado para EvtExportLog
.