2010-11-16 29 views
3

我正在嘗試使用ETW函數,但未成功讀取文件 C:\ Windows \ System32 \ winevt \ Logs \ Microsoft-Windows-Diagnostics-Performance%4Operational.evtx以捕獲啓動時間事件。 我已經嘗試了各種功能 -如何在Windows 7上讀取啓動時間事件?

  • OpenTrace給出了一個錯誤161
  • EvtQuery給出了一個錯誤15000

沒有人有讀取系統跟蹤文件的本地代碼的例子嗎?

+0

FYI:161 = ERROR_BAD_PATHNAME或ERROR_MAX_SESSIONS_REACHED,15000 = ERROR_EVT_INVALID_CHANNEL_PATH – Rup 2010-11-16 14:19:20

+1

後失敗的代碼 – 2010-11-16 16:30:28

+0

你在做這loggs窗口一個實用程序開始\關機時間? – 2012-11-25 18:44:44

回答

5

我得到了這個工作如下 -

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

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

通道名稱可以轉到屬性上的事件日誌,並用它的全名被發現。

錯誤15000是由於我試圖用給定的標誌而不是通道名稱打開日誌文件。

1

不確定哪些API向您返回錯誤。你看過這個post,這提供了一個如何打開和讀取事件日誌的例子。

相關問題