Sdílet prostřednictvím


EventSource.WriteEvent Metoda

Definice

Zapíše událost pomocí zadaného identifikátoru události a volitelných argumentů.

Přetížení

WriteEvent(Int32, String, String, String)

Zapíše událost pomocí zadaného identifikátoru události a řetězcových argumentů.

WriteEvent(Int32, String, Int32, Int32)

Zapíše událost pomocí zadaného identifikátoru a argumentů události.

WriteEvent(Int32, Int64, Int64, Int64)

Zapíše událost pomocí zadaného identifikátoru události a 64bitových argumentů.

WriteEvent(Int32, Int32, Int32, Int32)

Zapíše událost pomocí zadaného identifikátoru události a 32bitových celočíselných argumentů.

WriteEvent(Int32, String, String)

Zapíše událost pomocí zadaného identifikátoru události a řetězcových argumentů.

WriteEvent(Int32, String, Int64)

Zapíše událost pomocí zadaného identifikátoru a argumentů události.

WriteEvent(Int32, String, Int32)

Zapíše událost pomocí zadaného identifikátoru a argumentů události.

WriteEvent(Int32, Int64, String)

Zapíše událost pomocí zadaného identifikátoru události, 64bitového celého čísla a řetězcových argumentů.

WriteEvent(Int32, Int64, Int64)

Zapíše událost pomocí zadaného identifikátoru události a 64bitových argumentů.

WriteEvent(Int32, Int32, Int32)

Zapíše událost pomocí zadaného identifikátoru události a 32bitových celočíselných argumentů.

WriteEvent(Int32, Int32, String)

Zapíše událost pomocí zadaného identifikátoru události a 32bitových celočíselných a řetězcových argumentů.

WriteEvent(Int32, String)

Zapíše událost pomocí zadaného identifikátoru události a argumentu řetězce.

WriteEvent(Int32, Object[])

Zapíše událost pomocí zadaného identifikátoru události a pole argumentů.

WriteEvent(Int32, Int64)

Zapíše událost pomocí zadaného identifikátoru události a 64bitového celočíselného argumentu.

WriteEvent(Int32, Int32)

Zapíše událost pomocí zadaného identifikátoru události a 32bitového celočíselného argumentu.

WriteEvent(Int32, EventSource+EventSourcePrimitive[])

Zapíše událost pomocí zadaného identifikátoru události a proměnné počtu primitiv zdroje událostí.

WriteEvent(Int32, Byte[])

Zapíše událost pomocí zadaného identifikátoru události a argumentu pole bajtů.

WriteEvent(Int32)

Zapíše událost pomocí zadaného identifikátoru události.

WriteEvent(Int32, Int64, Byte[])

Zapíše data události pomocí zadaného identifikátoru a argumentů 64bitového celočíselného a bajtového pole.

Poznámky

Metoda WriteEvent poskytuje přetížení s kombinacemi argumentů řetězce a celého čísla. Pokud žádná z těchto kombinací neodpovídá parametrům volání, kompilátor použije EventSource.WriteEvent(Int32, Object[]) přetížení, které je výrazně pomalejší než ostatní přetížení. Podrobnosti najdete na stránce přetížení.

Ve všech případech eventid by parametr měl být větší než 0 nebo menší než 65535 nebo může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte k událostem spouštění procesu připojený ladicí program. Pokud máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází, můžete také vyhledat chyby hlášené ve streamu událostí pro Windows.

Při implementaci metody, která je identifikovaná jako událost etw v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty jako implementovaná metoda podobná následujícímu příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Pomocí metody můžete také vytvořit vlastní přetížení WriteEventCore .

Důležité

Parametry události s typem string by neměly obsahovat \0 znaky. Jedná se o nepodporované znaky, které můžou způsobovat problémy s analyzátory datové části události.

WriteEvent(Int32, String, String, String)

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru události a řetězcových argumentů.

