EventSource.WriteEventWithRelatedActivityIdCore Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Importante
Esta API não está em conformidade com CLS.
Escreve um evento que indica que a atividade atual está relacionada com outra atividade.
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)]
[System.Security.SecurityCritical]
protected void WriteEventWithRelatedActivityIdCore(int eventId, Guid* childActivityID, 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>]
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
Um identificador que identifica de forma única este evento dentro do EventSource.
- relatedActivityIdchildActivityID
- Guid*
Um apontador para o GUID do ID de atividade relacionado.
- eventDataCount
- Int32
O número de itens no data campo.
Um apontador para o primeiro item no campo de dados do evento.
- Atributos
Exemplos
O exemplo seguinte de código C# mostra como definir uma sobrecarga de método que chama 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
Observações
WriteEventWithRelatedActivityIdCoreé semelhante ao WriteEventWithRelatedActivityId método mas oferece melhor desempenho, porque não precisa de desfazer os childActivityID argumentos e.data
O seu método de evento ETW que chama esta função deve seguir estas diretrizes:
- Especifique o primeiro parâmetro como um Guid .
relatedActivityId - Especifique qualquer um Send dos ou Receive como propriedade EventAttribute.Opcode .
- A passagem da chamada WriteEventWithRelatedActivityIdCore no ID do evento, seguida do ID GUID relacionado, seguido de todos os parâmetros que o método do evento é passado, na mesma ordem.
Este método usa as mesmas regras que WriteEventCore para o args parâmetro. Consulte a documentação do WriteEventCore para mais detalhes.