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

EventSourceCreationData クラス

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

ローカル コンピュータまたはリモート コンピュータでイベント ログ ソースを作成するために使用される構成設定を表します。

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

Public Class EventSourceCreationData
Dim instance As EventSourceCreationData
public class EventSourceCreationData
public ref class EventSourceCreationData
public class EventSourceCreationData
public class EventSourceCreationData
解説解説

ローカライズされたエントリをイベント ログに書き込むために新しいソースを構成するには、EventSourceCreationData クラスを使用します。イベント ログから読み込む場合、このクラスを使用する必要はありません。

このクラスは、新しいイベント ソースおよび関連するイベント ログの構成設定を定義します。関連するイベント ログは、ローカル コンピュータまたはリモート コンピュータに配置できます。ローカル コンピュータに新規または既存のイベント ログの新しいソースを作成するには、EventSourceCreationData の LogName プロパティおよび Source プロパティを設定して、EventLog.CreateEventSource(EventSourceCreationData) メソッドを呼び出します。このメソッドは、Source プロパティで指定したイベント ソースを作成して、LogName で指定されたイベント ログのイベント ソースとして登録します。この動作は、EventLogInstaller クラスを使用してイベント ログのイベント ソースを登録することに似ています。

イベントをイベント ログに書き込むには、WriteEvent メソッドおよび WriteEntry メソッドを使用します。イベントを書き込むには、イベント ソースを指定することが必要です。イベント ソースは、そのソースを持つ最初のエントリを書き込む前に作成および構成しておく必要があります。

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

既存のイベント ログまたは新しいイベント ログのイベント ソースを作成できます。新規イベント ログに対して新しいソースを作成すると、システムは、そのログのソースを登録しますが、ログは最初のエントリが書き込まれるまで作成されません。

各ソースは、同時に 1 つのイベント ログだけに書き込むことができます。ただし、アプリケーションは複数のソースを使用して、複数のイベント ログに書き込むことができます。たとえば、アプリケーションには、異なるイベント ログまたは異なるリソース ファイル用に構成された複数のソースが必要になる場合があります。

既存のソースの構成情報を変更するには、一度ソースを削除してから、新しい構成で作成し直す必要があります。他のアプリケーションまたはコンポーネントが既存のソースを使用している場合、既存のソースを削除するのではなく、更新された構成で新しいソースを作成します。

イベント カテゴリおよびメッセージ文字列のローカライズされたリソースにイベント ソースを登録できます。アプリケーションは、実際の文字列を指定するのではなく、リソース識別子を使用してイベント ログ エントリを書き込むことができます。イベント ビューアでは、リソース識別子を使用して、ローカライズされたリソース ファイルから、現在の言語設定に基づく対応する文字列を検索して表示させることができます。イベント カテゴリ、メッセージ、およびパラメータ挿入文字列に個別のファイルを登録することも、この 3 種類の文字列に同じリソース ファイルを登録することもできます。ローカライズされたエントリをイベント ログに書き込むようにソースを構成するには、CategoryCount、CategoryResourceFile、MessageResourceFile、および ParameterResourceFile の各プロパティを使用します。アプリケーションが文字列値を直接イベント ログに書き込む場合、これらのプロパティを設定する必要はありません。

ソースは、ローカライズされたエントリを書き込むか、または直接の文字列を書き込むように構成されている必要があります。WriteEntry メソッドは、指定された文字列をイベント ログに直接書き込みます。ローカライズされたメッセージ リソース ファイルは使用しません。ローカライズされたメッセージ リソース ファイルを使用してイベントを書き込むには、WriteEvent メソッドを使用します。

アプリケーションがリソース識別子と文字列値の両方を使用してエントリを書き込む場合、2 つの異なるソースを登録する必要があります。たとえば、複数のリソース ファイルを持つ 1 つのソースを構成してから、WriteEvent メソッドでこのソースを使用し、リソース識別子によってエントリをイベント ログに書き込みます。次に、リソース ファイルを使わずに作成した別のソースを WriteEntry メソッドで使用し、そのソースを使って文字列を直接イベント ログに書き込みます。

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

使用例使用例