protected:
 void WriteEvent(int eventId, System::String ^ arg1, System::String ^ arg2, System::String ^ arg3);
protected void WriteEvent (int eventId, string arg1, string arg2, string arg3);
protected void WriteEvent (int eventId, string? arg1, string? arg2, string? arg3);
member this.WriteEvent : int * string * string * string -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As String, arg2 As String, arg3 As String)

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
String

Řetězcový argument.

arg2
String

Řetězcový argument.

arg3
String

Řetězcový argument.

Poznámky

eventid hodnota by měla být větší než 0 nebo menší než 65535, jinak může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte ladicí program připojený k událostem aktivace procesu. Chyby hlášené ve streamu událostí Pro Windows můžete vyhledat také v případě, že máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází.

Při implementaci metody, která je identifikována jako událost Trasování událostí pro Windows v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty a jako implementovaná metoda podobně jako v následujícím příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Platí pro

WriteEvent(Int32, String, Int32, Int32)

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru a argumentů události.

protected:
 void WriteEvent(int eventId, System::String ^ arg1, int arg2, int arg3);
protected void WriteEvent (int eventId, string arg1, int arg2, int arg3);
protected void WriteEvent (int eventId, string? arg1, int arg2, int arg3);
member this.WriteEvent : int * string * int * int -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As String, arg2 As Integer, arg3 As Integer)

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
String

Řetězcový argument.

arg2
Int32

32bitový celočíselný argument.

arg3
Int32

32bitový celočíselný argument.

Poznámky

eventid hodnota by měla být větší než 0 nebo menší než 65535, jinak může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte ladicí program připojený k událostem aktivace procesu. Chyby hlášené ve streamu událostí Pro Windows můžete vyhledat také v případě, že máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází.

Při implementaci metody, která je identifikována jako událost Trasování událostí pro Windows v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty a jako implementovaná metoda podobně jako v následujícím příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Platí pro

WriteEvent(Int32, Int64, Int64, Int64)

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru události a 64bitových argumentů.

protected:
 void WriteEvent(int eventId, long arg1, long arg2, long arg3);
protected void WriteEvent (int eventId, long arg1, long arg2, long arg3);
member this.WriteEvent : int * int64 * int64 * int64 -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Long, arg2 As Long, arg3 As Long)

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
Int64

64bitový celočíselný argument.

arg2
Int64

64bitový celočíselný argument.

arg3
Int64

64bitový celočíselný argument.

Poznámky

eventid hodnota by měla být větší než 0 nebo menší než 65535, jinak může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte ladicí program připojený k událostem aktivace procesu. Chyby hlášené ve streamu událostí Pro Windows můžete vyhledat také v případě, že máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází.

Při implementaci metody, která je identifikována jako událost Trasování událostí pro Windows v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty a jako implementovaná metoda podobně jako v následujícím příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Platí pro

WriteEvent(Int32, Int32, Int32, Int32)

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru události a 32bitových celočíselných argumentů.

protected:
 void WriteEvent(int eventId, int arg1, int arg2, int arg3);
protected void WriteEvent (int eventId, int arg1, int arg2, int arg3);
member this.WriteEvent : int * int * int * int -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Integer, arg2 As Integer, arg3 As Integer)

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
Int32

Celočíselný argument.

arg2
Int32

Celočíselný argument.

arg3
Int32

Celočíselný argument.

Poznámky

eventid hodnota by měla být větší než 0 nebo menší než 65535, jinak může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte ladicí program připojený k událostem aktivace procesu. Chyby hlášené ve streamu událostí Pro Windows můžete vyhledat také v případě, že máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází.

Při implementaci metody, která je identifikována jako událost Trasování událostí pro Windows v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty a jako implementovaná metoda podobně jako v následujícím příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Platí pro

WriteEvent(Int32, String, String)

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru události a řetězcových argumentů.

protected:
 void WriteEvent(int eventId, System::String ^ arg1, System::String ^ arg2);
