Freigeben über


EventProvider.WriteEvent Methode

Definition

Schreibt ein Ereignis.

Überlädt

WriteEvent(EventDescriptor, Object[])

Schreibt ein Ereignis. Die Ereignisdaten werden als Objektarray angegeben.

WriteEvent(EventDescriptor, String)

Schreibt ein Ereignis. Die Ereignisdaten werden als Zeichenfolge angegeben.

WriteEvent(EventDescriptor, Int32, IntPtr)

Schreibt ein Ereignis. Die Ereignisdaten werden als Speicherblock angegeben.

Hinweise

Verwenden Sie diese Methoden, wenn Sie ein Manifest verwenden, um Ihre Ereignisse zu definieren.

WriteEvent(EventDescriptor, Object[])

Schreibt ein Ereignis. Die Ereignisdaten werden als Objektarray angegeben.

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

Parameter

eventDescriptor
EventDescriptor

Eine Instanz von EventDescriptor, die das zu schreibende Ereignis identifiziert.

eventPayload
Object[]

Ein Array von Objekten, die die zu schreibenden Ereignisdaten enthalten. Die Objekte müssen in der im Manifest angegebenen Reihenfolge angeordnet sein. Das Array ist auf 32 Objekte beschränkt, von denen nur acht Objekte Zeichenfolgen sein dürfen. Die maximale Datengröße für das Ereignis ist auf 64 KB abzüglich der Größe der Ereignisheader beschränkt. Die Ereignisgröße ist geringer, wenn die Puffergröße der Sitzung geringer ist und die Sitzung erweiterte Datenelemente für das Ereignis enthält.

Dieser Parameter kann NULL sein.

Gibt zurück

Ist true, wenn das Ereignis geschrieben wird, andernfalls false. Wenn der Wert false ist, rufen Sie die GetLastWriteEventError()-Methode auf, um die Ursache des Fehlers zu ermitteln.

Attribute

Ausnahmen

Der eventPayload-Parameter enthält zu viele Objekte oder Zeichenfolgen.

Beispiele

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();  

Hinweise

Wenn Sie die SetActivityId -Methode aufrufen, um einen Aktivitätsbezeichner für das Ereignis anzugeben, ruft diese Methode den Bezeichner aus dem Threadkontext ab und schließt ihn in das -Ereignis ein.

Wenn der Objekttyp nicht unterstützt wird, schreibt die -Methode den Wert der -Methode des Object.ToString Objekts in die Nutzlast. Eine Liste der unterstützten Objekttypen finden Sie in den Hinweisen zur EventProvider -Klasse.

Gilt für:

WriteEvent(EventDescriptor, String)

Schreibt ein Ereignis. Die Ereignisdaten werden als Zeichenfolge angegeben.

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

Parameter

eventDescriptor
EventDescriptor

Eine Instanz von EventDescriptor, die das zu schreibende Ereignis identifiziert.

data
String

Die als Ereignisdaten zu schreibende Zeichenfolge.

Gibt zurück

Ist true, wenn das Ereignis geschrieben wird, andernfalls false. Wenn der Wert false ist, rufen Sie die GetLastWriteEventError()-Methode auf, um die Ursache des Fehlers zu ermitteln.

Attribute

Ausnahmen

Wenn data gleich null ist.

Beispiele

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();  

Hinweise

Wenn Sie die SetActivityId -Methode aufrufen, um einen Aktivitätsbezeichner für das Ereignis anzugeben, ruft diese Methode den Bezeichner aus dem Threadkontext ab und schließt ihn in das -Ereignis ein.

Die maximale Zeichenfolgenlänge ist auf 64 KB abzüglich der Größe der Ereignisheader beschränkt. Die Ereignisgröße ist geringer, wenn die Puffergröße der Sitzung geringer ist und die Sitzung erweiterte Datenelemente für das Ereignis enthält.

Gilt für:

WriteEvent(EventDescriptor, Int32, IntPtr)

Schreibt ein Ereignis. Die Ereignisdaten werden als Speicherblock angegeben.

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

Parameter

eventDescriptor
EventDescriptor

Eine Instanz von EventDescriptor, die das zu schreibende Ereignis identifiziert.

dataCount
Int32

Die Größe der Ereignisdaten, auf die der data-Parameter zeigt. Die maximale Ereignisdatengröße ist auf 64 KB abzüglich der Größe der Ereignisheader beschränkt. Die Ereignisgröße ist geringer, wenn die Puffergröße der Sitzung geringer ist und die Sitzung erweiterte Datenelemente für das Ereignis enthält.

data
IntPtr

nativeint

Der Zeiger auf die zu schreibenden Ereignisdaten.

Gibt zurück

Ist true, wenn das Ereignis geschrieben wird, andernfalls false. Wenn der Wert false ist, rufen Sie die GetLastWriteEventError()-Methode auf, um die Ursache des Fehlers zu ermitteln.

Attribute

Hinweise

Wenn Sie die SetActivityId -Methode aufrufen, um einen Aktivitätsbezeichner für das Ereignis anzugeben, ruft diese Methode den Bezeichner aus dem Threadkontext ab und schließt ihn in das -Ereignis ein.

Gilt für: