EventProvider.WriteEvent Method

Definition

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

Overloads

WriteEvent(EventDescriptor, Object[])

Записывает событие.Writes an event. Данные события указываются в виде массива объектов.The event data is specified as an array of objects.

WriteEvent(EventDescriptor, String)

Записывает событие.Writes an event. Данные события указаны в виде строки.The event data is specified as a string.

WriteEvent(EventDescriptor, Int32, IntPtr)

Записывает событие.Writes an event. Данные события указаны в качестве блока памяти.The event data is specified as a block of memory.

Remarks

Используйте эти методы, если для определения событий используется манифест.Use these methods if you use a manifest to define your events.

WriteEvent(EventDescriptor, Object[])

Записывает событие.Writes an event. Данные события указываются в виде массива объектов.The event data is specified as an array of objects.

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);
member this.WriteEvent : EventDescriptor * obj[] -> bool
Public Function WriteEvent (ByRef eventDescriptor As EventDescriptor, ParamArray eventPayload As Object()) As Boolean

Parameters

eventDescriptor
EventDescriptor

Экземпляр EventDescriptor, определяющий событие для записи.An instance of EventDescriptor that identifies the event to write.

eventPayload
Object[]

Массив объектов, которые содержат данные записываемого события.An array of objects that contain the event data to write. Объекты должны быть в том порядке, который указан в манифесте.The object must be in the order specified in the manifest. Размер массива ограничен 32 объектами, из которых только 8 могут быть строчными.The array is limited to 32 objects, of which only eight may be strings. Максимальный размер данных события ограничен 64 КБ за вычетом размера заголовков события.The maximum data size for the event is limited to 64 KB minus the size of the event headers. Размер события может быть меньше, если меньше размер буфера сеанса и сеанс включает вместе c событием расширенные элементы данных.The event size is less if the session's buffer size is less and the session includes extended data items with the event.

Этот параметр может быть нулевым.This parameter can be null.

Returns

Boolean

Значение true, если событие записано, в противном случае — false.Is true if the event is written; otherwise, false. Если событие не записано, для определения причины сбоя можно использовать метод GetLastWriteEventError().If false, call the GetLastWriteEventError() method to determine the cause of the failure.

Attributes

Exceptions

Параметр eventPayload содержит слишком много объектов или строк.The eventPayload parameter contains too many objects or strings.

Examples

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

Remarks

При вызове SetActivityId метода для указания идентификатора действия для события этот метод извлекает идентификатор из контекста потока и включает его в событие.If you call the SetActivityId method to specify an activity identifier for the event, this method retrieves the identifier from the thread context and includes it with the event.

Если тип объекта не поддерживается, метод записывает значение Object.ToString метода объекта в полезных данных.If the object type is not supported, the method writes the value of the object's Object.ToString method in the payload. Список поддерживаемых типов объектов см. в комментариях EventProvider к классу.For a list of supported object types, see the Remarks for the EventProvider class.

WriteEvent(EventDescriptor, String)

Записывает событие.Writes an event. Данные события указаны в виде строки.The event data is specified as a 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);
member this.WriteEvent : EventDescriptor * string -> bool
Public Function WriteEvent (ByRef eventDescriptor As EventDescriptor, data As String) As Boolean

Parameters

eventDescriptor
EventDescriptor

Экземпляр EventDescriptor, определяющий событие для записи.An instance of EventDescriptor that identifies the event to write.

data
String

Строка для записи в качестве данных события.The string to write as the event data.

Returns

Boolean

Значение true, если событие записано, в противном случае — false.Is true if the event is written; otherwise, false. Если событие не записано, для определения причины сбоя можно использовать метод GetLastWriteEventError().If false, call the GetLastWriteEventError() method to determine the cause of the failure.

Attributes

Exceptions

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

Examples

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

Remarks

При вызове SetActivityId метода для указания идентификатора действия для события этот метод извлекает идентификатор из контекста потока и включает его в событие.If you call the SetActivityId method to specify an activity identifier for the event, this method retrieves the identifier from the thread context and includes it with the event.

Максимальная длина строки ограничена размером в 64 КБ минус размер заголовков событий.The maximum string length is limited to 64 KB minus the size of the event headers. Размер события может быть меньше, если меньше размер буфера сеанса и сеанс включает вместе c событием расширенные элементы данных.The event size is less if the session's buffer size is less and the session includes extended data items with the event.

WriteEvent(EventDescriptor, Int32, IntPtr)

Записывает событие.Writes an event. Данные события указаны в качестве блока памяти.The event data is specified as a block of memory.

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);
member this.WriteEvent : EventDescriptor * int * nativeint -> bool
Protected Function WriteEvent (ByRef eventDescriptor As EventDescriptor, dataCount As Integer, data As IntPtr) As Boolean

Parameters

eventDescriptor
EventDescriptor

Экземпляр EventDescriptor, определяющий событие для записи.An instance of EventDescriptor that identifies the event to write.

dataCount
Int32

Размер данных события, на которые указывает параметр data.Size of the event data to which the data parameter points. Максимальный размер данных события ограничен 64 КБ за вычетом размера заголовков события.The maximum event data size is limited to 64 KB minus the size of the event headers. Размер события может быть меньше, если меньше размер буфера сеанса и сеанс включает вместе c событием расширенные элементы данных.The event size is less if the session's buffer size is less and the session includes extended data items with the event.

data
IntPtr

Указатель на данные события для записи.Pointer to the event data to write.

Returns

Boolean

Значение true, если событие записано, в противном случае — false.Is true if the event is written; otherwise, false. Если событие не записано, для определения причины сбоя можно использовать метод GetLastWriteEventError().If false, call the GetLastWriteEventError() method to determine the cause of the failure.

Attributes

Remarks

При вызове SetActivityId метода для указания идентификатора действия для события этот метод извлекает идентификатор из контекста потока и включает его в событие.If you call the SetActivityId method to specify an activity identifier for the event, this method retrieves the identifier from the thread context and includes it with the event.

Applies to