EventInstance EventInstance EventInstance EventInstance Class

Definizione

Rappresenta un'informazione nella lingua di sistema per una voce del log eventi.Represents language-neutral information for an event log entry.

public ref class EventInstance
public class EventInstance
type EventInstance = class
Public Class EventInstance
Ereditarietà
EventInstanceEventInstanceEventInstanceEventInstance

Esempi

Nell'esempio di codice seguente viene scritta una voce EventInstance di evento informativo, quindi viene riutilizzato per scrivere una voce per un evento di avviso in un registro eventi esistente.The following code example writes an informational event entry, and then reuses the EventInstance to write an entry for a warning event to an existing event log. Il testo del messaggio dell'evento viene specificato utilizzando un identificatore di risorsa in un file di risorse del messaggio.The event message text is specified using a resource identifier in a message resource file. Nell'esempio di codice si presuppone che il file di risorse del messaggio corrispondente sia stato registrato per l'origine.The code example assumes that the corresponding message resource file has been registered for the source.

// Ensure that the source has already been registered using
// EventLogInstaller or EventLog.CreateEventSource.
String^ sourceName = "SampleApplicationSource";
if ( EventLog::SourceExists( sourceName ) )
{
   // Define an informational event with no category.
   // The message identifier corresponds to the message text in the
   // message resource file defined for the source.
   EventInstance ^ myEvent = gcnew EventInstance( UpdateCycleCompleteMsgId,0 );

   // Write the event to the event log using the registered source.
   EventLog::WriteEvent( sourceName, myEvent, 0 );

   // Reuse the event data instance for another event entry.
   // Set the entry category and message identifiers for
   // the appropriate resource identifiers in the resource files
   // for the registered source.  Set the event type to Warning.
   myEvent->CategoryId = RefreshCategoryMsgId;
   myEvent->EntryType = EventLogEntryType::Warning;
   myEvent->InstanceId = ServerConnectionDownMsgId;

   // Write the event to the event log using the registered source.
   // Insert the machine name into the event message text.
   array<String^>^ss = {Environment::MachineName};
   EventLog::WriteEvent( sourceName, myEvent, ss );
}
else
{
   Console::WriteLine( "Warning - event source {0} not registered", sourceName );
}

// Ensure that the source has already been registered using
// EventLogInstaller or EventLog.CreateEventSource.

string sourceName = "SampleApplicationSource";
if(EventLog.SourceExists(sourceName))
{
    // Define an informational event with no category.
    // The message identifier corresponds to the message text in the
    // message resource file defined for the source.
    EventInstance myEvent = new EventInstance(UpdateCycleCompleteMsgId, 0);
    
    // Write the event to the event log using the registered source.
    EventLog.WriteEvent(sourceName, myEvent);

    // Reuse the event data instance for another event entry.
    // Set the entry category and message identifiers for
    // the appropriate resource identifiers in the resource files
    // for the registered source.  Set the event type to Warning.

    myEvent.CategoryId = RefreshCategoryMsgId;
    myEvent.EntryType = EventLogEntryType.Warning;
    myEvent.InstanceId = ServerConnectionDownMsgId;

    // Write the event to the event log using the registered source.
    // Insert the machine name into the event message text.
    EventLog.WriteEvent(sourceName, myEvent, Environment.MachineName);
}
else 
{
    Console.WriteLine("Warning - event source {0} not registered", 
        sourceName);
}

' Ensure that the source has already been registered using
' EventLogInstaller or EventLog.CreateEventSource.
Dim sourceName as String = "SampleApplicationSource"
If EventLog.SourceExists(sourceName)
    
    ' Define an informational event with no category.
    ' The message identifier corresponds to the message text in the
    ' message resource file defined for the source.
    Dim myEvent As EventInstance = New EventInstance(UpdateCycleCompleteMsgId, 0)
    ' Write the event to the event log using the registered source.
    EventLog.WriteEvent(sourceName, myEvent)

    ' Reuse the event data instance for another event entry.
    ' Set the entry category and message identifiers for
    ' the appropriate resource identifiers in the resource files
    ' for the registered source.  Set the event type to Warning.

    myEvent.CategoryId = RefreshCategoryMsgId
    myEvent.EntryType = EventLogEntryType.Warning
    myEvent.InstanceId = ServerConnectionDownMsgId

    ' Write the event to the event log using the registered source.
    ' Insert the machine name into the event message text.
    EventLog.WriteEvent(sourceName, myEvent, Environment.MachineName)

Else 
    Console.WriteLine("Warning - event source {0} not registered", _
        sourceName)
End If

