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 объектами, из которых могут быть только восемь строк. Максимальный размер данных для события ограничен 64 КБ минус размер заголовков событий. Размер события меньше, если размер буфера сеанса меньше, а сеанс включает расширенные элементы данных с событием.

Этот параметр может иметь значение NULL.

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

Значение , если true событие записывается; в противном случае false. Если значение 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. Если значение 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 КБ минус размер заголовков событий. Размер события меньше, если размер буфера сеанса меньше, а сеанс включает расширенные элементы данных с событием.

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

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 КБ минус размер заголовков событий. Размер события меньше, если размер буфера сеанса меньше, а сеанс включает расширенные элементы данных с событием.

data
IntPtr

nativeint

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

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

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

Атрибуты

Комментарии

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

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