次の方法で共有


EventLog.DeleteEventSource メソッド

定義

イベント ログからアプリケーションのイベント ソース登録を削除します。

オーバーロード

DeleteEventSource(String)

ローカル コンピューターのイベント ログからイベント ソースの登録を削除します。

DeleteEventSource(String, String)

指定したコンピューターからアプリケーションのイベント ソース登録を削除します。

DeleteEventSource(String)

ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs

ローカル コンピューターのイベント ログからイベント ソースの登録を削除します。

public:
 static void DeleteEventSource(System::String ^ source);
public static void DeleteEventSource (string source);
static member DeleteEventSource : string -> unit
Public Shared Sub DeleteEventSource (source As String)

パラメーター

source
String

イベント ログ システムにアプリケーションを登録するときに使用する名前。

例外

ローカル コンピューターのレジストリに source パラメーターがありません。

- または -

イベント ログのレジストリ キーに対する書き込みアクセス許可がありません。

次の例では、ローカル コンピューターからソースを削除します。 この例では、ソースからログを決定し、ログを削除します。

注意

複数のソースがイベント ログに書き込む場合があります。 カスタム ログを削除する前に、そのログに書き込む他のソースがないことを確認してください。

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
   String^ logName;
   if ( EventLog::SourceExists( "MySource" ) )
   {
      
      // Find the log associated with this source.    
      logName = EventLog::LogNameFromSourceName( "MySource", "." );
      // Make sure the source is in the log we believe it to be in
      if (logName != "MyLog")
          return -1;
      // Delete the source and the log.
      EventLog::DeleteEventSource( "MySource" );
      EventLog::Delete( logName );
      Console::WriteLine( "{0} deleted.", logName );
   }
   else
        {
            // Create the event source to make next try successful.
            EventLog::CreateEventSource("MySource", "MyLog");
        }
}
using System;
using System.Diagnostics;
using System.Threading;

class MySample1
{
    public static void Main()
    {
        string logName;

        if (EventLog.SourceExists("MySource"))
        {
            // Find the log associated with this source.
            logName = EventLog.LogNameFromSourceName("MySource", ".");
            // Make sure the source is in the log we believe it to be in.
            if (logName != "MyLog")
                return;
            // Delete the source and the log.
            EventLog.DeleteEventSource("MySource");
            EventLog.Delete(logName);

            Console.WriteLine(logName + " deleted.");
        }
        else
        {
            // Create the event source to make next try successful.
            EventLog.CreateEventSource("MySource", "MyLog");
        }
    }
}
Option Explicit On
Option Strict On

Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        Dim logName As String

        If EventLog.SourceExists("MySource") Then
            ' Find the log associated with this source.    
            logName = EventLog.LogNameFromSourceName("MySource", ".")
            ' Make sure the source is in the log we believe it to be in
            If (logName <> "MyLog") Then
                Return
            End If
            ' Delete the source and the log.
            EventLog.DeleteEventSource("MySource")
            EventLog.Delete(logName)

            Console.WriteLine((logName & " deleted."))
        Else
            ' Create the event source to make next try successful.
            EventLog.CreateEventSource("MySource", "MyLog")
        End If
    End Sub
End Class

注釈

ローカル コンピューターから の Source 登録を削除するには、このメソッドを使用します。 DeleteEventSource はローカル コンピューター上のレジストリにアクセスし、イベントの有効なソースとしてアプリケーションの登録を削除します。

そのログにエントリを書き込む必要がなくなった場合は、イベントの有効なソースとしてコンポーネントを削除できます。 たとえば、あるログから別のログにコンポーネントを変更する必要がある場合に、これを行うことができます。 ソースは一度に 1 つのログにのみ登録できるため、ログを変更するには、現在の登録を削除する必要があります。

DeleteEventSource は、ログに登録されているソースのみを削除します。 ログ自体を削除する場合は、 を呼び出します Delete。 ログ エントリのみを削除する場合は、 を呼び出します ClearDeleteDeleteEventSourcestatic メソッドであるため、クラス自体で呼び出すことができます。 どちらのメソッドも呼び出すために の EventLog インスタンスを作成する必要はありません。

を呼び出してログを Delete 削除すると、そのログに登録されているソースが自動的に削除されます。 これにより、そのログを使用する他のアプリケーションが動作不能になる可能性があります。

注意

ソースが既にログにマップされていて、それを新しいログに再マップする場合は、変更を有効にするためにコンピューターを再起動する必要があります。

こちらもご覧ください

適用対象

DeleteEventSource(String, String)

ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs

指定したコンピューターからアプリケーションのイベント ソース登録を削除します。

public:
 static void DeleteEventSource(System::String ^ source, System::String ^ machineName);
