EventInstanceとは? わかりやすく解説

EventInstance クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

イベント ログ エントリの言語に中立的な情報を表します。

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

Dim instance As EventInstance
public class EventInstance
public ref class EventInstance
public class EventInstance
public class EventInstance
解説解説

文字列値ではなくリソース識別子を使用してイベント ログ エントリを書き込むには、EventInstance を使用します。イベント ログ エントリを書き込むには、InstanceId プロパティを初期化して、インスタンスを WriteEvent メソッドに渡します。イベント ビューアでは、インスタンス識別子を使用して、ローカライズされたリソース ファイルから、現在の言語設定に基づく対応する文字列を検索して表示させることができます。リソース識別子を使用してイベントを書き込むには、対応するリソース ファイルでイベント ソースを登録しておく必要があります。

イベントを書き込むときに、EntryType プロパティを設定して、イベント ビューアがエントリに対して表示するアイコンを指定できます。CategoryId プロパティを指定して、イベント ビューアがエントリに対して表示するカテゴリを指定することもできます。

イベント ビューアでは、カテゴリを使用することにより、イベント ソースによって書き込まれたイベントをフィルタ処理できます。イベント ビューアには、カテゴリを数値として表示させたり、カテゴリをリソース識別子として使用して、ローカライズされたカテゴリ文字列を表示させたりすることもできます。

ローカライズされたカテゴリ文字列をイベント ビューアに表示するには、カテゴリ リソース ファイルで構成されたイベント ソースを使用し、CategoryId を、カテゴリ リソース ファイル内のリソース識別子に設定する必要があります。イベント ソースに構成済みのカテゴリ リソース ファイルがないか、指定された CategoryId がカテゴリ リソース ファイル内の文字列のインデックスを作成していない場合、イベント ビューアは、そのエントリのカテゴリ値を表示します。EventLogInstaller または EventSourceCreationData クラスを使用して、カテゴリ リソース ファイルを構成し、リソース ファイル内のカテゴリ文字列数を設定します。

EventInstance を使用して WriteEvent メソッドでイベントを書き込む前に、イベント ログのソースを登録する必要があります。ソースは、ローカライズされたエントリをログに書き込むように構成する必要があります。また、ソースは少なくとも 1 つのメッセージ リソース ファイルを定義する必要があります。

アプリケーションのインストール時に新しいイベント ソースを作成します。これにより、オペレーティング システムが、登録されたイベント ソースとその構成の一覧を更新するための時間的余裕が生まれます。イベント ソースの一覧がオペレーティング システムにより更新されていないとき、新しいソースでイベントを書き込もうとすると、書き込み操作が失敗します。新しいソースは、EventLogInstaller または CreateEventSource メソッドを使用して構成できます。新しいイベント ソースを作成するには、コンピュータの管理者権限が必要です。

イベント メッセージの定義およびイベント ログ リソース ファイルの作成の詳細については、http://www.microsoft.com/japan/msdn のプラットフォーム SDK ドキュメントで「Message Compiler」のトピックを参照してください。

Windows 98, Windows Millennium Edition プラットフォームメモ : イベント ログは、Windows 98 または Windows Millennium Edition (Me) ではサポートされていません。

使用例使用例

情報イベント エントリを書き込んだ後、EventInstance を再利用して、既存のイベント ログに警告イベントのエントリを書き込むコード例を次に示します。イベントのメッセージ テキストは、メッセージ リソース ファイルでリソース識別子を使用して指定されます。このコード例では、ソースに対して、対応するメッセージ リソース ファイルが登録されていることを前提にしています。

' 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

// 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.
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 = gcnew EventInstance( UpdateCycleCompleteMsgId,0 );

   // Write the event to the event log using the registered source.
   EventLog::WriteEvent( sourceName, myEvent, 0 );

   // 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.
   array<String^>^ss = {Environment::MachineName};
   EventLog::WriteEvent( sourceName, myEvent, ss );
}
else
{
   Console::WriteLine( "Warning - event source {0} not registered", sourceName
 );
}

コード例では、リソース ライブラリ 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
.
継承階層継承階層
System.Object
  System.Diagnostics.EventInstance
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
EventInstance メンバ
System.Diagnostics 名前空間
System.Diagnostics.EventLog.WriteEvent
System.Diagnostics.EventLogEntry

EventInstance コンストラクタ (Int64, Int32)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

イベント エントリのローカライズされたメッセージおよびカテゴリ テキストに指定されたリソース識別子を使用して、EventInstance クラスの新しいインスタンスを初期化します。

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    instanceId As Long, _
    categoryId As Integer _
)
Dim instanceId As Long
Dim categoryId As Integer

Dim instance As New EventInstance(instanceId,
 categoryId)
public EventInstance (
    long instanceId,
    int categoryId
)
public:
EventInstance (
    long long instanceId, 
    int categoryId
)
public EventInstance (
    long instanceId, 
    int categoryId
)
public function EventInstance (
    instanceId : long, 
    categoryId : int
)

パラメータ

instanceId

イベント ソースのメッセージ リソース ファイルで定義された文字列に対応するリソース識別子。

categoryId

