在启用保护模式的 Windows 7 上的 Internet Explorer 中运行的 BHO 中,我正在尝试写入 Windows 事件日志。我正在写一个已经存在的源,它在应用程序日志中,所以我不明白为什么会被阻止。但是,我的调用System.Diagnostics.EventLog.WriteEntry("MySource", "Some message")
失败并出现 InvalidOperationException,并显示消息“无法打开源 'XXX' 的日志。您可能没有写入权限。”。堆栈跟踪表明它位于EventLog.OpenForWrite(String currentMachineName)
.
关闭保护模式使其工作正常。
在保护模式下不允许这样做的任何原因,以及我可以将我的 BHO 注册为允许写入事件日志或以其他方式使其工作的任何方式?
根据这篇文章,对 OpenForWrite() 的调用会导致对 的调用UnsafeNativeMethods.RegisterEventSource(this.machineName, this.sourceName);
,但该文档并没有让我进一步了解。
我正在使用.net 2.0
谢谢。