1

このページの例のようなコードを使用して、C#のEventLogReaderを使用して、特定の運用チャネル内に記録されたすべてのETWイベントを取得できます。

http://msdn.microsoft.com/en-us/library/bb671197(v=vs.90).aspx

必要なのは、ログ名文字列を変更して、代わりに関心のある操作チャネル( "Microsoft-Windows-RemoteAssistance / Operational"など)を指すようにすることです。その後、コンソールに出力されるすべてのイベントが表示されます。

ただし、新しいイベントがあるかどうかを確認するためにチャネルをポーリング/チェックし続ける必要があり、それは理想的ではありません。新しいイベントがチャネルに記録されるたびにサブスクライブする(またはコールバック/通知を受け取る)方法を見つけたいと思っています。コールバックでイベントを受信する方法があるはずですが、MSDNで明らかなものは何も見つかりませんでした。

誰かがC#からこれを行う方法を知っていますか?

4

1 に答える 1

5

EventLogWatcherクラスを見たことがありますか?

http://msdn.microsoft.com/en-us/library/system.diagnostics.eventing.reader.eventlogwatcher(v=vs.90).aspx

基準を指定でき、満たされるとEventRecordWrittenイベントが発生します。

于 2012-11-15T05:30:45.547 に答える