EventSource.WriteEventWithRelatedActivityId(Int32, Guid, Object[]) EventSource.WriteEventWithRelatedActivityId(Int32, Guid, Object[]) EventSource.WriteEventWithRelatedActivityId(Int32, Guid, Object[]) EventSource.WriteEventWithRelatedActivityId(Int32, Guid, Object[]) Method

Définition

Écrit un événement qui indique que l'activité actuelle est liée à une autre activité.Writes an event that indicates that the current activity is related to another activity.

protected:
 void WriteEventWithRelatedActivityId(int eventId, Guid childActivityID, ... cli::array <System::Object ^> ^ args);
protected void WriteEventWithRelatedActivityId (int eventId, Guid childActivityID, params object[] args);
member this.WriteEventWithRelatedActivityId : int * Guid * obj[] -> unit
Protected Sub WriteEventWithRelatedActivityId (eventId As Integer, childActivityID As Guid, ParamArray args As Object())

Paramètres

eventId
Int32 Int32 Int32 Int32

Identificateur qui identifie de manière unique cet événement au sein de l'objet EventSource.An identifier that uniquely identifies this event within the EventSource.

relatedActivityId
Guid Guid Guid Guid

Identificateur d'activité associé.The related activity identifier.

args
Object[]

Tableau d'objets qui contient les données relatives à l'événement.An array of objects that contain data about the event.

Exemples

L’exemple de code suivant montre comment peut spécifier une source d’événement qui appelle WriteEventWithRelatedActivityId.The following code example shows how you might can specify an event source that calls WriteEventWithRelatedActivityId.

[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)
    {
        WriteEventWithRelatedActivityId(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)
        WriteEventWithRelatedActivityId(1, relatedActivityId, reqId, url)
    End Sub

End Class

[EventSource(Name = "Contoso-ProductName-ComponentName")]
public sealed class CustomizedForPerfEventSource : EventSource
{
    [Event(1, Task = Tasks.Request, Opcode = EventOpcode.Send)]
    public void RequestStart(Guid relatedActivityId, int reqId, string url)
    {
        if (IsEnabled())
            WriteEventWithRelatedActivityId(1, relatedActivityId, reqId, url);
    }

    [NonEvent]
    unsafe protected void WriteEventWithRelatedActivityId(int eventId, Guid relatedActivityId,
                    int arg1, string arg2)
    {
        if (IsEnabled())
        {
            if (arg2 == null) arg2 = string.Empty;
            fixed (char* stringBytes = arg2)
            {
                EventData* descrs = stackalloc EventData[2];
                descrs[0].DataPointer = (IntPtr)(&arg1);
                descrs[0].Size = 4;
                descrs[1].DataPointer = (IntPtr)stringBytes;
                descrs[1].Size = ((arg2.Length + 1) * 2);
                WriteEventWithRelatedActivityIdCore(eventId,
                &relatedActivityId, 2, descrs);
            }
        }
    }


Remarques

Le WriteEventWithRelatedActivityId méthode journalise un événement de transfert.The WriteEventWithRelatedActivityId method logs a transfer event. L’activité du thread actuel est connectée à l’aide de l’événement, et cela permet des deux activités d’être liées par un consommateur d’événements.The activity of the current thread is logged with the event, and this allows two activities to be related by a consumer of events.

Votre méthode d’événement ETW appeler cette fonction doit suivre ces recommandations :Your ETW event method calling this function must follow these guidelines:

  1. Spécifier le premier paramètre comme un Guid nommé relatedActivityId.Specify the first parameter as a Guid named relatedActivityId.

  2. Spécifiez soit Send ou Receive comme le EventAttribute.Opcode propriété.Specify either Send or Receive as the EventAttribute.Opcode property.

  3. Appeler WriteEventWithRelatedActivityId en passant dans l’événement ID, suivi par le GUID ID connexes, suivie de tous les paramètres de la méthode d’événement est passé, dans le même ordre.Call WriteEventWithRelatedActivityId 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.

Si args est ne pas utilisé, il est converti en un tableau vide pour l’appel qui en résulte à ETW.If args is not used, it is converted to an empty array for the resulting call to ETW.

S’applique à