protected void WriteEvent (int eventId, string arg1, string arg2);
protected void WriteEvent (int eventId, string? arg1, string? arg2);
member this.WriteEvent : int * string * string -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As String, arg2 As String)

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
String

Řetězcový argument.

arg2
String

Řetězcový argument.

Poznámky

eventid hodnota by měla být větší než 0 nebo menší než 65535, jinak může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte ladicí program připojený k událostem aktivace procesu. Chyby hlášené ve streamu událostí Pro Windows můžete vyhledat také v případě, že máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází.

Při implementaci metody, která je identifikována jako událost Trasování událostí pro Windows v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty a jako implementovaná metoda podobně jako v následujícím příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Platí pro

WriteEvent(Int32, String, Int64)

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru a argumentů události.

protected:
 void WriteEvent(int eventId, System::String ^ arg1, long arg2);
protected void WriteEvent (int eventId, string arg1, long arg2);
protected void WriteEvent (int eventId, string? arg1, long arg2);
member this.WriteEvent : int * string * int64 -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As String, arg2 As Long)

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
String

Řetězcový argument.

arg2
Int64

64bitový celočíselný argument.

Poznámky

eventid hodnota by měla být větší než 0 nebo menší než 65535, jinak může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte k událostem spouštění procesu připojený ladicí program. Pokud máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází, můžete také vyhledat chyby hlášené ve streamu událostí pro Windows.

Při implementaci metody, která je identifikovaná jako událost etw v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty jako implementovaná metoda podobná následujícímu příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Platí pro

WriteEvent(Int32, String, Int32)

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru a argumentů události.

protected:
 void WriteEvent(int eventId, System::String ^ arg1, int arg2);
protected void WriteEvent (int eventId, string arg1, int arg2);
protected void WriteEvent (int eventId, string? arg1, int arg2);
member this.WriteEvent : int * string * int -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As String, arg2 As Integer)

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
String

Řetězcový argument.

arg2
Int32

32bitový celočíselný argument.

Poznámky

eventid by měla být větší než 0 nebo menší než 65535 nebo může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte k událostem spouštění procesu připojený ladicí program. Pokud máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází, můžete také vyhledat chyby hlášené ve streamu událostí pro Windows.

Při implementaci metody, která je identifikovaná jako událost etw v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty jako implementovaná metoda podobná následujícímu příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Platí pro

WriteEvent(Int32, Int64, String)

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru události a 64bitového celého čísla a řetězcových argumentů.

protected:
 void WriteEvent(int eventId, long arg1, System::String ^ arg2);
protected void WriteEvent (int eventId, long arg1, string arg2);
protected void WriteEvent (int eventId, long arg1, string? arg2);
member this.WriteEvent : int * int64 * string -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Long, arg2 As String)

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
Int64

64bitový celočíselný argument.

arg2
String

Řetězcový argument.

Poznámky

eventid by měla být větší než 0 nebo menší než 65535 nebo může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte k událostem spouštění procesu připojený ladicí program. Pokud máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází, můžete také vyhledat chyby hlášené ve streamu událostí pro Windows.

Při implementaci metody, která je identifikovaná jako událost etw v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty jako implementovaná metoda podobná následujícímu příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(Int64 arg1, string arg2)
{
    base.WriteEvent(2, arg1, arg2);
}

Platí pro

WriteEvent(Int32, Int64, Int64)

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru události a 64bitových argumentů.

protected:
 void WriteEvent(int eventId, long arg1, long arg2);
protected void WriteEvent (int eventId, long arg1, long arg2);
member this.WriteEvent : int * int64 * int64 -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Long, arg2 As Long)

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
Int64

64bitový celočíselný argument.

arg2
Int64

64bitový celočíselný argument.

Poznámky