Nell'esempio di codice viene usato il file di testo del messaggio seguente, integrato nella libreria di risorse EventLogMsgs. dll.The code example uses the following message text file, built into the resource library EventLogMsgs.dll. Un file di testo del messaggio è l'origine da cui viene creato il file di risorse del messaggio.A message text file is the source from which the message resource file is created. Il file di testo del messaggio definisce gli identificatori e il testo delle risorse per la categoria, il messaggio di evento e le stringhe di inserimento dei parametri.The message text file defines the resource identifiers and text for the category, event message, and parameter insertion strings.

; // EventLogMsgs.mc  
; // ********************************************************  

; // Use the following commands to build this file:  

; //   mc -s EventLogMsgs.mc  
; //   rc EventLogMsgs.rc  
; //   link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res   
; // ********************************************************  

; // - Event categories -  
; // Categories must be numbered consecutively starting at 1.  
; // ********************************************************  

MessageId=0x1  
Severity=Success  
SymbolicName=INSTALL_CATEGORY  
Language=English  
Installation  
.  

MessageId=0x2  
Severity=Success  
SymbolicName=QUERY_CATEGORY  
Language=English  
Database Query  
.  

MessageId=0x3  
Severity=Success  
SymbolicName=REFRESH_CATEGORY  
Language=English  
Data Refresh  
.  

; // - Event messages -  
; // *********************************  

MessageId = 1000  
Severity = Success  
Facility = Application  
SymbolicName = AUDIT_SUCCESS_MESSAGE_ID_1000  
Language=English  
My application message text, in English, for message id 1000, called from %1.  
.  

MessageId = 1001  
Severity = Warning  
Facility = Application  
SymbolicName = AUDIT_FAILED_MESSAGE_ID_1001  
Language=English  
My application message text, in English, for message id 1001, called from %1.  
.  

MessageId = 1002  
Severity = Success  
Facility = Application  
SymbolicName = GENERIC_INFO_MESSAGE_ID_1002  
Language=English  
My generic information message in English, for message id 1002.  
.  

MessageId = 1003  
Severity = Warning  
Facility = Application  
SymbolicName = GENERIC_WARNING_MESSAGE_ID_1003  
Language=English  
My generic warning message in English, for message id 1003, called from %1.  
.  

MessageId = 1004  
Severity = Success  
Facility = Application  
SymbolicName = UPDATE_CYCLE_COMPLETE_MESSAGE_ID_1004  
Language=English  
The update cycle is complete for %%5002.  
.  

MessageId = 1005  
Severity = Warning  
Facility = Application  
SymbolicName = SERVER_CONNECTION_DOWN_MESSAGE_ID_1005  
Language=English  
The refresh operation did not complete because the connection to server %1 could not be established.  
.  

; // - Event log display name -  
; // ********************************************************  

MessageId = 5001  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_DISPLAY_NAME_MSGID  
Language=English  
Sample Event Log  
.  

; // - Event message parameters -  
; //   Language independent insertion strings  
; // ********************************************************  

MessageId = 5002  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_SERVICE_NAME_MSGID  
Language=English  
SVC_UPDATE.EXE  
.  

Commenti

Utilizzare EventInstance per scrivere una voce del registro eventi con un identificatore di risorsa anziché un valore stringa.Use EventInstance to write an event log entry with a resource identifier rather than a string value. Per scrivere una voce del registro eventi, inizializzare la InstanceId proprietà e passare l'istanza WriteEvent al metodo.To write an event log entry, initialize the InstanceId property and pass the instance to the WriteEvent method. Il Visualizzatore eventi usa l'identificatore dell'istanza per trovare e visualizzare la stringa corrispondente dal file di risorse localizzato in base alle impostazioni della lingua corrente.The Event Viewer uses the instance identifier to find and display the corresponding string from the localized resource file based on current language settings. È necessario registrare l'origine evento con il file di risorse corrispondente prima di scrivere gli eventi usando gli identificatori di risorsa.You must register the event source with the corresponding resource file before you write events using resource identifiers.

Quando si scrivono gli eventi, è possibile EntryType impostare la proprietà per specificare l'icona visualizzata dal Visualizzatore eventi per la voce.When writing events, you can set the EntryType property to specify the icon that the Event Viewer displays for the entry. È anche possibile specificare una CategoryId proprietà per specificare la categoria visualizzata dal Visualizzatore eventi per la voce.You can also specify a CategoryId property to specify the category that the Event Viewer displays for the entry.