コマンド ライン引数からイベント ソースの構成プロパティを設定するコード例を次に示します。入力引数は、イベント ソース名、イベント ログ名、コンピュータ名、およびイベント メッセージ リソース ファイルを指定します。このコード例は、ソースが既存のイベント ソースと競合していないことを確認してから、指定されたイベント ログの新しいイベント ソースを作成します。

Imports System
Imports System.Globalization
Imports System.Diagnostics

Namespace EventLogSamples
    Class CreateSourceSample

        Public Shared Sub
 Main(ByVal args() As String)
        
            Dim mySourceData As EventSourceCreationData
 = new EventSourceCreationData("",
 "")
            Dim registerSource As Boolean
 = True

            ' Process input parameters.
            If args.Length > 0
                ' Require at least the source name.

                mySourceData.Source = args(0)

                If args.Length > 1
   
                    mySourceData.LogName = args(1)
    
                End If
                If args.Length > 2
   
                    mySourceData.MachineName = args(2)
    
                End If
                If args.Length > 3 AndAlso
 args(3).Length > 0
   
                    mySourceData.MessageResourceFile = args(3)
    
                End If

            Else 
                ' Display a syntax help message.
                Console.WriteLine("Input:")
                Console.WriteLine(" source [event log] [machine
 name] [resource file]")

                registerSource = False
            End If

            ' Set defaults for parameters missing input.
            If mySourceData.MachineName.Length = 0
            
                ' Default to the local computer.
                mySourceData.MachineName = "."
            End If
            If mySourceData.LogName.Length = 0
                ' Default to the Application log.
                mySourceData.LogName = "Application"
            End If

            ' Determine if the source exists on the specified computer.
            If Not EventLog.SourceExists(mySourceData.Source,
 _
                                       mySourceData.MachineName)
                ' The source does not exist.  

                ' Verify that the message file exists
                ' and the event log is local.
                If mySourceData.MessageResourceFile <> Nothing
 AndAlso _
                   mySourceData.MessageResourceFile.Length > 0
                   
                    If mySourceData.MachineName = "."
                        If Not System.IO.File.Exists(mySourceData.MessageResourceFile)

                            Console.WriteLine("File {0} not found
 - message file not set for source.", _
                                mySourceData.MessageResourceFile)
                            registerSource = False
                        End If
                    Else
                        ' For simplicity, do not allow setting the message
                        ' file for a remote event log.  To set the message
                        ' for a remote event log, and for source registration
