このドキュメントはアーカイブされており、メンテナンスされていません。

EventLog.EntryWritten イベント

ローカル コンピュータ上のイベント ログにエントリが書き込まれたときに発生します。

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)

public event EntryWrittenEventHandler EntryWritten
/** @event */
public void add_EntryWritten (EntryWrittenEventHandler value)

/** @event */
public void remove_EntryWritten (EntryWrittenEventHandler value)

JScript では、イベントは使用できますが、新規に宣言することはできません。

イベント通知を取得するには、EnableRaisingEventstrue に設定する必要があります。ローカル コンピュータ上にエントリが書き込まれたときだけ、イベント通知を受け取ることができます。リモート コンピュータ上の書き込まれたエントリに対する通知を受け取ることはできません。

EntryWritten デリゲートを作成する場合は、イベントを処理するメソッドを識別してください。イベントをイベント ハンドラに関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、イベントが発生するたびにイベント ハンドラが呼び出されます。デリゲートを使用したイベント処理の詳細については、「イベントの利用」を参照してください。

システムは、直前の書き込みイベントが少なくとも 5 秒前に発生した場合にだけ、WriteEntry に応答します。つまり、イベント ログの変更が 5 秒間に複数回発生した場合でも、EntryWritten イベント通知を受信する回数は 1 回だけです。WriteEntry 呼び出しの間に十分に長いスリープ間隔 (約 10 秒) を挿入すると、イベントが失われません。ただし、これよりも頻繁に書き込みイベントが発生する場合は、最新の書き込みイベントが失われることがあります。

エントリ書き込みイベントを処理する例を次に示します。

using System;
using System.Diagnostics;
using System.Threading;
              
class MySample{

    // This member is used to wait for events.
    static AutoResetEvent signal;

    public static void Main(){
    
	
        EventLog myNewLog = new EventLog();
        myNewLog.Log = "MyCustomLog";                      
        
        myNewLog.EntryWritten += new EntryWrittenEventHandler(MyOnEntryWritten);
        myNewLog.EnableRaisingEvents = true;
        
        
	signal = new AutoResetEvent(false);
	signal.WaitOne();        

    }       

    public static void MyOnEntryWritten(object source, EntryWrittenEventArgs e){
        signal.Set();
    }
}
   

import System.*;
import System.Diagnostics.*;
import System.Threading.*;

class MySample
{
    // This member is used to wait for events.
    private static AutoResetEvent signal;

    public static void main(String[] args)
    {
        EventLog myNewLog = new EventLog();

        myNewLog.set_Log("MyCustomLog");
        myNewLog.add_EntryWritten(new EntryWrittenEventHandler(
            MyOnEntryWritten));
        myNewLog.set_EnableRaisingEvents(true);
        signal = new AutoResetEvent(false);
        signal.WaitOne();
    } //main

    private static void MyOnEntryWritten(Object source, 
        EntryWrittenEventArgs e)
    {
        signal.Set();
    } //MyOnEntryWritten
} //MySample

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

.NET Framework

サポート対象 : 2.0、1.1、1.0
表示: