EventSource.WriteEventWithRelatedActivityIdCore Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Önemli
Bu API, CLS uyumlu değildir.
Geçerli etkinliğin başka bir etkinlikle ilişkili olduğunu belirten bir olay yazar.
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
Parametreler
- eventId
- Int32
içinde EventSourcebu olayı benzersiz olarak tanımlayan bir tanımlayıcı.
- relatedActivityIdchildActivityID
- Guid*
İlgili etkinlik kimliğinin GUID'sine yönelik bir işaretçi.
- eventDataCount
- Int32
Alandaki öğelerin data
sayısı.
Olay verileri alanındaki ilk öğenin işaretçisi.
- Öznitelikler
Örnekler
Aşağıdaki C# kod örneği, çağıran WriteEventWithRelatedActivityIdCorebir yöntem aşırı yüklemesinin nasıl tanımlandığını gösterir.
[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
Açıklamalar
WriteEventWithRelatedActivityIdCoreyöntemine WriteEventWithRelatedActivityId benzer ancak ve data
bağımsız değişkenlerinin kutusunu childActivityID
açması gerekmediğinden daha iyi performans sunar.
Bu işlevi çağıran ETW olay yönteminiz şu yönergeleri izlemelidir:
İlk parametreyi adlandırılmış
relatedActivityId
olarak Guid belirtin.Send Özellik olarak veya Receive belirtinEventAttribute.Opcode.
Olay WriteEventWithRelatedActivityIdCore kimliğinde çağrı geçirme, ardından ilgili kimlik GUID'si ve ardından olay yönteminin geçirilme sırasına göre tüm parametreler.
Bu yöntem, parametresiyle args
aynı kuralları WriteEventCore kullanır. Diğer ayrıntılar için bkz. WriteEventCore belgeleri.