イベント ソースのカテゴリ リソース ファイルで定義された文字列に対応するリソース識別子。イベントにカテゴリを指定しない場合は、ゼロになります。

例外例外
例外の種類条件

ArgumentOutOfRangeException

instanceId パラメータは、負の値または UInt32.MaxValue より大きい値です。

または

categoryId パラメータは、負の値または UInt16.MaxValue より大きい値です。

解説解説
使用例使用例

情報イベント エントリを書き込んだ後、EventInstance を再利用して、既存のイベント ログに警告イベントのエントリを書き込むコード例を次に示します。イベントのメッセージ テキストは、メッセージ リソース ファイルでリソース識別子を使用して指定されます。このコード例では、ソースに対して、対応するメッセージ リソース ファイルが登録されていることを前提にしています。

' 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

// 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.
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 = gcnew EventInstance( UpdateCycleCompleteMsgId,0 );

   // Write the event to the event log using the registered source.
   EventLog::WriteEvent( sourceName, myEvent, 0 );

   // 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.
   array<String^>^ss = {Environment::MachineName};
   EventLog::WriteEvent( sourceName, myEvent, ss );
}
else
{
   Console::WriteLine( "Warning - event source {0} not registered", sourceName
 );
}

コード例では、リソース ライブラリ 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 クラス
EventInstance メンバ
System.Diagnostics 名前空間
EventInstance.CategoryId
EventInstance.InstanceId
System.Diagnostics.EventLog.WriteEvent
System.Diagnostics.EventSourceCreationData

EventInstance コンストラクタ

イベント ログ エントリを定義する言語に中立的な情報を使用して、EventInstance クラスの新しいインスタンスを初期化します。
オーバーロードの一覧オーバーロードの一覧

参照参照

関連項目

EventInstance クラス
EventInstance メンバ
System.Diagnostics 名前空間
EventInstance.CategoryId
EventInstance.InstanceId
System.Diagnostics.EventLog.WriteEvent
System.Diagnostics.EventSourceCreationData

EventInstance コンストラクタ (Int64, Int32, EventLogEntryType)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

イベント エントリのローカライズされたメッセージとカテゴリ テキストに指定されたリソース識別子および指定されたイベント ログ エントリの種類を使用して、EventInstance クラスの新しいインスタンスを初期化します。

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    instanceId As Long, _
    categoryId As Integer, _
    entryType As EventLogEntryType _
)
Dim instanceId As Long
Dim categoryId As Integer
Dim entryType As EventLogEntryType

Dim instance As New EventInstance(instanceId,
 categoryId, entryType)
public EventInstance (
    long instanceId,
    int categoryId,
    EventLogEntryType entryType
)
public:
EventInstance (
    long long instanceId, 
    int categoryId, 
    EventLogEntryType entryType
)
public EventInstance (
    long instanceId, 
    int categoryId, 
    EventLogEntryType entryType
)
public function EventInstance (
    instanceId : long, 
    categoryId : int, 
    entryType : EventLogEntryType
)

パラメータ

instanceId

イベント ソースのメッセージ リソース ファイルで定義された文字列に対応するリソース識別子。

categoryId

イベント ソースのカテゴリ リソース ファイルで定義された文字列に対応するリソース識別子。イベントにカテゴリを指定しない場合は、ゼロになります。

entryType

イベントの種類を示す EventLogEntryType 値。

例外例外
例外の種類条件

InvalidEnumArgumentException

entryType が有効な EventLogEntryType 値ではありません。

ArgumentOutOfRangeException

instanceId は、負の値または UInt32.MaxValue より大きい値です。

または

categoryId は、負の値または UInt16.MaxValue より大きい値です。

解説解説
使用例使用例

2 つの監査イベント エントリをイベント ログ myNewLog に書き込むコード例を次に示します。イベント ソースおよびイベント ログがローカル コンピュータに存在しない場合は、これらが新たに作成されます。イベントのメッセージ テキストは、リソース ファイルでリソース識別子を使用して指定されます。

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

// 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 = gcnew 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 = gcnew EventInstance( AuditSuccessMsgId,0,EventLogEntryType::SuccessAudit
 );
EventInstance ^ myAuditFailEvent = gcnew EventInstance( AuditFailedMsgId,0,EventLogEntryType::FailureAudit
 );

// Insert the method name into the event log message.
array<String^>^insertStrings = {"EventLogSamples.WriteEventSample1"};

// Write the events to the event log.
myEventLog->WriteEvent( myAuditSuccessEvent, insertStrings );

// Append binary data to the audit failure event entry.
array<Byte>^binaryData = {3,4,5,6};
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 クラス
EventInstance メンバ
System.Diagnostics 名前空間
EventInstance.CategoryId
EventInstance.InstanceId
System.Diagnostics.EventLogEntry
System.Diagnostics.EventLog.WriteEvent
System.Diagnostics.EventSourceCreationData

EventInstance プロパティ


EventInstance メソッド


EventInstance メンバ

イベント ログ エントリの言語に中立的な情報を表します。

EventInstance データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

EventInstance クラス
System.Diagnostics 名前空間
System.Diagnostics.EventLog.WriteEvent
System.Diagnostics.EventLogEntry



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「EventInstance」の関連用語

EventInstanceのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



EventInstanceのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS