EventSource.WriteEventWithRelatedActivityIdCore メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
重要
この 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*
関連するアクティビティ ID の 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似ていますが、 引数と data
引数のボックス化を解除する必要がないため、パフォーマンスがchildActivityID
向上します。
この関数を呼び出す ETW イベント メソッドは、次のガイドラインに従う必要があります。
最初のパラメーターを 名前付き
relatedActivityId
としてGuid指定します。プロパティとして または Receive をSendEventAttribute.Opcode指定します。
イベント ID を渡し、その後に関連する ID GUID を渡し、その後にイベント メソッドが渡されるすべてのパラメーターを同じ順序で呼び出 WriteEventWithRelatedActivityIdCore します。
このメソッドは、 パラメーターと同じ規則 WriteEventCore を args
使用します。 詳細については、WriteEventCore のドキュメントを参照してください。
適用対象
.NET