【发布时间】:2015-03-11 04:46:42
【问题描述】:
我已开始使用 Microsoft 推荐的 ETW 日志记录,因为它具有高性能并防止重新发明轮子等。
但是我发现,如果有人删除了日志文件,那么日志记录就会停止工作,直到跟踪会话停止并重新启动。如果 API 确实返回了错误,我可以忍受这种情况,因此我可以自己重新启动它,但没有返回任何错误代码。
我的问题是 - 我该如何处理这种情况?有没有办法告诉 ETW 锁定文件以防止删除?是否应该返回错误?
请注意,我使用的是 NT5 API 级别,但在 NT6+ 上会出现此问题。
相关 API:
RegisterTraceGuids
StartTrace
EnableTrace
TraceEvent
我希望在删除文件时可以调用控件回调,但没有任何反应。
【问题讨论】: