EventInstance コンストラクター
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
言語に依存しない情報を使用して、 EventInstance クラスの新しいインスタンスを初期化して、イベント ログ エントリを定義します。
オーバーロード
| 名前 | 説明 |
|---|---|
| EventInstance(Int64, Int32) |
イベント エントリのローカライズされたメッセージとカテゴリ テキストの指定したリソース識別子を使用して、 EventInstance クラスの新しいインスタンスを初期化します。 |
| EventInstance(Int64, Int32, EventLogEntryType) |
イベント エントリのローカライズされたメッセージとカテゴリ テキストの指定したリソース識別子と、指定したイベント ログ エントリの種類を使用して、 EventInstance クラスの新しいインスタンスを初期化します。 |
EventInstance(Int64, Int32)
- ソース:
- EventData.cs
- ソース:
- EventData.cs
- ソース:
- EventData.cs
- ソース:
- EventData.cs
- ソース:
- EventData.cs
- ソース:
- EventData.cs
- ソース:
- EventData.cs
- ソース:
- EventData.cs
- ソース:
- EventData.cs
イベント エントリのローカライズされたメッセージとカテゴリ テキストの指定したリソース識別子を使用して、 EventInstance クラスの新しいインスタンスを初期化します。
public:
EventInstance(long instanceId, int categoryId);
public EventInstance(long instanceId, int categoryId);
new System.Diagnostics.EventInstance : int64 * int -> System.Diagnostics.EventInstance
Public Sub New (instanceId As Long, categoryId As Integer)
パラメーター
- instanceId
- Int64
イベント ソースのメッセージ リソース ファイルで定義されている文字列に対応するリソース識別子。
- categoryId
- Int32
イベント ソースのカテゴリ リソース ファイルで定義されている文字列に対応するリソース識別子。イベントのカテゴリを指定しない場合は 0。
例外
instanceId パラメーターは、負の値または UInt32.MaxValue より大きい値です。
-又は-
categoryId パラメーターは、負の値または UInt16.MaxValue より大きい値です。
例
次のコード例では、情報イベント エントリを書き込み、 EventInstance を再利用して、警告イベントのエントリを既存のイベント ログに書き込みます。 イベント メッセージ テキストは、メッセージ リソース ファイル内のリソース識別子を使用して指定されます。 このコード例では、対応するメッセージ リソース ファイルがソースに登録されていることを前提としています。
// Ensure that the source has already been registered using
// EventLogInstaller or EventLog.CreateEventSource.
string sourceName = "SampleApplicationSource";
if(EventLog.SourceExists(sourceName))
{
// Define an informational event with no category.
// The message identifier corresponds to the message text in the
// message resource file defined for the source.
EventInstance myEvent = new EventInstance(UpdateCycleCompleteMsgId, 0);
// Write the event to the event log using the registered source.
EventLog.WriteEvent(sourceName, myEvent);
// Reuse the event data instance for another event entry.
// Set the entry category and message identifiers for
// the appropriate resource identifiers in the resource files
// for the registered source. Set the event type to Warning.
myEvent.CategoryId = RefreshCategoryMsgId;
myEvent.EntryType = EventLogEntryType.Warning;
myEvent.InstanceId = ServerConnectionDownMsgId;
// Write the event to the event log using the registered source.
// Insert the machine name into the event message text.
EventLog.WriteEvent(sourceName, myEvent, Environment.MachineName);
}
else
{
Console.WriteLine("Warning - event source {0} not registered",
sourceName);
}
' Ensure that the source has already been registered using
' EventLogInstaller or EventLog.CreateEventSource.
Dim sourceName as String = "SampleApplicationSource"
If EventLog.SourceExists(sourceName)
' Define an informational event with no category.
' The message identifier corresponds to the message text in the
' message resource file defined for the source.
Dim myEvent As EventInstance = New EventInstance(UpdateCycleCompleteMsgId, 0)
' Write the event to the event log using the registered source.
EventLog.WriteEvent(sourceName, myEvent)
' Reuse the event data instance for another event entry.
' Set the entry category and message identifiers for
' the appropriate resource identifiers in the resource files
' for the registered source. Set the event type to Warning.
myEvent.CategoryId = RefreshCategoryMsgId
myEvent.EntryType = EventLogEntryType.Warning
myEvent.InstanceId = ServerConnectionDownMsgId
' Write the event to the event log using the registered source.
' Insert the machine name into the event message text.
EventLog.WriteEvent(sourceName, myEvent, Environment.MachineName)
Else
Console.WriteLine("Warning - event source {0} not registered", _
sourceName)
End If
このコード例では、リソース ライブラリ EventLogMsgs.dllに組み込まれている次のメッセージ テキスト ファイルを使用します。 メッセージ テキスト ファイルは、メッセージ リソース ファイルの作成元のソースです。 メッセージ テキスト ファイルは、カテゴリ、イベント メッセージ、およびパラメーター挿入文字列のリソース識別子とテキストを定義します。
; // EventLogMsgs.mc
; // ********************************************************
; // Use the following commands to build this file:
; // mc -s EventLogMsgs.mc
; // rc EventLogMsgs.rc
; // link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res
; // ********************************************************
; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************
MessageId=0x1
Severity=Success
SymbolicName=INSTALL_CATEGORY
Language=English
Installation
.
MessageId=0x2
Severity=Success
SymbolicName=QUERY_CATEGORY
Language=English
Database Query
.
MessageId=0x3
Severity=Success
SymbolicName=REFRESH_CATEGORY
Language=English
Data Refresh
.
; // - Event messages -
; // *********************************
MessageId = 1000
Severity = Success
Facility = Application
SymbolicName = AUDIT_SUCCESS_MESSAGE_ID_1000
Language=English
My application message text, in English, for message id 1000, called from %1.
.
MessageId = 1001
Severity = Warning
Facility = Application
SymbolicName = AUDIT_FAILED_MESSAGE_ID_1001
Language=English
My application message text, in English, for message id 1001, called from %1.
.
MessageId = 1002
Severity = Success
Facility = Application
SymbolicName = GENERIC_INFO_MESSAGE_ID_1002
Language=English
My generic information message in English, for message id 1002.
.
MessageId = 1003
Severity = Warning
Facility = Application
SymbolicName = GENERIC_WARNING_MESSAGE_ID_1003
Language=English
My generic warning message in English, for message id 1003, called from %1.
.
MessageId = 1004
Severity = Success
Facility = Application
SymbolicName = UPDATE_CYCLE_COMPLETE_MESSAGE_ID_1004
Language=English
The update cycle is complete for %%5002.
.
MessageId = 1005
Severity = Warning
Facility = Application
SymbolicName = SERVER_CONNECTION_DOWN_MESSAGE_ID_1005
Language=English
The refresh operation did not complete because the connection to server %1 could not be established.
.
; // - Event log display name -
; // ********************************************************
MessageId = 5001
Severity = Success
Facility = Application
SymbolicName = EVENT_LOG_DISPLAY_NAME_MSGID
Language=English
Sample Event Log
.
; // - Event message parameters -
; // Language independent insertion strings
; // ********************************************************
MessageId = 5002
Severity = Success
Facility = Application
SymbolicName = EVENT_LOG_SERVICE_NAME_MSGID
Language=English
SVC_UPDATE.EXE
.
注釈
情報エントリをイベント ログに書き込むには、 EventInstance を初期化し、 WriteEvent メソッドに渡します。
instanceIdを、ソースの対応する MessageResourceFile プロパティ内のイベント メッセージのリソース識別子に設定します。
categoryIdを数値のカテゴリ値、またはソースの CategoryResourceFile プロパティのイベント カテゴリのリソース識別子に設定します。イベント カテゴリがない場合は、categoryIdを 0 に設定します。 新しいインスタンスの EntryType プロパティは、既定で Information に設定されます。
イベント ビューアーは、リソース識別子を使用して、ソースのローカライズされたリソース ファイルの対応する文字列を表示します。 リソース識別子を使用してイベントを書き込む前に、ソースを対応するリソース ファイルに登録する必要があります。
こちらもご覧ください
適用対象
EventInstance(Int64, Int32, EventLogEntryType)
- ソース:
- EventData.cs
- ソース:
- EventData.cs
- ソース:
- EventData.cs
- ソース:
- EventData.cs
- ソース:
- EventData.cs
- ソース:
- EventData.cs
- ソース:
- EventData.cs
- ソース:
- EventData.cs
- ソース:
- EventData.cs
イベント エントリのローカライズされたメッセージとカテゴリ テキストの指定したリソース識別子と、指定したイベント ログ エントリの種類を使用して、 EventInstance クラスの新しいインスタンスを初期化します。
public:
EventInstance(long instanceId, int categoryId, System::Diagnostics::EventLogEntryType entryType);
public EventInstance(long instanceId, int categoryId, System.Diagnostics.EventLogEntryType entryType);
new System.Diagnostics.EventInstance : int64 * int * System.Diagnostics.EventLogEntryType -> System.Diagnostics.EventInstance
Public Sub New (instanceId As Long, categoryId As Integer, entryType As EventLogEntryType)
パラメーター
- instanceId
- Int64
イベント ソースのメッセージ リソース ファイルで定義されている文字列に対応するリソース識別子。
- categoryId
- Int32
イベント ソースのカテゴリ リソース ファイルで定義されている文字列に対応するリソース識別子。イベントのカテゴリを指定しない場合は 0。
- entryType
- EventLogEntryType
イベントの種類を示す EventLogEntryType 値。
例外
entryType が有効な EventLogEntryType 値ではありません。
例
次のコード例では、イベント ログ myNewLogに 2 つの監査イベント エントリを書き込みます。 コード例では、ローカル コンピューターに存在しない場合は、新しいイベント ソースと新しいイベント ログを作成します。 イベント メッセージ テキストは、リソース ファイル内のリソース識別子を使用して指定されます。
// Create the event source if it does not exist.
string sourceName = "SampleApplicationSource";
if(!EventLog.SourceExists(sourceName))
{
// Call a local method to register the event log source
// for the event log "myNewLog." Use the resource file
// EventLogMsgs.dll in the current directory for message text.
string messageFile = String.Format("{0}\\{1}",
System.Environment.CurrentDirectory,
"EventLogMsgs.dll");
CreateEventSourceSample1(messageFile);
}
// Get the event log corresponding to the existing source.
string myLogName = EventLog.LogNameFromSourceName(sourceName,".");
EventLog myEventLog = new EventLog(myLogName, ".", sourceName);
// Define two audit events.
// The message identifiers correspond to the message text in the
// message resource file defined for the source.
EventInstance myAuditSuccessEvent = new EventInstance(AuditSuccessMsgId, 0, EventLogEntryType.SuccessAudit);
EventInstance myAuditFailEvent = new EventInstance(AuditFailedMsgId, 0, EventLogEntryType.FailureAudit);
// Insert the method name into the event log message.
string [] insertStrings = {"EventLogSamples.WriteEventSample1"};
// Write the events to the event log.
myEventLog.WriteEvent(myAuditSuccessEvent, insertStrings);
// Append binary data to the audit failure event entry.
byte [] binaryData = { 3, 4, 5, 6 };
myEventLog.WriteEvent(myAuditFailEvent, binaryData, insertStrings);
Dim sourceName As String = "SampleApplicationSource"
' Create the event source if it does not exist.
If Not EventLog.SourceExists(sourceName)
' Call a local method to register the event log source
' for the event log "myNewLog." Use the resource file
' EventLogMsgs.dll in the current directory for message text.
Dim messageFile As String = String.Format("{0}\\{1}", _
System.Environment.CurrentDirectory, _
"EventLogMsgs.dll")
CreateEventSourceSample1(messageFile)
End If
' Get the event log corresponding to the existing source.
Dim myLogName As String = EventLog.LogNameFromSourceName(sourceName,".")
Dim myEventLog As EventLog = new EventLog(myLogName, ".", sourceName)
' Define two audit events.
Dim myAuditSuccessEvent As EventInstance = new EventInstance(AuditSuccessMsgId, 0, EventLogEntryType.SuccessAudit)
Dim myAuditFailEvent As EventInstance = new EventInstance(AuditFailedMsgId, 0, EventLogEntryType.FailureAudit)
' Insert the method name into the event log message.
Dim insertStrings() As String = {"EventLogSamples.WriteEventSample1"}
' Write the events to the event log.
myEventLog.WriteEvent(myAuditSuccessEvent, insertStrings)
' Append binary data to the audit failure event entry.
Dim binaryData() As Byte = { 7, 8, 9, 10 }
myEventLog.WriteEvent(myAuditFailEvent, binaryData, insertStrings)
このコード例では、リソース ライブラリ EventLogMsgs.dllに組み込まれている次のメッセージ テキスト ファイルを使用します。 メッセージ テキスト ファイルは、メッセージ リソース ファイルの作成元のソースです。 メッセージ テキスト ファイルは、カテゴリ、イベント メッセージ、およびパラメーター挿入文字列のリソース識別子とテキストを定義します。
; // EventLogMsgs.mc
; // ********************************************************
; // Use the following commands to build this file:
; // mc -s EventLogMsgs.mc
; // rc EventLogMsgs.rc
; // link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res
; // ********************************************************
; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************
MessageId=0x1
Severity=Success
SymbolicName=INSTALL_CATEGORY
Language=English
Installation
.
MessageId=0x2
Severity=Success
SymbolicName=QUERY_CATEGORY
Language=English
Database Query
.
MessageId=0x3
Severity=Success
SymbolicName=REFRESH_CATEGORY
Language=English
Data Refresh
.
; // - Event messages -
; // *********************************
MessageId = 1000
Severity = Success
Facility = Application
SymbolicName = AUDIT_SUCCESS_MESSAGE_ID_1000
Language=English
My application message text, in English, for message id 1000, called from %1.
.
MessageId = 1001
Severity = Warning
Facility = Application
SymbolicName = AUDIT_FAILED_MESSAGE_ID_1001
Language=English
My application message text, in English, for message id 1001, called from %1.
.
MessageId = 1002
Severity = Success
Facility = Application
SymbolicName = GENERIC_INFO_MESSAGE_ID_1002
Language=English
My generic information message in English, for message id 1002.
.
MessageId = 1003
Severity = Warning
Facility = Application
SymbolicName = GENERIC_WARNING_MESSAGE_ID_1003
Language=English
My generic warning message in English, for message id 1003, called from %1.
.
MessageId = 1004
Severity = Success
Facility = Application
SymbolicName = UPDATE_CYCLE_COMPLETE_MESSAGE_ID_1004
Language=English
The update cycle is complete for %%5002.
.
MessageId = 1005
Severity = Warning
Facility = Application
SymbolicName = SERVER_CONNECTION_DOWN_MESSAGE_ID_1005
Language=English
The refresh operation did not complete because the connection to server %1 could not be established.
.
; // - Event log display name -
; // ********************************************************
MessageId = 5001
Severity = Success
Facility = Application
SymbolicName = EVENT_LOG_DISPLAY_NAME_MSGID
Language=English
Sample Event Log
.
; // - Event message parameters -
; // Language independent insertion strings
; // ********************************************************
MessageId = 5002
Severity = Success
Facility = Application
SymbolicName = EVENT_LOG_SERVICE_NAME_MSGID
Language=English
SVC_UPDATE.EXE
.
注釈
イベント ログにエントリを書き込むには、 EventInstance を初期化し、 WriteEvent メソッドに渡します。
instanceIdを、ソースの対応する MessageResourceFile プロパティ内のイベント メッセージのリソース識別子に設定します。
categoryIdを数値のカテゴリ値、またはソースの CategoryResourceFile プロパティのイベント カテゴリのリソース識別子に設定します。イベント カテゴリがない場合は、categoryIdを 0 に設定します。
イベント ビューアーは、リソース識別子を使用して、ソースのローカライズされたリソース ファイルの対応する文字列を表示します。 リソース識別子を使用してイベントを書き込む前に、ソースを対応するリソース ファイルに登録する必要があります。
entryTypeを定義済みのエントリの種類のいずれかに設定します。 イベント ビューアーは、イベント の種類を使用して、イベント ログのリスト ビューに表示するアイコンを決定します。