.NET Framework クラス ライブラリ
EventLog.EntryWritten イベント

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

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

構文

Visual Basic (宣言)
Public Event EntryWritten As EntryWrittenEventHandler
Visual Basic (使用法)
Dim instance As EventLog
Dim handler As EntryWrittenEventHandler

AddHandler instance.EntryWritten, handler
C#
public event EntryWrittenEventHandler EntryWritten
C++
public:
event EntryWrittenEventHandler^ EntryWritten {
    void add (EntryWrittenEventHandler^ value);
    void remove (EntryWrittenEventHandler^ value);
}
J#
/** @event */
public void add_EntryWritten (EntryWrittenEventHandler value)

/** @event */
public void remove_EntryWritten (EntryWrittenEventHandler value)
JScript
JScript では、イベントは使用できますが、新規に宣言することはできません。
解説

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

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

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

使用例

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

Visual Basic
Option Explicit On 
Option Strict On

Imports System
Imports System.Diagnostics
Imports System.Threading


Class MySample

    ' This member is used to wait for events.
    Private Shared signal As AutoResetEvent


    Public Shared Sub Main()


        Dim myNewLog As New EventLog()
        myNewLog.Log = "MyCustomLog"

        AddHandler myNewLog.EntryWritten, AddressOf MyOnEntryWritten
        myNewLog.EnableRaisingEvents = True


        signal = New AutoResetEvent(False)
        signal.WaitOne()
    End Sub ' Main


    Public Shared Sub MyOnEntryWritten(ByVal [source] As Object, ByVal e As EntryWrittenEventArgs)
        signal.Set()
    End Sub ' MyOnEntryWritten
End Class ' MySample 
C#
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();
    }
}
   
C++
#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
ref class MySample
{
private:

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

public:
   static void main()
   {
      EventLog^ myNewLog = gcnew EventLog;
      myNewLog->Log = "MyCustomLog";
      myNewLog->EntryWritten += gcnew EntryWrittenEventHandler( MyOnEntryWritten );
      myNewLog->EnableRaisingEvents = true;
      signal = gcnew AutoResetEvent( false );
      signal->WaitOne();
   }

   static void MyOnEntryWritten( Object^ /*source*/, EntryWrittenEventArgs^ /*e*/ )
   {
      signal->Set();
   }

};

int main()
{
   MySample::main();
}
J#
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
.NET Framework のセキュリティ

プラットフォーム

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
参照

タグ :


Page view tracker