EventSource.WriteEventWithRelatedActivityIdCore Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Важно!
Этот API несовместим с CLS.
Записывает событие, которое указывает, что текущее действие связано с другим действием.
protected:
void WriteEventWithRelatedActivityIdCore(int eventId, Guid* relatedActivityId, int eventDataCount, System::Diagnostics::Tracing::EventSource::EventData* data);
protected:
void WriteEventWithRelatedActivityIdCore(int eventId, Guid* childActivityID, int eventDataCount, System::Diagnostics::Tracing::EventSource::EventData* data);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
protected void WriteEventWithRelatedActivityIdCore (int eventId, Guid* relatedActivityId, int eventDataCount, System.Diagnostics.Tracing.EventSource.EventData* data);
[System.CLSCompliant(false)]
protected void WriteEventWithRelatedActivityIdCore (int eventId, Guid* relatedActivityId, int eventDataCount, System.Diagnostics.Tracing.EventSource.EventData* data);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
protected void WriteEventWithRelatedActivityIdCore (int eventId, Guid* childActivityID, int eventDataCount, System.Diagnostics.Tracing.EventSource.EventData* data);
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
member this.WriteEventWithRelatedActivityIdCore : int * nativeptr<Guid> * int * nativeptr<System.Diagnostics.Tracing.EventSource.EventData> -> unit
[<System.CLSCompliant(false)>]
member this.WriteEventWithRelatedActivityIdCore : int * nativeptr<Guid> * int * nativeptr<System.Diagnostics.Tracing.EventSource.EventData> -> unit
Параметры
- eventId
- Int32
Идентификатор, который уникально идентифицирует это событие в источнике EventSource.
- relatedActivityIdchildActivityID
- Guid*
Указатель на GUID идентификатора связанного действия.
- eventDataCount
- Int32
Число элементов в поле data
.
Указатель на первый элемент в поле данных события.
- Атрибуты
Примеры
В следующем примере кода C# показано, как определить перегрузку метода, которая вызывает WriteEventWithRelatedActivityIdCore.
[EventSource(Name = "Litware-ProductName-ComponentName")]
public sealed class LitwareComponentNameEventSource : EventSource
{
[Event(1, Task = Tasks.Request, Opcode = EventOpcode.Send)]
public void RequestStart(Guid relatedActivityId, int reqId, string url)
{
WriteEventWithRelatedActivityIdCore(1, relatedActivityId, reqId, url);
}
}
<EventSource(Name:="Litware-ProductName-ComponentName")> _
Public NotInheritable Class LitwareComponentNameEventSource
Inherits EventSource
<[Event](1, Task:=Tasks.Request, Opcode:=EventOpcode.Send)> _
Public Sub RequestStart(relatedActivityId As Guid, reqId As Integer, url As String)
WriteEventWithRelatedActivityIdCore(1, relatedActivityId, reqId, url)
End Sub
End Class
#region Keywords / Task / Opcodes
public static class Tasks
{
public const EventTask Request = (EventTask)0x1;
}
#endregion
#Region "Keywords / Task / Opcodes"
Public NotInheritable Class Tasks
Private Sub New()
End Sub
Public Const Request As EventTask = DirectCast(&H1, EventTask)
End Class
#End Region
Комментарии
WriteEventWithRelatedActivityIdCore метод аналогичен методу , WriteEventWithRelatedActivityId но обеспечивает лучшую производительность, так как ему не нужно распаковывать childActivityID
аргументы и data
.
Метод события ETW, вызывающий эту функцию, должен соответствовать следующим рекомендациям:
Укажите первый параметр как с Guid именем
relatedActivityId
.Укажите или SendReceive в EventAttribute.Opcode качестве свойства .
Вызов WriteEventWithRelatedActivityIdCore передает идентификатор события, за которым следует связанный ИДЕНТИФИКАТОР GUID, а затем все параметры, передаваемые методом события, в том же порядке.
Этот метод использует те же правила, что WriteEventCore и args
для параметра . Дополнительные сведения см. в документации по WriteEventCore.