Export (0) Print
Expand All

EventSource.WriteEventWithRelatedActivityIdCore Method

[Supported in the .NET Framework 4.5.1 and later versions]

Writes an event that indicates that the current activity is related to another activity.

This API is not CLS-compliant. 

Namespace:  System.Diagnostics.Tracing
Assembly:  mscorlib (in mscorlib.dll)

[CLSCompliantAttribute(false)]
protected void WriteEventWithRelatedActivityIdCore(
	int eventId,
	Guid* childActivityID,
	int eventDataCount,
	EventSource.EventData* data
)

Parameters

eventId
Type: System.Int32

An identifier that uniquely identifies this event within the EventSource.

childActivityID
Type: System.Guid*

A pointer to the GUID of the child activity ID.

eventDataCount
Type: System.Int32

The number of items in the data field.

data
Type: System.Diagnostics.Tracing.EventSource.EventData*

A pointer to the first item in the event data field.

WriteEventWithRelatedActivityIdCore is similar to the WriteEventWithRelatedActivityId method but offers better performance, bevcause it does not have to unbox the childActivityID and data arguments.

Your ETW event method calling this function must follow these guidelines:

  1. Specify the first parameter as a Guid named relatedActivityId.

  2. Specify either Send or Receive as the EventAttribute.Opcode property.

  3. Call WriteEventWithRelatedActivityIdCore 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.

The following C# code example shows how to define a method overload that calls 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);
            }

        }



...


#region Keywords / Task / Opcodes
public static class Tasks
{
    public const EventTask Request = (EventTask)0x1;
}
#endregion

.NET Framework

Supported in: 4.5.1

.NET for Windows Phone apps

Supported in: Windows Phone 8.1

Windows Phone 8.1

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft