Freigeben über


EventLogEntry.InstanceId Eigenschaft

Definition

Ruft den Ressourcenbezeichner ab, der den Nachrichtentext des Ereigniseintrags angibt.

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

Eigenschaftswert

Ein Ressourcenbezeichner, der einer Zeichenfolgendefinition in der Nachrichtenressourcendatei der Ereignisquelle entspricht.

Attribute

Beispiele

Im folgenden Codebeispiel wird ein Ereignisprotokoll nach Einträgen mit einem bestimmten Ressourcenbezeichner durchsucht. Im Codebeispiel wird die Ereignismeldung für jeden übereinstimmenden Eintrag angezeigt und die Gesamtanzahl der übereinstimmenden Einträge im Protokoll gezählt. Der Nachrichtentext für jeden Eintrag ist möglicherweise identisch. Jede Ereignisnachricht hängt von der Ereignisquellnachrichtendatei, einfügezeichenfolgen und Parametern ab, die beim Schreiben verwendet wurden.

// 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)

Hinweise

Die InstanceId Eigenschaft identifiziert eindeutig einen Ereigniseintrag für eine konfigurierte Ereignisquelle. Der InstanceId Eintrag für ein Ereignisprotokoll stellt den vollständigen 32-Bit-Ressourcenbezeichner für das Ereignis in der Nachrichtenressourcendatei für die Ereignisquelle dar. Die EventID Eigenschaft ist mit InstanceId den beiden oberen Bits identisch, die abgemasket sind. Zwei Ereignisprotokolleinträge aus derselben Quelle können übereinstimmende EventID Werte enthalten, weisen jedoch unterschiedliche InstanceId Werte aufgrund von Unterschieden in den beiden obersten Bits des Ressourcenbezeichners auf.

Wenn die Anwendung den Ereigniseintrag mit einer der WriteEntry Methoden geschrieben hat, entspricht die InstanceId Eigenschaft dem optionalen eventId Parameter. Wenn die Anwendung das Ereignis mithilfe WriteEventgeschrieben hat, entspricht die InstanceId Eigenschaft dem im InstanceIdinstance Parameter angegebenen Ressourcenbezeichner. Wenn die Anwendung das Ereignis mithilfe der Windows-API ReportEventgeschrieben hat, entspricht die InstanceId Eigenschaft dem im dwEventID Parameter angegebenen Ressourcenbezeichner.

Ausführliche Informationen zum Definieren von Ereignismeldungen und zum Erstellen von Ereignisprotokollressourcendateien finden Sie im Message Compiler-Artikel in der Platform SDK-Dokumentation. Ausführliche Informationen zu Ereignisprotokoll-IDs finden Sie im Artikel " Ereignisbezeichner" in der Platform SDK-Dokumentation.

Gilt für:

Weitere Informationen