Il Visualizzatore eventi utilizza la categoria per filtrare gli eventi scritti da un'origine evento.The Event Viewer uses the category to filter events written by an event source. Il Visualizzatore eventi può visualizzare la categoria come valore numerico oppure può usare la categoria come identificatore di risorsa per visualizzare una stringa di categoria localizzata.The Event Viewer can display the category as a numeric value, or it can use the category as a resource identifier to display a localized category string.

Per visualizzare le stringhe di categoria localizzate nel Visualizzatore eventi, è necessario usare un'origine evento configurata con un file CategoryId di risorse Category e impostare su un identificatore di risorsa nel file di risorse Category.To display localized category strings in the Event Viewer, you must use an event source configured with a category resource file, and set the CategoryId to a resource identifier in the category resource file. Se l'origine evento non dispone di un file di risorse di categoria configurato o se CategoryId l'oggetto specificato non indicizza una stringa nel file di risorse Category, il Visualizzatore eventi Visualizza il valore numerico della categoria per tale voce.If the event source does not have a configured category resource file, or the specified CategoryId does not index a string in the category resource file, and then the Event Viewer displays the numeric category value for that entry. Configurare il file di risorse Category, insieme al numero di stringhe di categoria nel file di risorse, usando EventLogInstaller la EventSourceCreationData classe o.Configure the category resource file, along with the number of category strings in the resource file, using the EventLogInstaller or the EventSourceCreationData class.

Prima di usare EventInstance per scrivere un evento con il WriteEvent metodo, è necessario registrare un'origine per un log eventi.You must register a source for an event log before using EventInstance to write an event with the WriteEvent method. L'origine deve essere configurata per la scrittura di voci localizzate nel log e l'origine deve definire almeno un file di risorse del messaggio.The source must be configured for writing localized entries to the log and the source must define at least a message resource file.

Creare la nuova origine evento durante l'installazione dell'applicazione.Create the new event source during the installation of your application. Ciò consente al sistema operativo di aggiornare l'elenco delle origini eventi registrate e le relative configurazioni.This allows time for the operating system to refresh its list of registered event sources and their configurations. Se il sistema operativo non ha aggiornato l'elenco delle origini eventi e si tenta di scrivere un evento con la nuova origine, l'operazione di scrittura avrà esito negativo.If the operating system has not refreshed its list of event sources, and you attempt to write an event with the new source, the write operation will fail. È possibile configurare una nuova origine usando EventLogInstallero il CreateEventSource metodo.You can configure a new source using an EventLogInstaller, or using the CreateEventSource method. Per creare una nuova origine evento, è necessario disporre dei diritti amministrativi nel computer.You must have administrative rights on the computer to create a new event source.

Per informazioni dettagliate sulla definizione dei messaggi di evento e sulla compilazione di file di risorse del registro eventi, vedere l'argomento relativo al compilatore http://msdn.microsoft.comdi messaggi nella documentazione di Platform SDK all'indirizzo.For details about defining event messages and building event log resource files, see the "Message Compiler" topic in the Platform SDK documentation at http://msdn.microsoft.com.

Costruttori

EventInstance(Int64, Int32) EventInstance(Int64, Int32) EventInstance(Int64, Int32) EventInstance(Int64, Int32)

Consente di inizializzare una nuova istanza della classe EventInstance utilizzando gli identificatori di risorse specificati per il messaggio e il testo della categoria localizzati della voce dell'evento.Initializes a new instance of the EventInstance class using the specified resource identifiers for the localized message and category text of the event entry.

EventInstance(Int64, Int32, EventLogEntryType) EventInstance(Int64, Int32, EventLogEntryType) EventInstance(Int64, Int32, EventLogEntryType) EventInstance(Int64, Int32, EventLogEntryType)

Consente di inizializzare una nuova istanza della classe EventInstance utilizzando gli identificatori di risorse specificati per il messaggio e il testo della categoria localizzati della voce dell'evento e il tipo di voce del log eventi specificato.Initializes a new instance of the EventInstance class using the specified resource identifiers for the localized message and category text of the event entry and the specified event log entry type.

Proprietà

CategoryId CategoryId CategoryId CategoryId

Ottiene o imposta l'identificatore di risorsa che specifica la categoria definita dall'applicazione della voce dell'evento.Gets or sets the resource identifier that specifies the application-defined category of the event entry.

EntryType EntryType EntryType EntryType

Ottiene o imposta il tipo di evento della voce del log eventi.Gets or sets the event type of the event log entry.

InstanceId InstanceId InstanceId InstanceId

Ottiene o imposta l'identificatore di risorsa che definisce il testo del messaggio per la voce dell'evento.Gets or sets the resource identifier that designates the message text of the event entry.

Metodi

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Si applica a

Vedi anche