EventProvider.WriteEvent Metodo

Definizione

Scrive un evento.Writes an event.

Overload

WriteEvent(EventDescriptor, Object[])

Scrive un evento.Writes an event. I dati dell'evento sono specificati come matrice di oggetti.The event data is specified as an array of objects.

WriteEvent(EventDescriptor, String)

Scrive un evento.Writes an event. I dati dell'evento vengono specificati come stringa.The event data is specified as a string.

WriteEvent(EventDescriptor, Int32, IntPtr)

Scrive un evento.Writes an event. I dati dell'evento vengono specificati come blocco di memoria.The event data is specified as a block of memory.

Commenti

Usare questi metodi se si usa un manifesto per definire gli eventi.Use these methods if you use a manifest to define your events.

WriteEvent(EventDescriptor, Object[])

Scrive un evento.Writes an event. I dati dell'evento sono specificati come matrice di oggetti.The event data is specified as an array of objects.

public:
 bool WriteEvent(System::Diagnostics::Eventing::EventDescriptor % eventDescriptor, ... cli::array <System::Object ^> ^ eventPayload);
[System.Security.SecurityCritical]
public bool WriteEvent (ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, params object[] eventPayload);
public bool WriteEvent (ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, params object[] eventPayload);
[<System.Security.SecurityCritical>]
member this.WriteEvent : EventDescriptor * obj[] -> bool
member this.WriteEvent : EventDescriptor * obj[] -> bool
Public Function WriteEvent (ByRef eventDescriptor As EventDescriptor, ParamArray eventPayload As Object()) As Boolean

Parametri

eventDescriptor
EventDescriptor

Istanza di EventDescriptor che identifica l'evento da scrivere.An instance of EventDescriptor that identifies the event to write.

eventPayload
Object[]

Matrice di oggetti che contiene i dati dell'evento da scrivere.An array of objects that contain the event data to write. L'oggetto deve essere nell'ordine specificato nel manifesto.The object must be in the order specified in the manifest. La matrice è limitata a 32 oggetti dei quali solo otto possono essere stringhe.The array is limited to 32 objects, of which only eight may be strings. La dimensione massima dei dati per l'evento è limitata a 64 KB esclusa la dimensione delle intestazioni dell'evento.The maximum data size for the event is limited to 64 KB minus the size of the event headers. Se la sessione ha una dimensione del buffer ridotta e include elementi di dati estesi con l'evento, la dimensione dell'evento sarà ridotta.The event size is less if the session's buffer size is less and the session includes extended data items with the event.

Questo parametro può essere null.This parameter can be null.

Restituisce

Boolean

true se l'evento viene scritto, in caso contrario false.Is true if the event is written; otherwise, false. Se è false, chiamare il metodo GetLastWriteEventError() per determinare la causa dell'errore.If false, call the GetLastWriteEventError() method to determine the cause of the failure.

Attributi

Eccezioni

Il parametro eventPayload contiene un numero eccessivo di oggetti o stringhe.The eventPayload parameter contains too many objects or strings.

Esempio

private static Guid providerId = new Guid("{FB33FDA8-45FB-4df0-8A55-EEB4BA88E7E7}");  

enum Keyword  
{  
    Read = 0x1,  
    Write = 0x2,  
    Local = 0x4,  
    Remote = 0x8  
}  

enum Level  
{  
    Critical = 1,  
    Error,  
    Warning,  
    Information,  
    Verbose  
}  

    EventProvider provider = new EventProvider(providerId);  
    EventDescriptor readEvent;  
    string path = @"<PATHGOESHERE>";  
    UInt64 bytesRead = <ASSIGNVALUE>;  

    if (provider.IsEnabled(Level.Information, (long)Keyword.Read))  
    {  
        unchecked  
        {  
            readEvent = new EventDescriptor(0x1, 0x0, 0x10, 0x4, 0x0, 0x0, (long)0x8000000000000005);  
        }  

        if (!provider.WriteEvent(ref readEvent, new object[] { path, bytesRead }))  
            Console.WriteLine(EventProvider.GetLastWriteEventError());  
    }  

    provider.Close();  

Commenti

Se si chiama il SetActivityId metodo per specificare un identificatore di attività per l'evento, questo metodo recupera l'identificatore dal contesto del thread e lo include con l'evento.If you call the SetActivityId method to specify an activity identifier for the event, this method retrieves the identifier from the thread context and includes it with the event.

Se il tipo di oggetto non è supportato, il metodo scrive il valore del metodo dell'oggetto Object.ToString nel payload.If the object type is not supported, the method writes the value of the object's Object.ToString method in the payload. Per un elenco dei tipi di oggetto supportati, vedere la sezione Osservazioni per la EventProvider classe.For a list of supported object types, see the Remarks for the EventProvider class.