eventid by měla být větší než 0 nebo menší než 65535 nebo může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte k událostem spouštění procesu připojený ladicí program. Pokud máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází, můžete také vyhledat chyby hlášené ve streamu událostí pro Windows.

Při implementaci metody, která je identifikovaná jako událost etw v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty jako implementovaná metoda podobná následujícímu příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Platí pro

WriteEvent(Int32, Int32, Int32)

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru události a 32bitových celočíselných argumentů.

protected:
 void WriteEvent(int eventId, int arg1, int arg2);
protected void WriteEvent (int eventId, int arg1, int arg2);
member this.WriteEvent : int * int * int -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Integer, arg2 As Integer)

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
Int32

Celočíselný argument.

arg2
Int32

Celočíselný argument.

Poznámky

eventid by měla být větší než 0 nebo menší než 65535 nebo může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte k událostem spouštění procesu připojený ladicí program. Pokud máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází, můžete také vyhledat chyby hlášené ve streamu událostí pro Windows.

Při implementaci metody, která je identifikovaná jako událost etw v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty jako implementovaná metoda podobná následujícímu příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(int arg1, int arg2, int arg3)
{
    base.WriteEvent(2, arg1);
}

Platí pro

WriteEvent(Int32, Int32, String)

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru události a 32bitových celočíselných a řetězcových argumentů.

protected:
 void WriteEvent(int eventId, int arg1, System::String ^ arg2);
protected void WriteEvent (int eventId, int arg1, string arg2);
protected void WriteEvent (int eventId, int arg1, string? arg2);
member this.WriteEvent : int * int * string -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Integer, arg2 As String)

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
Int32

32bitový celočíselný argument.

arg2
String

Řetězcový argument.

Platí pro

WriteEvent(Int32, String)

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru události a řetězcového argumentu.

protected:
 void WriteEvent(int eventId, System::String ^ arg1);
protected void WriteEvent (int eventId, string arg1);
protected void WriteEvent (int eventId, string? arg1);
member this.WriteEvent : int * string -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As String)

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
String

Řetězcový argument.

Příklady

Následující příklad ukazuje, jak použít přetížení této metody k zápisu události. Tento příklad kódu je součástí většího příkladu EventSource pro třídu.

[Event(1, Message = "Application Failure: {0}", Level = EventLevel.Error, Keywords = Keywords.Diagnostic)]
public void Failure(string message) { WriteEvent(1, message); }
<[Event](1, Message:="Application Failure: {0}", Level:=EventLevel.Error, Keywords:=Keywords.Diagnostic)> _
Public Sub Failure(ByVal message As String)
    WriteEvent(1, message)
End Sub

Poznámky

eventid by měla být větší než 0 nebo menší než 65535 nebo může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte k událostem spouštění procesu připojený ladicí program. Pokud máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází, můžete také vyhledat chyby hlášené ve streamu událostí pro Windows.

Při implementaci metody, která je identifikovaná jako událost etw v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty jako implementovaná metoda podobná následujícímu příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Platí pro

WriteEvent(Int32, Object[])

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru události a pole argumentů.

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

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

args
Object[]

Pole objektů.

Poznámky

Ve výchozím nastavení kompilátor volá toto přetížení, pokud parametry volání neodpovídají některému z přetížení metody. Toto přetížení je mnohem pomalejší než ostatní přetížení, protože provádí následující:

  1. Přidělí pole, které bude obsahovat argument proměnné.

  2. Přetypuje každý parametr na objekt (což způsobí přidělení pro primitivní typy).

  3. Přiřadí tyto objekty k poli.

  4. Volá funkci, která pak určuje typ každého argumentu, aby mohl být serializován pro trasování událostí pro windows.

Vysoká režie pro toto přetížení není při trasování událostí s malým objemem významná, protože metoda se používá pouze v případě, že je povolený zprostředkovatel. U událostí s velkým objemem ale může být režie na výkon značná. Použití datových částí s velkými objemy se můžete vyhnout EventSource.WriteEvent vytvořením nového, rychlejšího přetížení metodou WriteEventCore .

