Sdílet prostřednictvím


EventSource.WriteEventWithRelatedActivityIdCore Metoda

Definice

Důležité

Toto rozhraní API neodpovídá specifikaci CLS.

Zapíše událost, která označuje, že aktuální aktivita souvisí s jinou aktivitou.

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

Parametry

eventId
Int32

Identifikátor, který jedinečně identifikuje tuto událost v rámci objektu EventSource.

relatedActivityIdchildActivityID
Guid*

Ukazatel na identifikátor GUID souvisejícího ID aktivity.

eventDataCount
Int32

Počet položek v data poli

data
EventSource.EventData

Ukazatel na první položku v poli dat události.

Atributy

Příklady

Následující příklad kódu jazyka C# ukazuje, jak definovat přetížení metody, která volá 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

Poznámky

WriteEventWithRelatedActivityIdCore je podobná WriteEventWithRelatedActivityId metodě, ale nabízí lepší výkon, protože nemusí rozbalovat childActivityID argumenty a data .

Vaše metoda události Trasování událostí pro Windows volající tuto funkci musí dodržovat tyto pokyny:

  1. Zadejte první parametr jako pojmenovaný GuidrelatedActivityId.

  2. Jako vlastnost zadejte buď Send nebo EventAttribute.OpcodeReceive.

  3. Volání WriteEventWithRelatedActivityIdCore předání ID události následované souvisejícím identifikátorem GUID ID následované všemi parametry předávané metodou události ve stejném pořadí.

Tato metoda používá stejná pravidla jako WriteEventCore pro args parametr. Další podrobnosti najdete v dokumentaci k WriteEventCore.

Platí pro