EventProvider.WriteEvent Yöntem

Tanım

Bir olay yazar.

Aşırı Yüklemeler

WriteEvent(EventDescriptor, Object[])

Bir olay yazar. Olay verileri bir nesne dizisi olarak belirtilir.

WriteEvent(EventDescriptor, String)

Bir olay yazar. Olay verileri dize olarak belirtilir.

WriteEvent(EventDescriptor, Int32, IntPtr)

Bir olay yazar. Olay verileri bir bellek bloğu olarak belirtilir.

Açıklamalar

Olaylarınızı tanımlamak için bir bildirim kullanıyorsanız bu yöntemleri kullanın.

WriteEvent(EventDescriptor, Object[])

Bir olay yazar. Olay verileri bir nesne dizisi olarak belirtilir.

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

Yazacak olayı tanımlayan bir örneği EventDescriptor .

eventPayload
Object[]

Yazacak olay verilerini içeren bir nesne dizisi. Nesne bildirimde belirtilen sırada olmalıdır. Dizi 32 nesneyle sınırlıdır ve bunlardan yalnızca sekizi dize olabilir. Olay için maksimum veri boyutu, olay üst bilgilerinin boyutu eksi 64 KB ile sınırlıdır. Oturumun arabellek boyutu daha küçükse ve oturum olayla birlikte genişletilmiş veri öğeleri içeriyorsa olay boyutu daha azdır.

Bu parametre null olabilir.

Döndürülenler

Olay true yazıldıysa, yazıldıysa, falseolur. False ise, hatanın GetLastWriteEventError() nedenini belirlemek için yöntemini çağırın.

Öznitelikler

Özel durumlar

eventPayload parametresi çok fazla nesne veya dize içeriyor.

Ö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

Olay için bir etkinlik tanımlayıcısı belirtmek üzere yöntemini çağırırsanız SetActivityId , bu yöntem tanımlayıcıyı iş parçacığı bağlamından alır ve olayına ekler.

Nesne türü desteklenmiyorsa, yöntemi nesnenin Object.ToString yönteminin değerini yüke yazar. Desteklenen nesne türlerinin listesi için bkz. Sınıfın EventProvider Açıklamaları.

Şunlara uygulanır

WriteEvent(EventDescriptor, String)

Bir olay yazar. Olay verileri dize olarak belirtilir.

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

Yazacak olayı tanımlayan bir örneği EventDescriptor .

data
String

Olay verileri olarak yazacak dize.

Döndürülenler

Olay true yazıldıysa, yazıldıysa, falseolur. False ise, hatanın GetLastWriteEventError() nedenini belirlemek için yöntemini çağırın.

Öznitelikler

Özel durumlar

ise datanull.

Ö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

Olay için bir etkinlik tanımlayıcısı belirtmek üzere yöntemini çağırırsanız SetActivityId , bu yöntem tanımlayıcıyı iş parçacığı bağlamından alır ve olayına ekler.

En fazla dize uzunluğu, olay üst bilgilerinin boyutu çıkarılırken 64 KB ile sınırlıdır. Oturumun arabellek boyutu daha küçükse ve oturum olayla birlikte genişletilmiş veri öğeleri içeriyorsa olay boyutu daha azdır.

Şunlara uygulanır

WriteEvent(EventDescriptor, Int32, IntPtr)

Bir olay yazar. Olay verileri bir bellek bloğu olarak belirtilir.

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

Yazacak olayı tanımlayan bir örneği EventDescriptor .

dataCount
Int32

Parametrenin işaret ettiği olay verilerinin data boyutu. En büyük olay verisi boyutu, olay üst bilgilerinin boyutu eksi 64 KB ile sınırlıdır. Oturumun arabellek boyutu daha küçükse ve oturum olayla birlikte genişletilmiş veri öğeleri içeriyorsa olay boyutu daha azdır.

data
IntPtr

nativeint

Yazacak olay verilerinin işaretçisi.

Döndürülenler

Olay true yazıldıysa, yazıldıysa, falseolur. False ise, hatanın GetLastWriteEventError() nedenini belirlemek için yöntemini çağırın.

Öznitelikler

Açıklamalar

Olay için bir etkinlik tanımlayıcısı belirtmek üzere yöntemini çağırırsanız SetActivityId , bu yöntem tanımlayıcıyı iş parçacığı bağlamından alır ve olayına ekler.

Şunlara uygulanır