eventid by měla být větší než 0 nebo menší než 65535 nebo může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte k událostem spouštění procesu připojený ladicí program. Pokud máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází, můžete také vyhledat chyby hlášené ve streamu událostí pro Windows.

Při implementaci metody, která je identifikovaná jako událost etw v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty jako implementovaná metoda podobná následujícímu příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Platí pro

WriteEvent(Int32, Int64)

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru události a 64bitového celočíselného argumentu.

protected:
 void WriteEvent(int eventId, long arg1);
protected void WriteEvent (int eventId, long arg1);
member this.WriteEvent : int * int64 -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Long)

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
Int64

64bitový celočíselný argument.

Poznámky

eventid by měla být větší než 0 nebo menší než 65535 nebo může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte k událostem spouštění procesu připojený ladicí program. Pokud máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází, můžete také vyhledat chyby hlášené ve streamu událostí pro Windows.

Při implementaci metody, která je identifikovaná jako událost etw v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty jako implementovaná metoda podobná následujícímu příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Platí pro

WriteEvent(Int32, Int32)

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru události a 32bitového celočíselného argumentu.

protected:
 void WriteEvent(int eventId, int arg1);
protected void WriteEvent (int eventId, int arg1);
member this.WriteEvent : int * int -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Integer)

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
Int32

Celočíselný argument.

Příklady

Následující příklad ukazuje, jak použít přetížení této metody k zápisu události. Tento příklad kódu je součástí většího příkladu EventSource pro třídu.

[Event(4, Opcode = EventOpcode.Stop, Task = Tasks.Page, Keywords = Keywords.Page, Level = EventLevel.Informational)]
public void PageStop(int ID) { if (IsEnabled()) WriteEvent(4, ID); }
<[Event](4, Opcode:=EventOpcode.Stop, Task:=Tasks.Page, Keywords:=Keywords.Page, Level:=EventLevel.Informational)> _
Public Sub PageStop(ByVal ID As Integer)
    If IsEnabled() Then
        WriteEvent(4, ID)
    End If
End Sub

Poznámky

eventid by měla být větší než 0 nebo menší než 65535 nebo může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte k událostem spouštění procesu připojený ladicí program. Pokud máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází, můžete také vyhledat chyby hlášené ve streamu událostí pro Windows.

Při implementaci metody, která je identifikovaná jako událost etw v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty jako implementovaná metoda podobná následujícímu příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(int  arg1)
{
    base.WriteEvent(2, arg1);
}

Platí pro

WriteEvent(Int32, EventSource+EventSourcePrimitive[])

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru události a proměnného počtu primitiv zdroje událostí.

protected:
 void WriteEvent(int eventId, ... cli::array <System::Diagnostics::Tracing::EventSource::EventSourcePrimitive> ^ args);
protected void WriteEvent (int eventId, params System.Diagnostics.Tracing.EventSource.EventSourcePrimitive[] args);
member this.WriteEvent : int * System.Diagnostics.Tracing.EventSource.EventSourcePrimitive[] -> unit
Protected Sub WriteEvent (eventId As Integer, ParamArray args As EventSource.EventSourcePrimitive())

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

args
EventSource.EventSourcePrimitive[]

Primitiva zdroje událostí.

Poznámky

Toto je pomocník varargs pro psaní události. Vytvoří pole a zarovná všechny argumenty, takže je relativně neefektivní a měl by se používat pouze pro relativně vzácné události (například méně než 100 za sekundu). Pokud jsou vaše sazby rychlejší, použijte WriteEventCore(Int32, Int32, EventSource+EventData*) k vytvoření rychlých pomocných rutin pro konkrétní signaturu metody. I když toto volání použijete pro vzácné události, mělo by být toto volání střeženo kontrolou IsEnabled() , aby se volání varargs neprovedla, když není zdroj událostí aktivní.

