Condividi tramite


EventProvider.WriteEvent Metodo

Definizione

Scrive un evento.

Overload

WriteEvent(EventDescriptor, Object[])

Scrive un evento. I dati dell'evento sono specificati come matrice di oggetti.

WriteEvent(EventDescriptor, String)

Scrive un evento. I dati dell'evento vengono specificati come stringa.

WriteEvent(EventDescriptor, Int32, IntPtr)

Scrive un evento. I dati dell'evento vengono specificati come blocco di memoria.

Commenti

Usare questi metodi se si usa un manifesto per definire gli eventi.

WriteEvent(EventDescriptor, Object[])

Scrive un evento. I dati dell'evento sono specificati come matrice di oggetti.

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.

eventPayload
Object[]

Matrice di oggetti che contiene i dati dell'evento da scrivere. L'oggetto deve essere nell'ordine specificato nel manifesto. La matrice è limitata a 32 oggetti dei quali solo otto possono essere stringhe. La dimensione massima dei dati per l'evento è limitata a 64 KB esclusa la dimensione delle intestazioni dell'evento. Se la sessione ha una dimensione del buffer ridotta e include elementi di dati estesi con l'evento, la dimensione dell'evento sarà ridotta.

Questo parametro può essere null.

Restituisce

true se l'evento viene scritto, in caso contrario false. Se è false, chiamare il metodo GetLastWriteEventError() per determinare la causa dell'errore.

Attributi

Eccezioni

Il parametro eventPayload contiene un numero eccessivo di oggetti o stringhe.

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.

Se il tipo di oggetto non è supportato, il metodo scrive il valore del metodo dell'oggetto Object.ToString nel payload. Per un elenco di tipi di oggetti supportati, vedere Le osservazioni per la EventProvider classe.

Si applica a

WriteEvent(EventDescriptor, String)

Scrive un evento. I dati dell'evento vengono specificati come stringa.

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.

data
String

Stringa da scrivere come dati dell'evento.

Restituisce

true se l'evento viene scritto, in caso contrario false. Se è false, chiamare il metodo GetLastWriteEventError() per determinare la causa dell'errore.

Attributi

Eccezioni

Se data è 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.

La lunghezza massima della stringa è limitata a 64 KB meno le dimensioni delle intestazioni dell'evento. Se la sessione ha una dimensione del buffer ridotta e include elementi di dati estesi con l'evento, la dimensione dell'evento sarà ridotta.

Si applica a

WriteEvent(EventDescriptor, Int32, IntPtr)

Scrive un evento. I dati dell'evento vengono specificati come blocco di memoria.

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.

dataCount
Int32

Dimensione dei dati dell'evento a cui punta il parametro data. La dimensione massima dei dati dell'evento è limitata a 64 KB esclusa la dimensione delle intestazioni dell'evento. Se la sessione ha una dimensione del buffer ridotta e include elementi di dati estesi con l'evento, la dimensione dell'evento sarà ridotta.

data
IntPtr

nativeint

Puntatore ai dati dell'evento da scrivere.

Restituisce

true se l'evento viene scritto, in caso contrario false. Se è false, chiamare il metodo GetLastWriteEventError() per determinare la causa dell'errore.

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.

Si applica a