EventProvider.WriteEvent メソッド

定義

イベントを書き込みます。Writes an event.

オーバーロード

WriteEvent(EventDescriptor, Object[])

イベントを書き込みます。Writes an event. イベント データは、オブジェクトの配列として指定します。The event data is specified as an array of objects.

WriteEvent(EventDescriptor, String)

イベントを書き込みます。Writes an event. イベント データは文字列として指定します。The event data is specified as a string.

WriteEvent(EventDescriptor, Int32, IntPtr)

イベントを書き込みます。Writes an event. イベント データは、メモリのブロックとして指定します。The event data is specified as a block of memory.

注釈

マニフェストを使用してイベントを定義する場合は、これらのメソッドを使用します。Use these methods if you use a manifest to define your events.

WriteEvent(EventDescriptor, Object[])

イベントを書き込みます。Writes an event. イベント データは、オブジェクトの配列として指定します。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

パラメーター

eventDescriptor
EventDescriptor

書き込むイベントを識別する EventDescriptor のインスタンス。An instance of EventDescriptor that identifies the event to write.

eventPayload
Object[]

書き込むイベント データを格納するオブジェクトの配列。An array of objects that contain the event data to write. オブジェクトは、マニフェストに指定された順序で格納されている必要があります。The object must be in the order specified in the manifest. 配列は 32 オブジェクトまでに制限され、そのうちの 8 つを文字列にすることができます。The array is limited to 32 objects, of which only eight may be strings. イベントの最大データ サイズは、64 KB からイベント ヘッダーのサイズを差し引いた値になります。The maximum data size for the event is limited to 64 KB minus the size of the event headers. セッションのバッファー サイズが小さい場合や、イベントを含んだ拡張データ項目がセッションに存在する場合、イベント サイズはこれよりも小さくなります。The event size is less if the session's buffer size is less and the session includes extended data items with the event.

このパラメーターには、null を指定できます。This parameter can be null.

戻り値

Boolean

イベントが書き込まれた場合は true。それ以外の場合は falseIs true if the event is written; otherwise, false. false の場合は、GetLastWriteEventError() メソッドを呼び出すことで、失敗の原因を調べることができます。If false, call the GetLastWriteEventError() method to determine the cause of the failure.

属性

例外

eventPayload パラメーターに指定されたオブジェクトまたは文字列が多すぎます。The eventPayload parameter contains too many objects or strings.

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 イベントのアクティビティ識別子を指定すると、このメソッドはスレッドコンテキストから識別子を取得し、その識別子をイベントに含めます。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.

オブジェクトの型がサポートされていない場合、メソッドは、オブジェクトのメソッドの値を Object.ToString ペイロードに書き込みます。If the object type is not supported, the method writes the value of the object's Object.ToString method in the payload. サポートされているオブジェクトの種類の一覧については、クラスの「解説」を参照してください EventProviderFor a list of supported object types, see the Remarks for the EventProvider class.

適用対象

WriteEvent(EventDescriptor, String)

イベントを書き込みます。Writes an event. イベント データは文字列として指定します。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

パラメーター

eventDescriptor
EventDescriptor

書き込むイベントを識別する EventDescriptor のインスタンス。An instance of EventDescriptor that identifies the event to write.

data
String

イベント データとして書き込む文字列。The string to write as the event data.

戻り値

Boolean

イベントが書き込まれた場合は true。それ以外の場合は falseIs true if the event is written; otherwise, false. false の場合は、GetLastWriteEventError() メソッドを呼び出すことで、失敗の原因を調べることができます。If false, call the GetLastWriteEventError() method to determine the cause of the failure.

属性

例外

datanull の場合。If data is null.

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 イベントのアクティビティ識別子を指定すると、このメソッドはスレッドコンテキストから識別子を取得し、その識別子をイベントに含めます。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.

最大文字列長は、64 KB からイベントヘッダーのサイズを差し引いた値に制限されます。The maximum string length is limited to 64 KB minus the size of the event headers. セッションのバッファー サイズが小さい場合や、イベントを含んだ拡張データ項目がセッションに存在する場合、イベント サイズはこれよりも小さくなります。The event size is less if the session's buffer size is less and the session includes extended data items with the event.

適用対象

WriteEvent(EventDescriptor, Int32, IntPtr)

イベントを書き込みます。Writes an event. イベント データは、メモリのブロックとして指定します。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

パラメーター

eventDescriptor
EventDescriptor

書き込むイベントを識別する EventDescriptor のインスタンス。An instance of EventDescriptor that identifies the event to write.

dataCount
Int32

data パラメーターが指すイベント データのサイズ。Size of the event data to which the data parameter points. イベント データの最大サイズは、64 KB からイベント ヘッダーのサイズを差し引いた値になります。The maximum event data size is limited to 64 KB minus the size of the event headers. セッションのバッファー サイズが小さい場合や、イベントを含んだ拡張データ項目がセッションに存在する場合、イベント サイズはこれよりも小さくなります。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

書き込むイベント データへのポインター。Pointer to the event data to write.

戻り値

Boolean

イベントが書き込まれた場合は true。それ以外の場合は falseIs true if the event is written; otherwise, false. false の場合は、GetLastWriteEventError() メソッドを呼び出すことで、失敗の原因を調べることができます。If false, call the GetLastWriteEventError() method to determine the cause of the failure.

属性

注釈

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

適用対象