,
                        ' the file path should be specified with system-wide
                        ' environment variables that are valid on the
 remote
                        ' computer, such as
                        ' "%SystemRoot%\system32\myresource.dll".

                        Console.WriteLine("Message resource file
 ignored for remote event log.")
                        registerSource = False

                    End If
                End If
            Else 
                ' Do not register the source, it already exists.
                registerSource = False

                ' Get the event log corresponding to the existing source.
                Dim sourceLog As string
                sourceLog = EventLog.LogNameFromSourceName(mySourceData.Source, _
                                mySourceData.MachineName)

                ' Determine if the event source is registered for the
 
                ' specified log.

                If sourceLog.ToUpper(CultureInfo.InvariantCulture)
 <> mySourceData.LogName.ToUpper(CultureInfo.InvariantCulture)

                    ' An existing source is registered 
                    ' to write to a different event log.

                    Console.WriteLine("Warning: source {0} is
 already registered to write to event log {1}", _
                        mySourceData.Source, sourceLog)
                Else 
                    ' The source is already registered 
                    ' to write to the specified event log.

                    Console.WriteLine("Source {0} already registered
 to write to event log {1}", _
                        mySourceData.Source, sourceLog)

                End If
            End If

            If registerSource
                ' Register the new event source for the specified event
 log.

                Console.WriteLine("Registering new source {0}
 for event log {1}.", _
                    mySourceData.Source, mySourceData.LogName)
                EventLog.CreateEventSource(mySourceData)
                Console.WriteLine("Event source was registered
 successfully!")
            End If

        End Sub 'Main
    End Class 'CreateSourceSample
End Namespace 'EventLogSamples
using System;
using System.Globalization;
using System.Diagnostics;

namespace EventLogSamples
{
    class CreateSourceSample
    {
        [STAThread]
        static void Main(string[]
 args)
        {
            EventSourceCreationData mySourceData = new EventSourceCreationData("",
 "");
            bool registerSource = true;

            // Process input parameters.
            if (args.Length > 0)
            {
                // Require at least the source name.

                mySourceData.Source = args[0];

                if (args.Length > 1)
                {
                    mySourceData.LogName = args[1];
                }

                if (args.Length > 2)
                {
                    mySourceData.MachineName = args[2];
                }
                if ((args.Length > 3) && (args[3].Length
 > 0))
                {
                    mySourceData.MessageResourceFile = args[3];
                }
            }
            else 
            {
                // Display a syntax help message.
                Console.WriteLine("Input:");
                Console.WriteLine(" source [event log] [machine name] [resource
 file]");

                registerSource = false;
            }

            // Set defaults for parameters missing input.
            if (mySourceData.MachineName.Length == 0)
            {
                // Default to the local computer.
                mySourceData.MachineName = ".";
            }
            if (mySourceData.LogName.Length == 0)
            {
                // Default to the Application log.
                mySourceData.LogName = "Application";
            }

            // Determine if the source exists on the specified computer.
            if (!EventLog.SourceExists(mySourceData.Source, 
                                       mySourceData.MachineName))
            {
                // The source does not exist.  

                // Verify that the message file exists
                // and the event log is local.

                if ((mySourceData.MessageResourceFile != null)
 &&
                    (mySourceData.MessageResourceFile.Length > 0))
                {
                    if (mySourceData.MachineName == ".")
 
                    {
                        if (!System.IO.File.Exists(mySourceData.MessageResourceFile))
                        {
                            Console.WriteLine("File {0} not found - message
 file not set for source.",
                                mySourceData.MessageResourceFile);
                            registerSource = false;
                        }
                    }
                    else 
                    {
                        // For simplicity, do not allow setting the
 message
                        // file for a remote event log.  To set the
 message
                        // for a remote event log, and for source registration
,
                        // the file path should be specified with system-wide
                        // environment variables that are valid on the
 remote
                        // computer, such as
                        // "%SystemRoot%\system32\myresource.dll".

                        Console.WriteLine("Message resource file ignored for
 remote event log.");
                        registerSource = false;
                    }
                }
            }
            else
            {
                // Do not register the source, it already exists.
                registerSource = false;

                // Get the event log corresponding to the existing source.
                string sourceLog;
                sourceLog = EventLog.LogNameFromSourceName(mySourceData.Source,
                                mySourceData.MachineName);

                // Determine if the event source is registered for the
 
                // specified log.

                if (sourceLog.ToUpper(CultureInfo.InvariantCulture)
 != mySourceData.LogName.ToUpper(CultureInfo.InvariantCulture)) 
                {
                    // An existing source is registered 
                    // to write to a different event log.
                    Console.WriteLine("Warning: source {0} is already registered
 to write to event log {1}",
                        mySourceData.Source, sourceLog);
                }
                else 
                {
                    // The source is already registered 
                    // to write to the specified event log.

                    Console.WriteLine("Source {0} already registered to write
 to event log {1}",
                        mySourceData.Source, sourceLog);
                }
            }
        

            if (registerSource)
            {
                // Register the new event source for the specified event
 log.

                Console.WriteLine("Registering new source
 {0} for event log {1}.",
                    mySourceData.Source, mySourceData.LogName);
                EventLog.CreateEventSource(mySourceData);
                Console.WriteLine("Event source was registered successfully!");
            }
        }
    }
}
#using <System.dll>

using namespace System;
using namespace System::Globalization;
using namespace System::Diagnostics;

[STAThread]
int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   
   EventSourceCreationData ^ mySourceData = gcnew EventSourceCreationData( "",""
 );
   bool registerSource = true;
   
   // Process input parameters.
   if ( args->Length > 1 )
   {
      
      // Require at least the source name.
      mySourceData->Source = args[ 1 ];
      if ( args->Length > 2 )
      {
         mySourceData->LogName = args[ 2 ];
      }

      if ( args->Length > 3 )
      {
         mySourceData->MachineName = args[ 3 ];
      }

      if ( (args->Length > 4) && (args[ 4 ]->Length
 > 0) )
      {
         mySourceData->MessageResourceFile = args[ 4 ];
      }
   }
   else
   {
      
      // Display a syntax help message.
      Console::WriteLine( "Input:" );
      Console::WriteLine( " source [event log] [machine name] [resource file]"
 );
      registerSource = false;
   }

   
   // Set defaults for parameters missing input.
   if ( mySourceData->MachineName->Length == 0 )
   {
      
      // Default to the local computer.
      mySourceData->MachineName = ".";
   }

   if ( mySourceData->LogName->Length == 0 )
   {
      
      // Default to the Application log.
      mySourceData->LogName = "Application";
   }

   
   // Determine if the source exists on the specified computer.
   if (  !EventLog::SourceExists( mySourceData->Source, mySourceData->MachineName
 ) )
   {
      
      // The source does not exist.  
      // Verify that the message file exists
      // and the event log is local.
      if ( (mySourceData->MessageResourceFile != nullptr) &&
 (mySourceData->MessageResourceFile->Length > 0) )
      {
         if ( mySourceData->MachineName->Equals( "."
 ) )
         {
            if (  !System::IO::File::Exists( mySourceData->MessageResourceFile
 ) )
            {
               Console::WriteLine( "File {0} not found - message file not set
 for source.", mySourceData->MessageResourceFile );
               registerSource = false;
            }
         }
         else
         {
            
            // For simplicity, do not allow setting the message
            // file for a remote event log.  To set the message
            // for a remote event log, and for source registration,
            // the file path should be specified with system-wide
            // environment variables that are valid on the remote
            // computer, such as
            // "%SystemRoot%\system32\myresource.dll".
            Console::WriteLine( "Message resource file ignored for
 remote event log." );
            registerSource = false;
         }
      }
   }
   else
   {
      
      // Do not register the source, it already exists.
      registerSource = false;
      
      // Get the event log corresponding to the existing source.
      String^ sourceLog;
      sourceLog = EventLog::LogNameFromSourceName( mySourceData->Source, mySourceData->MachineName
 );
      
      // Determine if the event source is registered for the 
      // specified log.
      if ( sourceLog->ToUpper( CultureInfo::InvariantCulture
 ) != mySourceData->LogName->ToUpper( CultureInfo::InvariantCulture ) )
      {
         
         // An existing source is registered 
         // to write to a different event log.
         Console::WriteLine( "Warning: source {0} is already registered to write
 to event log {1}", mySourceData->Source, sourceLog );
      }
      else
      {
         
         // The source is already registered 
         // to write to the specified event log.
         Console::WriteLine( "Source {0} already registered to write to event
 log {1}", mySourceData->Source, sourceLog );
      }
   }

   if ( registerSource )
   {
      
      // Register the new event source for the specified event log.
      Console::WriteLine( "Registering new source {0} for
 event log {1}.", mySourceData->Source, mySourceData->LogName );
      EventLog::CreateEventSource( mySourceData );
      Console::WriteLine( "Event source was registered successfully!" );
   }
}

.NET Framework のセキュリティ.NET Framework のセキュリティ
継承階層継承階層
System.Object
  System.Diagnostics.EventSourceCreationData
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
EventSourceCreationData メンバ
System.Diagnostics 名前空間
EventLog クラス
EventLogInstaller クラス

EventSourceCreationData コンストラクタ

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

指定したイベント ソースおよびイベント ログ名を使用して、EventSourceCreationData クラスの新しいインスタンスを初期化します。

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

Public Sub New ( _
    source As String, _
    logName As String _
)
Dim source As String
Dim logName As String

Dim instance As New EventSourceCreationData(source,
 logName)
public EventSourceCreationData (
    string source,
    string logName
)
public:
EventSourceCreationData (
    String^ source, 
    String^ logName
)
public EventSourceCreationData (
    String source, 
    String logName
)
public function EventSourceCreationData (
    source : String, 
    logName : String
)

パラメータ

source

エントリのソースとしてイベント ログに登録する名前。

logName

ソースのエントリが書き込まれるログの名前。

解説解説

エントリをイベント ログに書き込むには、イベント ログのイベント ソースを作成する必要があります。新しいソースを登録するには、EventSourceCreationData インスタンスを初期化して、アプリケーションのインスタンス プロパティを構成し、EventLog.CreateEventSource(EventSourceCreationData) メソッドを呼び出します。ソースが登録されると、WriteEvent または WriteEntry メソッドを使用してソースからエントリを書き込むことができます。

イベント カテゴリおよびメッセージ文字列のローカライズされたリソースにイベント ソースを登録できます。アプリケーションは、実際の文字列を指定するのではなく、リソース識別子を使用してイベント ログ エントリを書き込むことができます。イベント ビューアでは、リソース識別子を使用して、ローカライズされたリソース ファイルから、現在の言語設定に基づく対応する文字列を検索して表示させることができます。イベント カテゴリ、メッセージ、およびパラメータ挿入文字列に個別のファイルを登録することも、この 3 種類の文字列に同じリソース ファイルを登録することもできます。ローカライズされたエントリをイベント ログに書き込むようにソースを構成するには、CategoryCount、CategoryResourceFile、MessageResourceFile、および ParameterResourceFile の各プロパティを使用します。アプリケーションが文字列値を直接イベント ログに書き込む場合、これらのプロパティを設定する必要はありません。

ソースは、ローカライズされたエントリを書き込むか、または直接の文字列を書き込むように構成されている必要があります。アプリケーションがリソース識別子と文字列値の両方を使用してエントリを書き込む場合、2 つの異なるソースを登録する必要があります。たとえば、複数のリソース ファイルを持つ 1 つのソースを構成してから、WriteEvent メソッドでこのソースを使用し、リソース識別子によってエントリをイベント ログに書き込みます。次に、リソース ファイルを使わずに作成した別のソースを WriteEntry メソッドで使用し、文字列を直接イベント ログに書き込みます。

EventSourceCreationData の初期プロパティ値を次の表に示します。

プロパティ

初期値

Source

source パラメータ。

LogName

logName パラメータ。

MachineName

ローカル コンピュータ (".")。

CategoryCount

0

CategoryResourceFile

null 参照 (Visual Basic では Nothing) (Visual Basic の場合は Nothing)。

MessageResourceFile

null 参照 (Visual Basic では Nothing) (Visual Basic の場合は Nothing)。

ParameterResourceFile

null 参照 (Visual Basic では Nothing) (Visual Basic の場合は Nothing)。

使用例使用例

SampleApplicationSource という名前のイベント ソースがローカル コンピュータに登録されているかどうかを確認するコード例を次に示します。この例では、イベント ソースが存在しない場合、ソースに対応するメッセージ リソース ファイルを設定し、新しいイベント ソースを作成します。最後にコード例は、DisplayNameMsgId のリソース識別子の値と messageFile のリソース ファイル パスを使用し、イベント ログに対してローカライズされた表示名を設定します。

Dim myLogName As String
Dim sourceName As String
 = "SampleApplicationSource"

' Create the event source if it does not exist.
If Not EventLog.SourceExists(sourceName)

    ' Create a new event source for the custom event log
    ' named "myNewLog."  

    myLogName = "myNewLog"
    Dim mySourceData As EventSourceCreationData
 = New EventSourceCreationData(sourceName, myLogName)

    ' Set the message resource file that the event source references.
    ' All event resource identifiers correspond to text in this file.
    If Not System.IO.File.Exists(messageFile)

        Console.WriteLine("Input message resource file does not
 exist - {0}", _
            messageFile)
        messageFile = ""
    Else 
        ' Set the specified file as the resource
        ' file for message text, category text and 
        ' message parameters strings.

        mySourceData.MessageResourceFile = messageFile
        mySourceData.CategoryResourceFile = messageFile
        mySourceData.CategoryCount = CategoryCount
        mySourceData.ParameterResourceFile = messageFile

        Console.WriteLine("Event source message resource file
 set to {0}", _
            messageFile)
    End If

    Console.WriteLine("Registering new source for event log.")
    EventLog.CreateEventSource(mySourceData)
Else
    ' Get the event log corresponding to the existing source.
    myLogName = EventLog.LogNameFromSourceName(sourceName,".")
End If

' Register the localized name of the event log.
' For example, the actual name of the event log is "myNewLog,"
 but
' the event log name displayed in the Event Viewer might be
' "Sample Application Log" or some other application-specific
' text.
Dim myEventLog As EventLog = New
 EventLog(myLogName, ".", sourceName)

If messageFile.Length > 0
    myEventLog.RegisterDisplayName(messageFile, DisplayNameMsgId)
End If

string myLogName;
string sourceName = "SampleApplicationSource";

// Create the event source if it does not exist.
if(!EventLog.SourceExists(sourceName))
{
    // Create a new event source for the custom event log
    // named "myNewLog."  

    myLogName = "myNewLog";
    EventSourceCreationData mySourceData = new EventSourceCreationData(sourceName,
 myLogName);

    // Set the message resource file that the event source references.
    // All event resource identifiers correspond to text in this file.
    if (!System.IO.File.Exists(messageFile))
    {
        Console.WriteLine("Input message resource file does not exist - {0}",
 
            messageFile);
        messageFile = "";
    }
    else 
    {
        // Set the specified file as the resource
        // file for message text, category text, and 
        // message parameter strings.  

        mySourceData.MessageResourceFile = messageFile;
        mySourceData.CategoryResourceFile = messageFile;
        mySourceData.CategoryCount = CategoryCount;
        mySourceData.ParameterResourceFile = messageFile;

        Console.WriteLine("Event source message resource file set
 to {0}", 
            messageFile);
    }

    Console.WriteLine("Registering new source for
 event log.");
    EventLog.CreateEventSource(mySourceData);
}
else
{
    // Get the event log corresponding to the existing source.
    myLogName = EventLog.LogNameFromSourceName(sourceName,".");
}

// Register the localized name of the event log.
// For example, the actual name of the event log is "myNewLog,"
 but
// the event log name displayed in the Event Viewer might be
// "Sample Application Log" or some other application-specific
// text.
EventLog myEventLog = new EventLog(myLogName, ".", sourceName);

if (messageFile.Length > 0)
{
    myEventLog.RegisterDisplayName(messageFile, DisplayNameMsgId);
}
String^ myLogName;
String^ sourceName = "SampleApplicationSource";

// Create the event source if it does not exist.
if (  !EventLog::SourceExists( sourceName ) )
{
   
   // Create a new event source for the custom event log
   // named "myNewLog."  
   myLogName = "myNewLog";
   EventSourceCreationData ^ mySourceData = gcnew EventSourceCreationData( sourceName,myLogName
 );
   
   // Set the message resource file that the event source references.
   // All event resource identifiers correspond to text in this file.
   if (  !System::IO::File::Exists( messageFile ) )
   {
      Console::WriteLine( "Input message resource file does not exist - {0}",
 messageFile );
      messageFile = "";
   }
   else
   {
      
      // Set the specified file as the resource
      // file for message text, category text, and 
      // message parameter strings.  
      mySourceData->MessageResourceFile = messageFile;
      mySourceData->CategoryResourceFile = messageFile;
      mySourceData->CategoryCount = CategoryCount;
      mySourceData->ParameterResourceFile = messageFile;
      Console::WriteLine( "Event source message resource file set
 to {0}", messageFile );
   }

   Console::WriteLine( "Registering new source for
 event log." );
   EventLog::CreateEventSource( mySourceData );
}
else
{
   
   // Get the event log corresponding to the existing source.
   myLogName = EventLog::LogNameFromSourceName( sourceName, "." );
}


// Register the localized name of the event log.
// For example, the actual name of the event log is "myNewLog,"
 but
// the event log name displayed in the Event Viewer might be
// "Sample Application Log" or some other application-specific
// text.
EventLog^ myEventLog = gcnew EventLog( myLogName,".",sourceName );
if ( messageFile->Length > 0 )
{
   myEventLog->RegisterDisplayName( messageFile, DisplayNameMsgId );
}   

コード例では、リソース ライブラリ 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
.
.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
EventSourceCreationData クラス
EventSourceCreationData メンバ
System.Diagnostics 名前空間
Source
LogName

EventSourceCreationData プロパティ


EventSourceCreationData メソッド


EventSourceCreationData メンバ

ローカル コンピュータまたはリモート コンピュータでイベント ログ ソースを作成するために使用される構成設定を表します。

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


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド EventSourceCreationData 指定したイベント ソースおよびイベント ログ名を使用して、EventSourceCreationData クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

EventSourceCreationData クラス
System.Diagnostics 名前空間
EventLog クラス
EventLogInstaller クラス



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「EventSourceCreationData」の関連用語

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

   

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



EventSourceCreationDataのページの著作権

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

©2026 GRAS Group, Inc.RSS