EventProvider.WriteEvent Método

Definición

Escribe un evento.

Sobrecargas

WriteEvent(EventDescriptor, Object[])

Escribe un evento. Los datos de evento se especifican como una matriz de objetos.

WriteEvent(EventDescriptor, String)

Escribe un evento. Los datos del evento se especifican como una cadena.

WriteEvent(EventDescriptor, Int32, IntPtr)

Escribe un evento. Los datos del evento se especifican como un bloque de memoria.

Comentarios

Use estos métodos si usa un manifiesto para definir los eventos.

WriteEvent(EventDescriptor, Object[])

Escribe un evento. Los datos de evento se especifican como una matriz de objetos.

C#
[System.Security.SecurityCritical]
public bool WriteEvent(ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, params object[] eventPayload);
C#
public bool WriteEvent(ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, params object[] eventPayload);

Parámetros

eventDescriptor
EventDescriptor

Instancia de EventDescriptor que identifica el evento que se va a escribir.

eventPayload
Object[]

Matriz de objetos que contiene los datos del evento que se va a escribir. El objeto debe estar en el orden especificado en el manifiesto. La matriz se limita a 32 objetos, de los que sólo ocho pueden ser cadenas. El tamaño de datos máximo del evento se limita a 64 KB menos el tamaño de los encabezados de evento. El tamaño del evento será menor si el tamaño de búfer de la sesión es menor y la sesión incluye elementos de datos extendidos con el evento.

Este parámetro puede ser NULL.

Devoluciones

Es true si se escribe el evento; de lo contrario, es false. Si su valor es false, llame al método GetLastWriteEventError() para determinar la causa del error.

Atributos

Excepciones

El parámetro eventPayload contiene demasiados objetos o cadenas.

Ejemplos

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

Comentarios

Si llama al SetActivityId método para especificar un identificador de actividad para el evento, este método recupera el identificador del contexto del subproceso e lo incluye con el evento .

Si no se admite el tipo de objeto, el método escribe el valor del método del Object.ToString objeto en la carga útil. Para obtener una lista de los tipos de objeto admitidos, vea los comentarios de la EventProvider clase .

Se aplica a

.NET Framework 4.8.1 otras versiones
Producto Versiones
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

WriteEvent(EventDescriptor, String)

Escribe un evento. Los datos del evento se especifican como una cadena.

C#
[System.Security.SecurityCritical]
public bool WriteEvent(ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, string data);

Parámetros

eventDescriptor
EventDescriptor

Instancia de EventDescriptor que identifica el evento que se va a escribir.

data
String

Cadena que se va a escribir como los datos del evento.

Devoluciones

Es true si se escribe el evento; de lo contrario, es false. Si su valor es false, llame al método GetLastWriteEventError() para determinar la causa del error.

Atributos

Excepciones

Si data es null.

Ejemplos

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

Comentarios

Si llama al SetActivityId método para especificar un identificador de actividad para el evento, este método recupera el identificador del contexto del subproceso e lo incluye con el evento .

La longitud máxima de la cadena se limita a 64 KB menos el tamaño de los encabezados de evento. El tamaño del evento será menor si el tamaño de búfer de la sesión es menor y la sesión incluye elementos de datos extendidos con el evento.

Se aplica a

.NET Framework 4.8.1 otras versiones
Producto Versiones
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

WriteEvent(EventDescriptor, Int32, IntPtr)

Escribe un evento. Los datos del evento se especifican como un bloque de memoria.

C#
[System.Security.SecurityCritical]
protected bool WriteEvent(ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, int dataCount, IntPtr data);

Parámetros

eventDescriptor
EventDescriptor

Instancia de EventDescriptor que identifica el evento que se va a escribir.

dataCount
Int32

Tamaño de los datos del evento a los que apunta el parámetro data. El tamaño de datos máximo del evento se limita a 64 KB menos el tamaño de los encabezados de evento. El tamaño del evento será menor si el tamaño de búfer de la sesión es menor y la sesión incluye elementos de datos extendidos con el evento.

data
IntPtr

Puntero a los datos del evento que se va escribir.

Devoluciones

Es true si se escribe el evento; de lo contrario, es false. Si su valor es false, llame al método GetLastWriteEventError() para determinar la causa del error.

Atributos

Comentarios

Si llama al SetActivityId método para especificar un identificador de actividad para el evento, este método recupera el identificador del contexto del subproceso e lo incluye con el evento .

Se aplica a

.NET Framework 4.8.1 otras versiones
Producto Versiones
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1