EventProvider.WriteEvent メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
イベントを書き込みます。
オーバーロード
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() メソッドを呼び出すことで、失敗の原因を調べることができます。
- 属性
例外
data
が 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 呼び出してイベントのアクティビティ識別子を指定すると、このメソッドはスレッド コンテキストから識別子を取得し、イベントに含めます。
文字列の最大長は、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 呼び出してイベントのアクティビティ識別子を指定すると、このメソッドはスレッド コンテキストから識別子を取得し、イベントに含めます。
適用対象
.NET