Si applica a

Prodotto Introduced

WriteEvent(EventDescriptor, String)

Scrive un evento.Writes an event. I dati dell'evento vengono specificati come stringa.The event data is specified as a string.

public:
 bool WriteEvent(System::Diagnostics::Eventing::EventDescriptor % eventDescriptor, System::String ^ data);
[System.Security.SecurityCritical]
public bool WriteEvent (ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, string data);
[<System.Security.SecurityCritical>]
member this.WriteEvent : EventDescriptor * string -> bool
Public Function WriteEvent (ByRef eventDescriptor As EventDescriptor, data As String) As Boolean

Parametri

eventDescriptor
EventDescriptor

Istanza di EventDescriptor che identifica l'evento da scrivere.An instance of EventDescriptor that identifies the event to write.

data
String

Stringa da scrivere come dati dell'evento.The string to write as the event data.

Restituisce

Boolean

true se l'evento viene scritto, in caso contrario false.Is true if the event is written; otherwise, false. Se è false, chiamare il metodo GetLastWriteEventError() per determinare la causa dell'errore.If false, call the GetLastWriteEventError() method to determine the cause of the failure.

Attributi

Eccezioni

Se data è null.If data is null.

Esempio

private static Guid providerId = new Guid("{FB33FDA8-45FB-4df0-8A55-EEB4BA88E7E7}");  

EventProvider provider = new EventProvider(providerId);  
EventDescriptor writeEvent;  

if (provider.IsEnabled())  
{  
     unchecked  
     {  
          writeEvent = new EventDescriptor(0x2, 0x0, 0x10, 0x3, 0x0, 0x0, (long)0x8000000000000006);  
     }  

     if (!provider.WriteEvent(ref writeEvent, "Write event."))  
          Console.WriteLine(EventProvider.GetLastWriteEventError());  
}  

provider.Close();  

Commenti

Se si chiama il SetActivityId metodo per specificare un identificatore di attività per l'evento, questo metodo recupera l'identificatore dal contesto del thread e lo include con l'evento.If you call the SetActivityId method to specify an activity identifier for the event, this method retrieves the identifier from the thread context and includes it with the event.

La lunghezza massima della stringa è limitata a 64 KB meno le dimensioni delle intestazioni dell'evento.The maximum string length is limited to 64 KB minus the size of the event headers. Se la sessione ha una dimensione del buffer ridotta e include elementi di dati estesi con l'evento, la dimensione dell'evento sarà ridotta.The event size is less if the session's buffer size is less and the session includes extended data items with the event.

Si applica a

Prodotto Introduced

WriteEvent(EventDescriptor, Int32, IntPtr)

Scrive un evento.Writes an event. I dati dell'evento vengono specificati come blocco di memoria.The event data is specified as a block of memory.

protected:
 bool WriteEvent(System::Diagnostics::Eventing::EventDescriptor % eventDescriptor, int dataCount, IntPtr data);
[System.Security.SecurityCritical]
protected bool WriteEvent (ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, int dataCount, IntPtr data);
[<System.Security.SecurityCritical>]
member this.WriteEvent : EventDescriptor * int * nativeint -> bool
Protected Function WriteEvent (ByRef eventDescriptor As EventDescriptor, dataCount As Integer, data As IntPtr) As Boolean

Parametri

eventDescriptor
EventDescriptor

Istanza di EventDescriptor che identifica l'evento da scrivere.An instance of EventDescriptor that identifies the event to write.

dataCount
Int32

Dimensione dei dati dell'evento a cui punta il parametro data.Size of the event data to which the data parameter points. La dimensione massima dei dati dell'evento è limitata a 64 KB esclusa la dimensione delle intestazioni dell'evento.The maximum event data size is limited to 64 KB minus the size of the event headers. Se la sessione ha una dimensione del buffer ridotta e include elementi di dati estesi con l'evento, la dimensione dell'evento sarà ridotta.The event size is less if the session's buffer size is less and the session includes extended data items with the event.

data
IntPtr

Puntatore ai dati dell'evento da scrivere.Pointer to the event data to write.

Restituisce

Boolean

true se l'evento viene scritto, in caso contrario false.Is true if the event is written; otherwise, false. Se è false, chiamare il metodo GetLastWriteEventError() per determinare la causa dell'errore.If false, call the GetLastWriteEventError() method to determine the cause of the failure.

Attributi

Commenti

Se si chiama il SetActivityId metodo per specificare un identificatore di attività per l'evento, questo metodo recupera l'identificatore dal contesto del thread e lo include con l'evento.If you call the SetActivityId method to specify an activity identifier for the event, this method retrieves the identifier from the thread context and includes it with the event.

Si applica a

Prodotto Introduced