Поделиться через


EventProvider.WriteEvent Метод

Определение

Записывает событие.

Перегрузки

WriteEvent(EventDescriptor, Object[])

Записывает событие. Данные события указываются в виде массива объектов.

WriteEvent(EventDescriptor, String)

Записывает событие. Данные события указаны в виде строки.

WriteEvent(EventDescriptor, Int32, IntPtr)

Записывает событие. Данные события указаны в качестве блока памяти.

Комментарии

Используйте эти методы, если для определения событий используется манифест.

WriteEvent(EventDescriptor, Object[])

Записывает событие. Данные события указываются в виде массива объектов.

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

Параметры

eventDescriptor
EventDescriptor

Экземпляр EventDescriptor, определяющий событие для записи.

eventPayload
Object[]

Массив объектов, которые содержат данные записываемого события. Объекты должны быть в том порядке, который указан в манифесте. Размер массива ограничен 32 объектами, из которых только 8 могут быть строчными. Максимальный размер данных события ограничен 64 КБ за вычетом размера заголовков события. Размер события может быть меньше, если меньше размер буфера сеанса и сеанс включает вместе c событием расширенные элементы данных.

Этот параметр может быть нулевым.

Возвращаемое значение

Значение true, если событие записано, в противном случае — false. Если событие не записано, для определения причины сбоя можно использовать метод GetLastWriteEventError().

Атрибуты

Исключения

Параметр eventPayload содержит слишком много объектов или строк.

Примеры

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

Комментарии

При вызове SetActivityId метода для указания идентификатора действия для события этот метод извлекает идентификатор из контекста потока и включает его в событие .

Если тип объекта не поддерживается, метод записывает значение метода объекта Object.ToString в полезные данные. Список поддерживаемых типов объектов см. в разделе Примечания EventProvider для класса .

Применяется к

WriteEvent(EventDescriptor, 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

Параметры

eventDescriptor
EventDescriptor

Экземпляр EventDescriptor, определяющий событие для записи.

data
String

Строка для записи в качестве данных события.

Возвращаемое значение

Значение true, если событие записано, в противном случае — false. Если событие не записано, для определения причины сбоя можно использовать метод GetLastWriteEventError().

Атрибуты

Исключения

Если data имеет значение null.

Примеры

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

Комментарии

При вызове SetActivityId метода для указания идентификатора действия для события этот метод извлекает идентификатор из контекста потока и включает его в событие .

Максимальная длина строки ограничена 64 КБ за вычетом размера заголовков событий. Размер события может быть меньше, если меньше размер буфера сеанса и сеанс включает вместе c событием расширенные элементы данных.

Применяется к

WriteEvent(EventDescriptor, Int32, IntPtr)

Записывает событие. Данные события указаны в качестве блока памяти.

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

Параметры

eventDescriptor
EventDescriptor

Экземпляр EventDescriptor, определяющий событие для записи.

dataCount
Int32

Размер данных события, на которые указывает параметр data. Максимальный размер данных события ограничен 64 КБ за вычетом размера заголовков события. Размер события может быть меньше, если меньше размер буфера сеанса и сеанс включает вместе c событием расширенные элементы данных.

data
IntPtr

nativeint

Указатель на данные события для записи.

Возвращаемое значение

Значение true, если событие записано, в противном случае — false. Если событие не записано, для определения причины сбоя можно использовать метод GetLastWriteEventError().

Атрибуты

Комментарии

При вызове SetActivityId метода для указания идентификатора действия для события этот метод извлекает идентификатор из контекста потока и включает его в событие .

Применяется к