В BHO, работающем в Internet Explorer в Windows 7 с включенным защищенным режимом, я пытаюсь записать в журнал событий 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
Благодарю.
Размещено здесь: msdn_microsoft_ieextensiondevelopment