EventSource.WriteEventWithRelatedActivityIdCore(Int32, Guid*, Int32, EventSource+EventData*) EventSource.WriteEventWithRelatedActivityIdCore(Int32, Guid*, Int32, EventSource+EventData*) EventSource.WriteEventWithRelatedActivityIdCore(Int32, Guid*, Int32, EventSource+EventData*) Method



この API は CLS 準拠ではありません。

現在のアクティビティが別のアクティビティに関連していることを示すイベントを書き込みます。Writes an event that indicates that the current activity is related to another activity.

 void WriteEventWithRelatedActivityIdCore(int eventId, Guid* childActivityID, int eventDataCount, System::Diagnostics::Tracing::EventSource::EventData* data);
protected void WriteEventWithRelatedActivityIdCore (int eventId, Guid* childActivityID, int eventDataCount, System.Diagnostics.Tracing.EventSource.EventData* data);
member this.WriteEventWithRelatedActivityIdCore : int * nativeptr<Guid> * int * nativeptr<System.Diagnostics.Tracing.EventSource.EventData> -> unit


Int32 Int32 Int32

EventSource のこのイベントを一意に識別する識別子。An identifier that uniquely identifies this event within the EventSource.


関連するアクティビティ ID の GUID へのポインター。A pointer to the GUID of the related activity ID.

Int32 Int32 Int32

data フィールド内の項目の数。The number of items in the data field.


イベント データ フィールドの最初の項目へのポインター。A pointer to the first item in the event data field.

次の c# コード例は、呼び出すメソッドのオーバー ロードを定義する方法を示しますWriteEventWithRelatedActivityIdCoreします。The following C# code example shows how to define a method overload that calls 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;
#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メソッドは、パフォーマンスの向上、ボックス化解除がない bevcause が提供しています。、childActivityIDdata引数。WriteEventWithRelatedActivityIdCore is similar to the WriteEventWithRelatedActivityId method but offers better performance, bevcause it does not have to unbox the childActivityID and data arguments.

この関数を呼び出す、ETW イベント メソッドは、次のガイドラインに従う必要があります。Your ETW event method calling this function must follow these guidelines:

  1. 最初のパラメーターを指定、GuidというrelatedActivityIdします。Specify the first parameter as a Guid named relatedActivityId.

  2. いずれかを指定SendまたはReceiveとして、EventAttribute.Opcodeプロパティ。Specify either Send or Receive as the EventAttribute.Opcode property.

  3. 呼び出すWriteEventWithRelatedActivityIdCore同じ順序で、渡されるイベントのすべてのパラメーターでイベント メソッドの後に ID の後に、関連する ID の GUID を渡します。Call WriteEventWithRelatedActivityIdCore passing in the event ID, followed by the related ID GUID, followed by all the parameters the event method is passed, in the same order.