Platí pro

WriteEvent(Int32, Byte[])

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru události a argumentu pole bajtů.

protected:
 void WriteEvent(int eventId, cli::array <System::Byte> ^ arg1);
protected void WriteEvent (int eventId, byte[] arg1);
protected void WriteEvent (int eventId, byte[]? arg1);
member this.WriteEvent : int * byte[] -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Byte())

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
Byte[]

Argument pole bajtů.

Poznámky

eventid by měla být větší než 0 nebo menší než 65535 nebo může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte k událostem spouštění procesu připojený ladicí program. Pokud máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází, můžete také vyhledat chyby hlášené ve streamu událostí pro Windows.

Při implementaci metody, která je identifikovaná jako událost etw v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty jako implementovaná metoda podobná následujícímu příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(byte[] arg1)
{
    base.WriteEvent(2, arg1);
}

Platí pro

WriteEvent(Int32)

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše událost pomocí zadaného identifikátoru události.

protected:
 void WriteEvent(int eventId);
protected void WriteEvent (int eventId);
member this.WriteEvent : int -> unit
Protected Sub WriteEvent (eventId As Integer)

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

Příklady

Následující příklad ukazuje, jak použít přetížení této metody k zápisu události. Tento příklad kódu je součástí většího příkladu EventSource pro třídu.

[Event(1, Message = "Application Failure: {0}", Level = EventLevel.Error, Keywords = Keywords.Diagnostic)]
public void Failure(string message) { WriteEvent(1, message); }
<[Event](1, Message:="Application Failure: {0}", Level:=EventLevel.Error, Keywords:=Keywords.Diagnostic)> _
Public Sub Failure(ByVal message As String)
    WriteEvent(1, message)
End Sub

Poznámky

eventid by měla být větší než 0 nebo menší než 65535 nebo může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte k událostem spouštění procesu připojený ladicí program. Pokud máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází, můžete také vyhledat chyby hlášené ve streamu událostí pro Windows.

Při implementaci metody, která je identifikovaná jako událost etw v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty jako implementovaná metoda podobná následujícímu příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Platí pro

WriteEvent(Int32, Int64, Byte[])

Zdroj:
EventSource.cs
Zdroj:
EventSource.cs
Zdroj:
EventSource.cs

Zapíše data události pomocí zadaného identifikátoru a 64bitových celočíselných a bajtových argumentů pole.

protected:
 void WriteEvent(int eventId, long arg1, cli::array <System::Byte> ^ arg2);
protected void WriteEvent (int eventId, long arg1, byte[] arg2);
protected void WriteEvent (int eventId, long arg1, byte[]? arg2);
member this.WriteEvent : int * int64 * byte[] -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Long, arg2 As Byte())

Parametry

eventId
Int32

Identifikátor události. Tato hodnota by měla být mezi 0 a 65535.

arg1
Int64

64bitový celočíselný argument.

arg2
Byte[]

Argument pole bajtů.

Poznámky

eventid by měla být větší než 0 nebo menší než 65535 nebo může v operaci dojít k chybám. Pokud dojde k chybám, můžete získat další informace o zdroji chyby kontrolou výstupního streamu ladicího programu, pokud máte k událostem spouštění procesu připojený ladicí program. Pokud máte naslouchací proces Trasování událostí pro Windows ve zdroji událostí, kde k chybě dochází, můžete také vyhledat chyby hlášené ve streamu událostí pro Windows.

Při implementaci metody, která je identifikovaná jako událost etw v odvozené EventSourcetřídě. Je nutné volat metodu základní třídy WriteEvent , která EventId předává stejné argumenty jako implementovaná metoda podobná následujícímu příkladu.

[Event(2, Level = EventLevel.Informational)]
public void Info1(Int64 arg1, Byte[] arg2)
{
    base.WriteEvent(2, arg1, arg2);
}

Platí pro