public static void DeleteEventSource (string source, string machineName);
static member DeleteEventSource : string * string -> unit
Public Shared Sub DeleteEventSource (source As String, machineName As String)

パラメーター

source
String

イベント ログ システムにアプリケーションを登録するときに使用する名前。

machineName
String

登録を削除するコンピューターの名前。ローカル コンピューターの場合は "."。

例外

machineName パラメーターが正しくありません。

- または -

指定したコンピューターのレジストリに source パラメーターがありません。

- または -

イベント ログのレジストリ キーに対する書き込みアクセス許可がありません。

レジストリで source の親レジストリ キーに同じ名前のサブキーが含まれないため、source は削除できません。

次の例では、指定したコンピューターからソースを削除します。 この例では、ソースからログを決定し、ログを削除します。

注意

複数のソースがイベント ログに書き込む場合があります。 カスタム ログを削除する前に、そのログに書き込む他のソースがないことを確認してください。

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
   String^ logName;
   if ( EventLog::SourceExists( "MySource", "MyMachine") )
   {
      
      // Find the log associated with this source.    
      logName = EventLog::LogNameFromSourceName( "MySource", "MyMachine" );
      // Make sure the source is in the log we believe it to be in
      if (logName != "MyLog")
          return -1;
      // Delete the source and the log.
      EventLog::DeleteEventSource( "MySource", "MyMachine" );
      EventLog::Delete( logName, "MyMachine" );
      Console::WriteLine( "{0} deleted.", logName );
   }
   else
        {
            // Create the event source to make next try successful.
            EventSourceCreationData^ mySourceData = gcnew EventSourceCreationData("MySource", "MyLog");
            mySourceData->MachineName = "MyMachine";
            EventLog::CreateEventSource(mySourceData);
        }
}
using System;
using System.Diagnostics;
using System.Threading;

class MySample
{
    public static void Main()
    {
        string logName;

        if (EventLog.SourceExists("MySource", "MyMachine"))
        {
            // Find the log associated with this source.
            logName = EventLog.LogNameFromSourceName("MySource", "MyMachine");
            // Make sure the source is in the log we believe it to be in.
            if (logName != "MyLog")
                return;
            // Delete the source and the log.
            EventLog.DeleteEventSource("MySource", "MyMachine");
            EventLog.Delete(logName, "MyMachine");

            Console.WriteLine(logName + " deleted.");
        }
        else
        {
            // Create the event source to make next try successful.
            EventSourceCreationData mySourceData = new EventSourceCreationData("MySource", "MyLog");
            mySourceData.MachineName = "MyMachine";
            EventLog.CreateEventSource(mySourceData);
        }
    }
}
Option Explicit On
Option Strict On

Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        Dim logName As String

        If EventLog.SourceExists("MySource", "MyMachine") Then
            ' Find the log associated with this source.    
            logName = EventLog.LogNameFromSourceName("MySource", "MyMachine")
            ' Make sure the source is in the log we believe it to be in
            If (logName <> "MyLog") Then
                Return
            End If
            ' Delete the source and the log.
            EventLog.DeleteEventSource("MySource", "MyMachine")
            EventLog.Delete(logName, "MyMachine")

            Console.WriteLine((logName & " deleted."))
        Else
            ' Create the event source to make next try successful.
            Dim mySourceData As New EventSourceCreationData("MySource", "MyLog")
            mySourceData.MachineName = "MyMachine"
            EventLog.CreateEventSource(mySourceData)
        End If
    End Sub
End Class

注釈

リモート コンピューターから の Source 登録を削除するには、このオーバーロードを使用します。 DeleteEventSource は、 によって machineName 指定されたコンピューター上のレジストリにアクセスし、イベントの有効なソースとしてアプリケーションの登録を削除します。

そのログにエントリを書き込む必要がなくなった場合は、イベントの有効なソースとしてコンポーネントを削除できます。 たとえば、あるログから別のログにコンポーネントを変更する必要がある場合に、これを行うことができます。 ソースは一度に 1 つのログにのみ登録できるため、ログを変更するには、現在の登録を削除する必要があります。

DeleteEventSource は、ログに登録されているソースのみを削除します。 ログ自体を削除する場合は、 を呼び出します Delete。 ログ エントリのみを削除する場合は、 を呼び出します ClearDeleteDeleteEventSourcestatic メソッドであるため、クラス自体で呼び出すことができます。 どちらのメソッドも呼び出すために の EventLog インスタンスを作成する必要はありません。

を呼び出してログを Delete 削除すると、そのログに登録されているソースが自動的に削除されます。 これにより、そのログを使用する他のアプリケーションが動作不能になる可能性があります。

注意

ソースが既にログにマップされていて、それを新しいログに再マップする場合は、変更を有効にするためにコンピューターを再起動する必要があります。

こちらもご覧ください

適用対象