Udostępnij za pośrednictwem


EventProvider.WriteEvent Metoda

Definicja

Zapisuje zdarzenie.

Przeciążenia

WriteEvent(EventDescriptor, Object[])

Zapisuje zdarzenie. Dane zdarzenia są określane jako tablica obiektów.

WriteEvent(EventDescriptor, String)

Zapisuje zdarzenie. Dane zdarzenia są określane jako ciąg.

WriteEvent(EventDescriptor, Int32, IntPtr)

Zapisuje zdarzenie. Dane zdarzenia są określane jako blok pamięci.

Uwagi

Użyj tych metod, jeśli użyjesz manifestu do zdefiniowania zdarzeń.

WriteEvent(EventDescriptor, Object[])

Zapisuje zdarzenie. Dane zdarzenia są określane jako tablica obiektów.

public:
 bool WriteEvent(System::Diagnostics::Eventing::EventDescriptor % eventDescriptor, ... cli::array <System::Object ^> ^ eventPayload);
[System.Security.SecurityCritical]
public bool WriteEvent (ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, params object[] eventPayload);
public bool WriteEvent (ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, params object[] eventPayload);
[<System.Security.SecurityCritical>]
member this.WriteEvent : EventDescriptor * obj[] -> bool
member this.WriteEvent : EventDescriptor * obj[] -> bool
Public Function WriteEvent (ByRef eventDescriptor As EventDescriptor, ParamArray eventPayload As Object()) As Boolean

Parametry

eventDescriptor
EventDescriptor

Wystąpienie klasy EventDescriptor identyfikuje zdarzenie do zapisania.

eventPayload
Object[]

Tablica obiektów, które zawierają dane zdarzenia do zapisania. Obiekt musi być w kolejności określonej w manifeście. Tablica jest ograniczona do 32 obiektów, z których tylko osiem może być ciągami. Maksymalny rozmiar danych zdarzenia jest ograniczony do 64 KB pomniejszonego o rozmiar nagłówków zdarzeń. Rozmiar zdarzenia jest mniejszy, jeśli rozmiar buforu sesji jest mniejszy, a sesja zawiera rozszerzone elementy danych ze zdarzeniem.

Ten parametr może mieć wartość null.

Zwraca

Czy true zdarzenie jest zapisywane; w przeciwnym razie . false Jeśli wartość false, wywołaj metodę GetLastWriteEventError() , aby określić przyczynę błędu.

Atrybuty

Wyjątki

Parametr eventPayload zawiera zbyt wiele obiektów lub ciągów.

Przykłady

private static Guid providerId = new Guid("{FB33FDA8-45FB-4df0-8A55-EEB4BA88E7E7}");  

enum Keyword  
{  
    Read = 0x1,  
    Write = 0x2,  
    Local = 0x4,  
    Remote = 0x8  
}  

enum Level  
{  
    Critical = 1,  
    Error,  
    Warning,  
    Information,  
    Verbose  
}  

    EventProvider provider = new EventProvider(providerId);  
    EventDescriptor readEvent;  
    string path = @"<PATHGOESHERE>";  
    UInt64 bytesRead = <ASSIGNVALUE>;  

    if (provider.IsEnabled(Level.Information, (long)Keyword.Read))  
    {  
        unchecked  
        {  
            readEvent = new EventDescriptor(0x1, 0x0, 0x10, 0x4, 0x0, 0x0, (long)0x8000000000000005);  
        }  

        if (!provider.WriteEvent(ref readEvent, new object[] { path, bytesRead }))  
            Console.WriteLine(EventProvider.GetLastWriteEventError());  
    }  

    provider.Close();  

Uwagi

Jeśli wywołasz metodę SetActivityId w celu określenia identyfikatora działania zdarzenia, ta metoda pobiera identyfikator z kontekstu wątku i dołącza go do zdarzenia.

Jeśli typ obiektu nie jest obsługiwany, metoda zapisuje wartość metody obiektu Object.ToString w ładunku. Aby uzyskać listę obsługiwanych typów obiektów, zobacz uwagi dotyczące EventProvider klasy.

