EventLogEntry.InstanceId Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá identifikátor prostředku, který určuje text zprávy položky události.
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
Hodnota vlastnosti
Identifikátor prostředku, který odpovídá definici řetězce v souboru prostředku zprávy zdroje událostí.
- Atributy
Příklady
Následující příklad kódu vyhledá v protokolu událostí položky s konkrétním identifikátorem prostředku. Příklad kódu zobrazí zprávu události pro každou odpovídající položku a spočítá celkový počet odpovídajících položek v protokolu. Text zprávy pro každou položku může nebo nemusí být stejný; Každá zpráva události závisí na souboru zprávy zdroje události, vložených řetězcích a parametrech použitých při zápisu.
// 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)
Poznámky
Vlastnost InstanceId jednoznačně identifikuje položku události pro nakonfigurovaný zdroj událostí. Položka InstanceId protokolu událostí představuje úplný 32bitový identifikátor prostředku události v souboru prostředků zprávy pro zdroj události. Vlastnost EventID se InstanceId rovná s horními dvěma maskovanými bity. Dvě položky protokolu událostí ze stejného zdroje můžou mít odpovídající EventID hodnoty, ale mají různé InstanceId hodnoty kvůli rozdílům v prvních dvou bitech identifikátoru prostředku.
Pokud aplikace napsala položku události pomocí jedné z WriteEntry metod, InstanceId vlastnost odpovídá volitelnému eventId
parametru. Pokud aplikace zapisuje událost pomocí WriteEvent, InstanceId vlastnost odpovídá identifikátoru prostředku zadanému InstanceId v parametru instance
. Pokud aplikace napsala událost pomocí rozhraní API ReportEvent
systému Windows , InstanceId vlastnost odpovídá identifikátoru prostředku zadanému v parametru dwEventID
.
Podrobnosti o definování zpráv událostí a vytváření souborů prostředků protokolu událostí najdete v článku Kompilátor zpráv v dokumentaci k platformě SDK. Podrobnosti o identifikátorech protokolu událostí najdete v článku Identifikátory událostí v dokumentaci k platformě SDK.