Partilhar via


EventProvider.WriteEvent Método

Definição

Grava um evento.

Sobrecargas

WriteEvent(EventDescriptor, Object[])

Grava um evento. Os dados de evento são especificados como uma matriz de objetos.

WriteEvent(EventDescriptor, String)

Grava um evento. Os dados de evento são especificados como uma cadeia de caracteres.

WriteEvent(EventDescriptor, Int32, IntPtr)

Grava um evento. Os dados de evento são especificados como um bloco de memória.

Comentários

Use esses métodos se você usar um manifesto para definir seus eventos.

WriteEvent(EventDescriptor, Object[])

Grava um evento. Os dados de evento são especificados como uma matriz de objetos.

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

Parâmetros

eventDescriptor
EventDescriptor

Uma instância de EventDescriptor que identifica o evento a ser gravado.

eventPayload
Object[]

Uma matriz de objetos que contêm os dados do evento a ser gravado. O objeto precisa estar na ordem especificada no manifesto. A matriz é limitada a 32 objetos, dos quais somente oito podem ser cadeias de caracteres. O tamanho máximo dos dados para o evento é limitado a 64 KB menos o tamanho dos cabeçalhos do evento. O tamanho do evento será menor se o tamanho do buffer da sessão for menor e a sessão incluir itens de dados estendidos com o evento.

Este parâmetro pode ser nulo.

Retornos

É true se o evento for escrito; caso contrário, false. Se falso, chame o método GetLastWriteEventError() para determinar a causa da falha.

Atributos

Exceções

O parâmetro eventPayload contém muitos objetos ou cadeias de caracteres.

Exemplos

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();  

Comentários

Se você chamar o SetActivityId método para especificar um identificador de atividade para o evento, esse método recuperará o identificador do contexto do thread e o incluirá com o evento .

Se não houver suporte para o tipo de objeto, o método gravará o valor do método do Object.ToString objeto na carga. Para obter uma lista de tipos de objeto com suporte, consulte Comentários para a EventProvider classe .

Aplica-se a

WriteEvent(EventDescriptor, String)

Grava um evento. Os dados de evento são especificados como uma cadeia de caracteres.

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

Parâmetros

eventDescriptor
EventDescriptor

Uma instância de EventDescriptor que identifica o evento a ser gravado.

data
String

A cadeia de caracteres a ser gravada como os dados do evento.

Retornos

É true se o evento for escrito; caso contrário, false. Se falso, chame o método GetLastWriteEventError() para determinar a causa da falha.

Atributos

Exceções

Se data for null.

Exemplos

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();  

Comentários

Se você chamar o SetActivityId método para especificar um identificador de atividade para o evento, esse método recuperará o identificador do contexto do thread e o incluirá com o evento .

O comprimento máximo da cadeia de caracteres é limitado a 64 KB menos o tamanho dos cabeçalhos de evento. O tamanho do evento será menor se o tamanho do buffer da sessão for menor e a sessão incluir itens de dados estendidos com o evento.

Aplica-se a

WriteEvent(EventDescriptor, Int32, IntPtr)

Grava um evento. Os dados de evento são especificados como um bloco de memória.

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

Parâmetros

eventDescriptor
EventDescriptor

Uma instância de EventDescriptor que identifica o evento a ser gravado.

dataCount
Int32

Tamanho dos dados do evento para o qual o parâmetro data aponta. O tamanho máximo dos dados do evento é limitado a 64 KB menos o tamanho dos cabeçalhos do evento. O tamanho do evento será menor se o tamanho do buffer da sessão for menor e a sessão incluir itens de dados estendidos com o evento.

data
IntPtr

nativeint

Ponteiro para os dados de evento para gravação.

Retornos

É true se o evento for escrito; caso contrário, false. Se falso, chame o método GetLastWriteEventError() para determinar a causa da falha.

Atributos

Comentários

Se você chamar o SetActivityId método para especificar um identificador de atividade para o evento, esse método recuperará o identificador do contexto do thread e o incluirá com o evento .

Aplica-se a