Bagikan melalui


EventProvider.WriteEvent Metode

Definisi

Menulis peristiwa.

Overload

WriteEvent(EventDescriptor, Object[])

Menulis peristiwa. Data peristiwa ditentukan sebagai array objek.

WriteEvent(EventDescriptor, String)

Menulis peristiwa. Data peristiwa ditentukan sebagai string.

WriteEvent(EventDescriptor, Int32, IntPtr)

Menulis peristiwa. Data peristiwa ditentukan sebagai blok memori.

Keterangan

Gunakan metode ini jika Anda menggunakan manifes untuk menentukan peristiwa Anda.

WriteEvent(EventDescriptor, Object[])

Menulis peristiwa. Data peristiwa ditentukan sebagai array objek.

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

Instans EventDescriptor yang mengidentifikasi peristiwa yang akan ditulis.

eventPayload
Object[]

Array objek yang berisi data peristiwa untuk ditulis. Objek harus dalam urutan yang ditentukan dalam manifes. Array dibatasi hingga 32 objek, di mana hanya delapan yang mungkin berupa string. Ukuran data maksimum untuk peristiwa dibatasi hingga 64 KB dikurangi ukuran header peristiwa. Ukuran peristiwa lebih kecil jika ukuran buffer sesi kurang dan sesi menyertakan item data yang diperluas dengan peristiwa tersebut.

Parameter ini dapat berupa null.

Mengembalikan

Apakah true jika peristiwa ditulis; jika tidak, false. Jika false, panggil GetLastWriteEventError() metode untuk menentukan penyebab kegagalan.

Atribut

Pengecualian

Parameter eventPayload berisi terlalu banyak objek atau string.

Contoh

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

Keterangan

Jika Anda memanggil SetActivityId metode untuk menentukan pengidentifikasi aktivitas untuk peristiwa tersebut, metode ini mengambil pengidentifikasi dari konteks utas dan menyertakannya dengan peristiwa.

Jika jenis objek tidak didukung, metode menulis nilai metode objek Object.ToString dalam payload. Untuk daftar jenis objek yang didukung, lihat Keterangan untuk EventProvider kelas .

Berlaku untuk

WriteEvent(EventDescriptor, String)

Menulis peristiwa. Data peristiwa ditentukan sebagai 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

Parameter

eventDescriptor
EventDescriptor

Instans EventDescriptor yang mengidentifikasi peristiwa yang akan ditulis.

data
String

String yang akan ditulis sebagai data peristiwa.

Mengembalikan

Apakah true jika peristiwa ditulis; jika tidak, false. Jika false, panggil GetLastWriteEventError() metode untuk menentukan penyebab kegagalan.

Atribut

Pengecualian

Jika data adalah null.

Contoh

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

Keterangan

Jika Anda memanggil SetActivityId metode untuk menentukan pengidentifikasi aktivitas untuk peristiwa tersebut, metode ini mengambil pengidentifikasi dari konteks utas dan menyertakannya dengan peristiwa.

Panjang string maksimum dibatasi hingga 64 KB dikurangi ukuran header peristiwa. Ukuran peristiwa lebih kecil jika ukuran buffer sesi kurang dan sesi menyertakan item data yang diperluas dengan peristiwa tersebut.

Berlaku untuk

WriteEvent(EventDescriptor, Int32, IntPtr)

Menulis peristiwa. Data peristiwa ditentukan sebagai blok memori.

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

Instans EventDescriptor yang mengidentifikasi peristiwa yang akan ditulis.

dataCount
Int32

Ukuran data peristiwa tempat parameter menunjuk data . Ukuran data peristiwa maksimum dibatasi hingga 64 KB dikurangi ukuran header peristiwa. Ukuran peristiwa lebih kecil jika ukuran buffer sesi kurang dan sesi menyertakan item data yang diperluas dengan peristiwa tersebut.

data
IntPtr

nativeint

Arahkan ke data peristiwa untuk ditulis.

Mengembalikan

Apakah true jika peristiwa ditulis; jika tidak, false. Jika false, panggil GetLastWriteEventError() metode untuk menentukan penyebab kegagalan.

Atribut

Keterangan

Jika Anda memanggil SetActivityId metode untuk menentukan pengidentifikasi aktivitas untuk peristiwa tersebut, metode ini mengambil pengidentifikasi dari konteks utas dan menyertakannya dengan peristiwa.

Berlaku untuk