保護モードがオンになっているWindows7のInternetExplorer内で実行されているBHOで、Windowsイベントログに書き込もうとしています。すでに存在するソースに書き込んでいますが、それはアプリケーションログにあるので、なぜこれがブロックされるのかわかりません。ただし、への呼び出しSystem.Diagnostics.EventLog.WriteEntry("MySource", "Some message")
は、InvalidOperationExceptionで失敗し、「ソース'XXX'のログを開くことができません。書き込みアクセス権がない可能性があります。」というメッセージが表示されます。スタックトレースは、にあることを示していますEventLog.OpenForWrite(String currentMachineName)
。
プロテクトモードをオフにすると、正常に機能します。
これがプロテクトモード内で許可されない理由、およびイベントログへの書き込みが許可されているものとしてBHOを登録する方法、またはその他の方法で機能させる方法はありますか?
この投稿によると、OpenForWrite()を呼び出すとUnsafeNativeMethods.RegisterEventSource(this.machineName, this.sourceName);
、が呼び出されますが、そのドキュメントではそれ以上のことはできませんでした。
.net2.0を使用しています
ありがとう。
ここにクロスポスト:msdn_microsoft_ieextensiondevelopment