Как я могу прочитать события загрузки в Windows 7? - PullRequest
3 голосов
/ 16 ноября 2010

Я безуспешно пытаюсь использовать функции ETW для чтения файла:

C:\Windows\System32\winevt\Logs\Microsoft-Windows-Diagnostics-Performance%4Operational.evtx

Для записи событий времени загрузки.

Я пробовал различные функции -

  • OpenTrace выдает ошибку 161
  • EvtQuery выдает ошибку 15000

У кого-нибудь есть пример кода для чтения файлов системной трассировки?

Ответы [ 2 ]

6 голосов
/ 24 ноября 2010

Я получил это работает следующим образом -

LPWSTR pwsPath = L"Microsoft-Windows-Diagnostics-Performance/Operational";
LPWSTR pwsQuery = L"Event/System[EventID=100]";

hResults = EvtQuery(NULL, pwsPath, pwsQuery,
                    EvtQueryChannelPath | EvtQueryReverseDirection);

Имя канала можно найти, перейдя в Свойства в журнале событий и используя его Полное имя.

Ошибка 15000 произошла из-за того, что я пытался открыть файл журнала с заданными флагами, а не с именем канала.

1 голос
/ 23 ноября 2010

Не уверен, какой API возвращает вам ошибку. Вы смотрели на эту запись , это пример того, как открыть и прочитать журнал событий.

...