EventProvider.WriteEvent メソッド

定義

イベントを書き込みます。

オーバーロード

WriteEvent(EventDescriptor, Object[])

イベントを書き込みます。 イベント データは、オブジェクトの配列として指定します。

WriteEvent(EventDescriptor, String)

イベントを書き込みます。 イベント データは文字列として指定します。

WriteEvent(EventDescriptor, Int32, IntPtr)

イベントを書き込みます。 イベント データは、メモリのブロックとして指定します。

注釈

マニフェストを使用してイベントを定義する場合は、これらのメソッドを使用します。

WriteEvent(EventDescriptor, Object[])

イベントを書き込みます。 イベント データは、オブジェクトの配列として指定します。

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

パラメーター

eventDescriptor
EventDescriptor

書き込むイベントを識別する EventDescriptor のインスタンス。

eventPayload
Object[]

書き込むイベント データを格納するオブジェクトの配列。 オブジェクトは、マニフェストに指定された順序で格納されている必要があります。 配列は 32 オブジェクトまでに制限され、そのうちの 8 つを文字列にすることができます。 イベントの最大データ サイズは、64 KB からイベント ヘッダーのサイズを差し引いた値になります。 セッションのバッファー サイズが小さい場合や、イベントを含んだ拡張データ項目がセッションに存在する場合、イベント サイズはこれよりも小さくなります。

このパラメーターには、null を指定できます。

戻り値

イベントが書き込まれた場合は true。それ以外の場合は false。 false の場合は、GetLastWriteEventError() メソッドを呼び出すことで、失敗の原因を調べることができます。

属性

例外

eventPayload パラメーターに指定されたオブジェクトまたは文字列が多すぎます。

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

注釈

メソッドを SetActivityId 呼び出してイベントのアクティビティ識別子を指定すると、このメソッドはスレッド コンテキストから識別子を取得し、イベントに含めます。

オブジェクト型がサポートされていない場合、メソッドはペイロードにオブジェクトの メソッドの Object.ToString 値を書き込みます。 サポートされているオブジェクト型の一覧については、 クラスの備考に関するページを EventProvider 参照してください。

適用対象

WriteEvent(EventDescriptor, 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

パラメーター

eventDescriptor
EventDescriptor

書き込むイベントを識別する EventDescriptor のインスタンス。

data
String

イベント データとして書き込む文字列。

戻り値

イベントが書き込まれた場合は true。それ以外の場合は false。 false の場合は、GetLastWriteEventError() メソッドを呼び出すことで、失敗の原因を調べることができます。

属性

例外

datanull の場合。

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

注釈

メソッドを SetActivityId 呼び出してイベントのアクティビティ識別子を指定すると、このメソッドはスレッド コンテキストから識別子を取得し、イベントに含めます。

文字列の最大長は、64 KB からイベント ヘッダーのサイズを差し引いた値に制限されます。 セッションのバッファー サイズが小さい場合や、イベントを含んだ拡張データ項目がセッションに存在する場合、イベント サイズはこれよりも小さくなります。

適用対象

WriteEvent(EventDescriptor, Int32, IntPtr)

イベントを書き込みます。 イベント データは、メモリのブロックとして指定します。

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

パラメーター

eventDescriptor
EventDescriptor

書き込むイベントを識別する EventDescriptor のインスタンス。

dataCount
Int32

data パラメーターが指すイベント データのサイズ。 イベント データの最大サイズは、64 KB からイベント ヘッダーのサイズを差し引いた値になります。 セッションのバッファー サイズが小さい場合や、イベントを含んだ拡張データ項目がセッションに存在する場合、イベント サイズはこれよりも小さくなります。

data
IntPtr

nativeint

書き込むイベント データへのポインター。

戻り値

イベントが書き込まれた場合は true。それ以外の場合は false。 false の場合は、GetLastWriteEventError() メソッドを呼び出すことで、失敗の原因を調べることができます。

属性

注釈

メソッドを SetActivityId 呼び出してイベントのアクティビティ識別子を指定すると、このメソッドはスレッド コンテキストから識別子を取得し、イベントに含めます。

適用対象