EventSource.WriteEventWithRelatedActivityIdCore Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Viktigt!
Detta API uppfyller inte CLS.
Skriver en händelse som anger att den aktuella aktiviteten är relaterad till en annan aktivitet.
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
Parametrar
- eventId
- Int32
En identifierare som unikt identifierar den här händelsen i EventSource.
- relatedActivityIdchildActivityID
- Guid*
En pekare till GUID för det relaterade aktivitets-ID:t.
- eventDataCount
- Int32
Antalet objekt i fältet data .
En pekare till det första objektet i händelsedatafältet.
- Attribut
Exempel
Följande C#-kodexempel visar hur du definierar en metodöverlagring som anropar 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
Kommentarer
WriteEventWithRelatedActivityIdCore liknar WriteEventWithRelatedActivityId metoden men ger bättre prestanda eftersom den inte behöver ta bort argumenten childActivityID och data .
Din ETW-händelsemetod som anropar den här funktionen måste följa dessa riktlinjer:
- Ange den första parametern som med Guid namnet
relatedActivityId. - Ange antingen Send eller Receive som EventAttribute.Opcode egenskap.
- Anropsöverföring WriteEventWithRelatedActivityIdCore i händelse-ID, följt av det relaterade ID GUID, följt av alla parametrar som händelsemetoden skickas i samma ordning.
Den här metoden använder samma regler som WriteEventCore för parametern args . Mer information finns i WriteEventCore-dokumentationen.