Freigeben über


EventSource.WriteEventWithRelatedActivityIdCore Methode

Definition

Wichtig

Diese API ist nicht CLS-kompatibel.

Schreibt ein Ereignis, die angibt, dass die aktuelle Aktivität mit einer andere Aktivität in Beziehung steht.

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

Parameter

eventId
Int32

Ein Bezeichner, der dieses Ereignis eindeutig in der EventSource identifiziert.

relatedActivityIdchildActivityID
Guid*

Ein Zeiger auf die GUID der zugeordneten Aktivitäts-ID.

eventDataCount
Int32

Die Anzahl der Elemente im data-Feld.

data
EventSource.EventData

Ein Zeiger auf das erste Element im Ereignisdatenfeld.

Attribute

Beispiele

Das folgende C#-Codebeispiel zeigt, wie eine Methodenüberladung definiert wird, die aufruft 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

Hinweise

WriteEventWithRelatedActivityIdCoreähnelt der WriteEventWithRelatedActivityId Methode, bietet jedoch eine bessere Leistung, da die Argumente und data nicht entpackt childActivityID werden müssen.

Ihre ETW-Ereignismethode, die diese Funktion aufruft, muss die folgenden Richtlinien befolgen:

  1. Geben Sie den ersten Parameter als namen GuidrelatedActivityIdan.

  2. Geben Sie entweder Send oder Receive als Eigenschaft an EventAttribute.Opcode .

  3. Rufen Sie WriteEventWithRelatedActivityIdCore die Ereignis-ID auf, gefolgt von der zugehörigen ID-GUID, gefolgt von allen Parametern, die die Ereignismethode übergeben wird, in der gleichen Reihenfolge.

Diese Methode verwendet dieselben Regeln wie WriteEventCore für den args -Parameter. Weitere Informationen finden Sie unter WriteEventCore-Dokumentation.

Gilt für: