Получить журналы просмотра событий с Win API в C ++ - PullRequest
1 голос
/ 23 сентября 2010

Мое приложение должно сохранять журналы просмотра событий в указанном каталоге, и это должно быть сделано с помощью Win API. Требуются журналы приложений и системы.

РЕДАКТИРОВАТЬ: EvtExportLog - я обнаружил, что не могу использовать эту функцию, потому что минимальные требования для Win Server 2008, и мне нужно это для работы на Win Server 2000 и Win Server 2003.

Любые предложения, что использовать и как его использовать?

И благодаря Ричарду Куку есть решение.

    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;
}

1 Ответ

2 голосов
/ 23 сентября 2010

Вы можете перечислить доступные каналы в системе, используя EvtOpenChannelEnum, EvtNextChannelPath и EvtClose ( документация ). Эти API (особенно EvtNextChannelPath) будут возвращать пути в соответствующем формате для EvtExportLog.

...