如何在Windows 7上阅读启动时事件?

时间:2010-11-16 13:35:37

标签: c++ windows-7 event-log etw

我试图使用ETW功能而没有成功读取文件:

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

为了捕获启动时间事件。

我尝试了各种功能 -

  • OpenTrace提供错误161
  • EvtQuery提供错误15000

有没有人有读取系统跟踪文件的本机代码示例?

2 个答案:

答案 0 :(得分:6)

我按照以下方式工作 -

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

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

可以通过转到事件日志上的“属性”并使用其全名来找到频道名称。

错误15000是由于我尝试使用给定的标志而不是通道名称打开日志文件。

答案 1 :(得分:1)

不确定哪些API会向您返回错误。你看过这个post,这提供了一个如何打开和阅读事件日志的例子。