EventLogEntry.InstanceId Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene l'identificatore di risorsa che definisce il testo del messaggio per la voce dell'evento.
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
Valore della proprietà
Identificatore di risorsa che corrisponde alla definizione di una stringa nel file di risorse del messaggio dell'origine eventi.
- Attributi
Esempio
Nell'esempio di codice seguente viene ricercato un registro eventi per le voci con un particolare identificatore di risorsa. Nell'esempio di codice viene visualizzato il messaggio di evento per ogni voce corrispondente e viene conteggiato il numero totale di voci corrispondenti nel log. Il testo del messaggio per ogni voce può o meno essere lo stesso; ogni messaggio di evento dipende dal file del messaggio di origine evento, dalle stringhe di inserimento e dai parametri usati quando è stato scritto.
// 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)
Commenti
La InstanceId proprietà identifica in modo univoco una voce di evento per un'origine evento configurata. Per InstanceId una voce del registro eventi rappresenta l'identificatore completo della risorsa a 32 bit per l'evento nel file di risorse del messaggio per l'origine evento. La EventID proprietà è uguale a InstanceId con i primi due bit mascherati. Due voci del registro eventi della stessa origine possono avere valori corrispondenti EventID , ma hanno valori diversi InstanceId a causa delle differenze tra i due bit principali dell'identificatore di risorsa.
Se l'applicazione ha scritto la voce dell'evento usando uno dei WriteEntry metodi, la InstanceId proprietà corrisponde al parametro facoltativo eventId
. Se l'applicazione ha scritto l'evento usando WriteEvent, la InstanceId proprietà corrisponde all'identificatore di instance
risorsa specificato nel InstanceId parametro . Se l'applicazione ha scritto l'evento usando l'API ReportEvent
Windows , la InstanceId proprietà corrisponde all'identificatore di risorsa specificato nel dwEventID
parametro.
Per informazioni dettagliate sulla definizione di messaggi di evento e sulla creazione di file di risorse del log eventi, vedere l'articolo Del compilatore di messaggi nella documentazione di Platform SDK. Per informazioni dettagliate sugli identificatori del log eventi, vedere l'articolo Identificatori eventi nella documentazione di Platform SDK.