Dotyczy

WriteEvent(EventDescriptor, String)

Zapisuje zdarzenie. Dane zdarzenia są określane jako ciąg.

public:
 bool WriteEvent(System::Diagnostics::Eventing::EventDescriptor % eventDescriptor, System::String ^ data);
[System.Security.SecurityCritical]
public bool WriteEvent (ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, string data);
[<System.Security.SecurityCritical>]
member this.WriteEvent : EventDescriptor * string -> bool
Public Function WriteEvent (ByRef eventDescriptor As EventDescriptor, data As String) As Boolean

Parametry

eventDescriptor
EventDescriptor

Wystąpienie klasy EventDescriptor identyfikuje zdarzenie do zapisania.

data
String

Ciąg do zapisania jako danych zdarzenia.

Zwraca

Czy true zdarzenie jest zapisywane; w przeciwnym razie . false Jeśli wartość false, wywołaj metodę GetLastWriteEventError() , aby określić przyczynę błędu.

Atrybuty

Wyjątki

Jeśli data wartość to null.

Przykłady

private static Guid providerId = new Guid("{FB33FDA8-45FB-4df0-8A55-EEB4BA88E7E7}");  

EventProvider provider = new EventProvider(providerId);  
EventDescriptor writeEvent;  

if (provider.IsEnabled())  
{  
     unchecked  
     {  
          writeEvent = new EventDescriptor(0x2, 0x0, 0x10, 0x3, 0x0, 0x0, (long)0x8000000000000006);  
     }  

     if (!provider.WriteEvent(ref writeEvent, "Write event."))  
          Console.WriteLine(EventProvider.GetLastWriteEventError());  
}  

provider.Close();  

Uwagi

Jeśli wywołasz metodę SetActivityId w celu określenia identyfikatora działania zdarzenia, ta metoda pobiera identyfikator z kontekstu wątku i dołącza go do zdarzenia.

Maksymalna długość ciągu jest ograniczona do 64 KB pomniejszona o rozmiar nagłówków zdarzeń. Rozmiar zdarzenia jest mniejszy, jeśli rozmiar buforu sesji jest mniejszy, a sesja zawiera rozszerzone elementy danych ze zdarzeniem.

Dotyczy

WriteEvent(EventDescriptor, Int32, IntPtr)

Zapisuje zdarzenie. Dane zdarzenia są określane jako blok pamięci.

protected:
 bool WriteEvent(System::Diagnostics::Eventing::EventDescriptor % eventDescriptor, int dataCount, IntPtr data);
[System.Security.SecurityCritical]
protected bool WriteEvent (ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, int dataCount, IntPtr data);
[<System.Security.SecurityCritical>]
member this.WriteEvent : EventDescriptor * int * nativeint -> bool
Protected Function WriteEvent (ByRef eventDescriptor As EventDescriptor, dataCount As Integer, data As IntPtr) As Boolean

Parametry

eventDescriptor
EventDescriptor

Wystąpienie klasy EventDescriptor identyfikuje zdarzenie do zapisania.

dataCount
Int32

Rozmiar danych zdarzenia, do których data wskazuje parametr. Maksymalny rozmiar danych zdarzenia jest ograniczony do 64 KB pomniejszonego o rozmiar nagłówków zdarzeń. Rozmiar zdarzenia jest mniejszy, jeśli rozmiar buforu sesji jest mniejszy, a sesja zawiera rozszerzone elementy danych ze zdarzeniem.

data
IntPtr

nativeint

Wskaźnik do danych zdarzenia do zapisania.

Zwraca

Czy true zdarzenie jest zapisywane; w przeciwnym razie . false Jeśli wartość false, wywołaj metodę GetLastWriteEventError() , aby określić przyczynę błędu.

Atrybuty

Uwagi

Jeśli wywołasz metodę SetActivityId w celu określenia identyfikatora działania zdarzenia, ta metoda pobiera identyfikator z kontekstu wątku i dołącza go do zdarzenia.

Dotyczy