EventProvider.WriteEvent Metodo

Definizione

Scrive un evento.

Overload

Nome Descrizione
WriteEvent(EventDescriptor, Object[])

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

WriteEvent(EventDescriptor, String)

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

WriteEvent(EventDescriptor, Int32, IntPtr)

Scrive un evento. I dati dell'evento sono 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 vengono 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 contengono i dati dell'evento da scrivere. L'oggetto deve essere nell'ordine specificato nel manifesto. La matrice è limitata a 32 oggetti, di cui solo otto possono essere stringhe. Le dimensioni massime dei dati per l'evento sono limitate a 64 KB meno le dimensioni delle intestazioni dell'evento. La dimensione dell'evento è minore se la dimensione del buffer della sessione è minore e la sessione include elementi di dati estesi con l'evento.

Questo parametro può essere Null.

Valori restituiti

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

Attributi

Eccezioni

Il eventPayload parametro contiene troppi 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 dei tipi di oggetto supportati, vedere la sezione Osservazioni per la EventProvider classe .

Si applica a

WriteEvent(EventDescriptor, String)

Scrive un evento. I dati dell'evento sono 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.

Valori restituiti

Se true l'evento è scritto; in caso contrario, false. Se false, chiamare il GetLastWriteEventError() metodo 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. La dimensione dell'evento è minore se la dimensione del buffer della sessione è minore e la sessione include elementi di dati estesi con l'evento.

Si applica a

WriteEvent(EventDescriptor, Int32, IntPtr)

Scrive un evento. I dati dell'evento sono 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 data parametro. Le dimensioni massime dei dati dell'evento sono limitate a 64 KB meno le dimensioni delle intestazioni degli eventi. La dimensione dell'evento è minore se la dimensione del buffer della sessione è minore e la sessione include elementi di dati estesi con l'evento.

data
IntPtr

nativeint

Puntatore ai dati dell'evento da scrivere.

Valori restituiti

Se true l'evento è scritto; in caso contrario, false. Se false, chiamare il GetLastWriteEventError() metodo 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