Compartir a través de


EventSource.WriteEventWithRelatedActivityIdCore Método

Definición

Importante

Esta API no es conforme a CLS.

Escribe un evento que indica que la actividad actual se relaciona con otra actividad.

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

Parámetros

eventId
Int32

Un identificador que identifica de forma única este evento dentro de EventSource.

relatedActivityIdchildActivityID
Guid*

Puntero al GUID del identificador de actividad relacionado.

eventDataCount
Int32

El número de elementos en el campo data.

data
EventSource.EventData

Un puntero al primer elemento del campo de datos de evento.

Atributos

Ejemplos

En el ejemplo de código de C# siguiente se muestra cómo definir una sobrecarga de método que llama a 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

Comentarios

WriteEventWithRelatedActivityIdCore es similar al WriteEventWithRelatedActivityId método , pero ofrece un mejor rendimiento, ya que no tiene que desaboxar los childActivityID argumentos y data .

El método de eventos ETW que llama a esta función debe seguir estas instrucciones:

  1. Especifique el primer parámetro como un Guid denominado relatedActivityId.

  2. Especifique o SendReceive como propiedad EventAttribute.Opcode .

  3. Llamada WriteEventWithRelatedActivityIdCore que pasa el identificador de evento, seguido del GUID de identificador relacionado, seguido de todos los parámetros que se pasa al método de evento, en el mismo orden.

Este método usa las mismas reglas que WriteEventCore para el args parámetro . Consulte la documentación de WriteEventCore para obtener más detalles.

Se aplica a