EventLogEntry.InstanceId プロパティ

定義

イベント エントリのメッセージ テキストを指定するリソース識別子を取得します。

public:
 property long InstanceId { long get(); };
public long InstanceId { get; }
[System.Runtime.InteropServices.ComVisible(false)]
public long InstanceId { get; }
member this.InstanceId : int64
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.InstanceId : int64
Public ReadOnly Property InstanceId As Long

プロパティ値

イベント ソースのメッセージ リソース ファイルの文字列定義に対応するリソース識別子。

属性

次のコード例では、イベント ログで特定のリソース識別子を持つエントリを検索します。 このコード例では、一致する各エントリのイベント メッセージを表示し、ログ内の一致するエントリの合計数をカウントします。 各エントリのメッセージ テキストは、同じでもそうでない場合もあります。各イベント メッセージは、イベント ソース メッセージ ファイル、挿入文字列、および書き込み時に使用されるパラメーターによって異なります。


// Get the event log corresponding to the existing source.
String^ myLogName = EventLog::LogNameFromSourceName( sourceName, "." );

// Find each instance of a specific event log entry in a
// particular event log.
EventLog^ myEventLog = gcnew EventLog( myLogName,"." );
int count = 0;
Console::WriteLine( "Searching event log entries for the event ID {0}...", ServerConnectionDownMsgId );

// Search for the resource ID, display the event text,
// and display the number of matching entries.
System::Collections::IEnumerator^ myEnum = myEventLog->Entries->GetEnumerator();
while ( myEnum->MoveNext() )
{
   EventLogEntry^ entry = safe_cast<EventLogEntry^>(myEnum->Current);
   if ( entry->InstanceId == ServerConnectionDownMsgId )
   {
      count++;
      Console::WriteLine();
      Console::WriteLine( "Entry ID    = {0}", entry->InstanceId );
      Console::WriteLine( "Reported at {0}", entry->TimeWritten );
      Console::WriteLine( "Message text:" );
      Console::WriteLine( "\t{0}", entry->Message );
   }
}

Console::WriteLine();
Console::WriteLine( "Found {0} events with ID {1} in event log {2}.", count, ServerConnectionDownMsgId, myLogName );
// Get the event log corresponding to the existing source.
string myLogName = EventLog.LogNameFromSourceName(sourceName,".");

// Find each instance of a specific event log entry in a
// particular event log.

EventLog myEventLog = new EventLog(myLogName, ".");
int count = 0;

Console.WriteLine("Searching event log entries for the event ID {0}...",
    ServerConnectionDownMsgId.ToString());

// Search for the resource ID, display the event text,
// and display the number of matching entries.

foreach(EventLogEntry entry in myEventLog.Entries)
{
    if (entry.InstanceId == ServerConnectionDownMsgId)
    {
        count ++;
        Console.WriteLine();
        Console.WriteLine("Entry ID    = {0}",
            entry.InstanceId.ToString());
        Console.WriteLine("Reported at {0}",
            entry.TimeWritten.ToString());
        Console.WriteLine("Message text:");
        Console.WriteLine("\t{0}", entry.Message);
    }
}
Console.WriteLine();
Console.WriteLine("Found {0} events with ID {1} in event log {2}.",
    count.ToString(), ServerConnectionDownMsgId.ToString(), myLogName);
    ' Get the event log corresponding to the existing source.
    Dim myLogName As String = EventLog.LogNameFromSourceName(sourceName,".")

    ' Find each instance of a specific event log entry in a
    ' particular event log.

    Dim myEventLog As EventLog = new EventLog(myLogName, ".", sourceName)
    Dim count As Integer = 0

    Console.WriteLine("Searching event log entries for the event ID {0}...", _
       ServerConnectionDownMsgId.ToString())
    
    ' Search for the resource ID, display the event text,
    ' and display the number of matching entries.

    Dim entry As EventLogEntry
    For Each entry In  myEventLog.Entries
        If entry.InstanceId = ServerConnectionDownMsgId
            count = count + 1
            Console.WriteLine()
            Console.WriteLine("Entry ID    = {0}", _
                entry.InstanceId.ToString())
            Console.WriteLine("Reported at {0}", _
                entry.TimeWritten.ToString())
            Console.WriteLine("Message text:")
            Console.WriteLine(ControlChars.Tab + entry.Message)
        End If
    Next entry

    Console.WriteLine()
    Console.WriteLine("Found {0} events with ID {1} in event log {2}", _
        count.ToString(), ServerConnectionDownMsgId.ToString(), myLogName)

注釈

プロパティは InstanceId 、構成されたイベント ソースのイベント エントリを一意に識別します。 イベント ログ エントリの は InstanceId 、イベント ソースのメッセージ リソース ファイル内のイベントの完全な 32 ビット リソース識別子を表します。 プロパティは EventIDInstanceId と等しく、上位 2 ビットがマスクオフされています。 同じソースの 2 つのイベント ログ エントリは一致する EventID 値を持つことができますが、リソース識別子の上位 2 ビットの違いにより、値が異なります InstanceId

アプリケーションがいずれかのメソッドを使用してイベント エントリを WriteEntry 書き込んだ場合、 プロパティは InstanceId 省略可能な eventId パラメーターと一致します。 アプリケーションが を使用して WriteEventイベントを書き込んだ場合、 プロパティは InstanceId 、 パラメーターの で InstanceId 指定されたリソース識別子と instance 一致します。 アプリケーションが Windows API ReportEventを使用してイベントを書き込んだ場合、 プロパティは InstanceId パラメーターで指定されたリソース識別子と dwEventID 一致します。

イベント メッセージの定義とイベント ログ リソース ファイルの構築の詳細については、プラットフォーム SDK ドキュメントの メッセージ コンパイラ に関する記事を参照してください。 イベント ログ識別子の詳細については、プラットフォーム SDK ドキュメントの イベント識別子に関する 記事を参照してください。

適用対象

こちらもご覧ください