EventLogEntry.InstanceId Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den Ressourcenbezeichner ab, der den Nachrichtentext des Ereigniseintrags bezeichnet.
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 mit einer Zeichenfolgendefinition in der Meldungsressourcendatei der Ereignisquelle übereinstimmt.
- 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 Gesamtzahl der übereinstimmenden Einträge im Protokoll gezählt. Der Nachrichtentext für jeden Eintrag kann identisch sein oder nicht. Jede Ereignisnachricht hängt von der Nachrichtendatei der Ereignisquelle, den Einfügezeichenfolgen und den 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 = 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)
Hinweise
Die InstanceId -Eigenschaft identifiziert eindeutig einen Ereigniseintrag für eine konfigurierte Ereignisquelle. Der InstanceId für einen Ereignisprotokolleintrag stellt den vollständigen 32-Bit-Ressourcenbezeichner für das Ereignis in der Nachrichtenressourcendatei für die Ereignisquelle dar. Die EventID -Eigenschaft entspricht dem InstanceId , wobei die beiden obersten Bits maskiert sind. Zwei Ereignisprotokolleinträge aus derselben Quelle können übereinstimmende EventID Werte aufweisen, aber aufgrund von Unterschieden in den beiden obersten Bits des Ressourcenbezeichners unterschiedliche InstanceId Werte aufweisen.
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 mit WriteEventgeschrieben hat, entspricht die InstanceId -Eigenschaft dem Ressourcenbezeichner, der instance
InstanceId im -Parameter angegeben ist. Wenn die Anwendung das Ereignis mithilfe der Windows-API ReportEvent
geschrieben 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 Artikel Nachrichtencompiler in der Platform SDK-Dokumentation. Ausführliche Informationen zu Ereignisprotokollbezeichnern finden Sie im Artikel Ereignisbezeichner in der Platform SDK-Dokumentation.