EventProvider.WriteEvent Yöntem

Tanım

Bir olay yazar.Writes an event.

Aşırı Yüklemeler

WriteEvent(EventDescriptor, Object[])

Bir olay yazar.Writes an event. Olay verileri bir nesne dizisi olarak belirtilir.The event data is specified as an array of objects.

WriteEvent(EventDescriptor, String)

Bir olay yazar.Writes an event. Olay verileri bir dize olarak belirtilir.The event data is specified as a string.

WriteEvent(EventDescriptor, Int32, IntPtr)

Bir olay yazar.Writes an event. Olay verileri bir bellek bloğu olarak belirtilir.The event data is specified as a block of memory.

Açıklamalar

Olaylarınızı tanımlamak için bir bildirim kullanıyorsanız bu yöntemleri kullanın.Use these methods if you use a manifest to define your events.

WriteEvent(EventDescriptor, Object[])

Bir olay yazar.Writes an event. Olay verileri bir nesne dizisi olarak belirtilir.The event data is specified as an array of objects.

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

Parametreler

eventDescriptor
EventDescriptor

EventDescriptorYazılacak olayı tanımlayan bir örneği.An instance of EventDescriptor that identifies the event to write.

eventPayload
Object[]

Yazılacak olay verilerini içeren bir nesne dizisi.An array of objects that contain the event data to write. Nesne bildirimde belirtilen sırada olmalıdır.The object must be in the order specified in the manifest. Dizi, yalnızca sekiz dize olabilecek 32 nesneleriyle sınırlıdır.The array is limited to 32 objects, of which only eight may be strings. Olay için en büyük veri boyutu 64 KB ile sınırlıdır ve olay üst bilgilerinin boyutudur.The maximum data size for the event is limited to 64 KB minus the size of the event headers. Oturumun arabellek boyutu daha küçükse ve oturum genişletilmiş veri öğelerini olaya içeriyorsa Olay boyutu küçüktür.The event size is less if the session's buffer size is less and the session includes extended data items with the event.

Bu parametre null olabilir.This parameter can be null.

Döndürülenler

Boolean

trueOlay yazılmışsa, aksi durumda, false .Is true if the event is written; otherwise, false. Yanlışsa, GetLastWriteEventError() hatanın nedenini öğrenmek için yöntemini çağırın.If false, call the GetLastWriteEventError() method to determine the cause of the failure.

Öznitelikler

Özel durumlar

eventPayloadParametre çok fazla nesne veya dize içeriyor.The eventPayload parameter contains too many objects or strings.

Örnekler

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

Açıklamalar

SetActivityIdOlay için bir etkinlik tanımlayıcısı belirtmek üzere yöntemini çağırırsanız, bu yöntem tanımlayıcıyı iş parçacığı bağlamından alır ve olayla birlikte içerir.If you call the SetActivityId method to specify an activity identifier for the event, this method retrieves the identifier from the thread context and includes it with the event.

Nesne türü desteklenmiyorsa, yöntemi Object.ToString Yük içindeki nesne yönteminin değerini yazar.If the object type is not supported, the method writes the value of the object's Object.ToString method in the payload. Desteklenen nesne türlerinin bir listesi için, sınıfının açıklamalarını inceleyin EventProvider .For a list of supported object types, see the Remarks for the EventProvider class.

Şunlara uygulanır

WriteEvent(EventDescriptor, String)

Bir olay yazar.Writes an event. Olay verileri bir dize olarak belirtilir.The event data is specified as a string.

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

Parametreler

eventDescriptor
EventDescriptor

EventDescriptorYazılacak olayı tanımlayan bir örneği.An instance of EventDescriptor that identifies the event to write.

data
String

Olay verileri olarak yazılacak dize.The string to write as the event data.

Döndürülenler

Boolean

trueOlay yazılmışsa, aksi durumda, false .Is true if the event is written; otherwise, false. Yanlışsa, GetLastWriteEventError() hatanın nedenini öğrenmek için yöntemini çağırın.If false, call the GetLastWriteEventError() method to determine the cause of the failure.

Öznitelikler

Özel durumlar

İse data null .If data is null.

Örnekler

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

Açıklamalar

SetActivityIdOlay için bir etkinlik tanımlayıcısı belirtmek üzere yöntemini çağırırsanız, bu yöntem tanımlayıcıyı iş parçacığı bağlamından alır ve olayla birlikte içerir.If you call the SetActivityId method to specify an activity identifier for the event, this method retrieves the identifier from the thread context and includes it with the event.

En fazla dize uzunluğu 64 KB ile, olay üst bilgilerinin boyutuyla sınırlıdır.The maximum string length is limited to 64 KB minus the size of the event headers. Oturumun arabellek boyutu daha küçükse ve oturum genişletilmiş veri öğelerini olaya içeriyorsa Olay boyutu küçüktür.The event size is less if the session's buffer size is less and the session includes extended data items with the event.

Şunlara uygulanır

WriteEvent(EventDescriptor, Int32, IntPtr)

Bir olay yazar.Writes an event. Olay verileri bir bellek bloğu olarak belirtilir.The event data is specified as a block of memory.

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

Parametreler

eventDescriptor
EventDescriptor

EventDescriptorYazılacak olayı tanımlayan bir örneği.An instance of EventDescriptor that identifies the event to write.

dataCount
Int32

dataParametrenin işaret ettiği olay verilerinin boyutu.Size of the event data to which the data parameter points. En büyük olay verisi boyutu 64 KB ile, olay üst bilgilerinin boyutuyla sınırlıdır.The maximum event data size is limited to 64 KB minus the size of the event headers. Oturumun arabellek boyutu daha küçükse ve oturum genişletilmiş veri öğelerini olaya içeriyorsa Olay boyutu küçüktür.The event size is less if the session's buffer size is less and the session includes extended data items with the event.

data
IntPtr

Yazılacak olay verilerinin işaretçisi.Pointer to the event data to write.

Döndürülenler

Boolean

trueOlay yazılmışsa, aksi durumda, false .Is true if the event is written; otherwise, false. Yanlışsa, GetLastWriteEventError() hatanın nedenini öğrenmek için yöntemini çağırın.If false, call the GetLastWriteEventError() method to determine the cause of the failure.

Öznitelikler

Açıklamalar

SetActivityIdOlay için bir etkinlik tanımlayıcısı belirtmek üzere yöntemini çağırırsanız, bu yöntem tanımlayıcıyı iş parçacığı bağlamından alır ve olayla birlikte içerir.If you call the SetActivityId method to specify an activity identifier for the event, this method retrieves the identifier from the thread context and includes it with the event.

Şunlara uygulanır