Sdílet prostřednictvím


EventLogEntry.InstanceId Vlastnost

Definice

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 ReportEventsysté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.

Platí pro

Viz také