C++ 如何读取Windows 7上的启动时事件?

C++ 如何读取Windows 7上的启动时事件?,c++,windows-7,event-log,etw,C++,Windows 7,Event Log,Etw,我试图使用ETW函数读取文件,但未成功: C:\Windows\System32\winevt\Logs\Microsoft-Windows-Diagnostics-Performance%4Operational.evtx 以捕获启动时事件 我试过各种功能- OpenTrace给出了一个错误161 EvtQuery给出了一个错误 有人有读取系统跟踪文件的本机代码示例吗?我的工作原理如下- LPWSTR pwsPath = L"Microsoft-Windows-Diagnostics-P

我试图使用ETW函数读取文件,但未成功:

C:\Windows\System32\winevt\Logs\Microsoft-Windows-Diagnostics-Performance%4Operational.evtx
以捕获启动时事件

我试过各种功能-

  • OpenTrace给出了一个错误161
  • EvtQuery给出了一个错误

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

我的工作原理如下-

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

hResults = EvtQuery(NULL, pwsPath, pwsQuery,
                    EvtQueryChannelPath | EvtQueryReverseDirection);
通过转到事件日志上的属性并使用其全名,可以找到通道名称


错误15000是因为我试图用给定的标志而不是频道名称打开日志文件。

FYI:161=错误\u错误\u路径名或错误\u最大会话\u已到达,15000=错误\u EVT\u无效\u频道\u路径是否正在生成记录windows启动/关闭时间的util?